Просмотр исходного кода

Merge pull request #316 from mavenugo/epip

Fix endpoint ip data-store sync issue
Jana Radhakrishnan 10 лет назад
Родитель
Сommit
28091d1d4d
1 измененных файлов с 6 добавлено и 3 удалено
  1. 6 3
      libnetwork/endpoint_info.go

+ 6 - 3
libnetwork/endpoint_info.go

@@ -84,13 +84,15 @@ func (epi *endpointInterface) UnmarshalJSON(b []byte) (err error) {
 	mac, _ := net.ParseMAC(epMap["mac"].(string))
 	mac, _ := net.ParseMAC(epMap["mac"].(string))
 	epi.mac = mac
 	epi.mac = mac
 
 
-	_, ipnet, _ := net.ParseCIDR(epMap["addr"].(string))
+	ip, ipnet, _ := net.ParseCIDR(epMap["addr"].(string))
 	if ipnet != nil {
 	if ipnet != nil {
+		ipnet.IP = ip
 		epi.addr = *ipnet
 		epi.addr = *ipnet
 	}
 	}
 
 
-	_, ipnet, _ = net.ParseCIDR(epMap["addrv6"].(string))
+	ip, ipnet, _ = net.ParseCIDR(epMap["addrv6"].(string))
 	if ipnet != nil {
 	if ipnet != nil {
+		ipnet.IP = ip
 		epi.addrv6 = *ipnet
 		epi.addrv6 = *ipnet
 	}
 	}
 
 
@@ -102,8 +104,9 @@ func (epi *endpointInterface) UnmarshalJSON(b []byte) (err error) {
 	json.Unmarshal(rb, &routes)
 	json.Unmarshal(rb, &routes)
 	epi.routes = make([]*net.IPNet, 0)
 	epi.routes = make([]*net.IPNet, 0)
 	for _, route := range routes {
 	for _, route := range routes {
-		_, ipr, err := net.ParseCIDR(route)
+		ip, ipr, err := net.ParseCIDR(route)
 		if err == nil {
 		if err == nil {
+			ipr.IP = ip
 			epi.routes = append(epi.routes, ipr)
 			epi.routes = append(epi.routes, ipr)
 		}
 		}
 	}
 	}