From b40774bb02ed6d0335013e816c8809504b3ecfae Mon Sep 17 00:00:00 2001 From: Madhu Venugopal Date: Thu, 18 Jun 2015 18:49:34 -0700 Subject: [PATCH] Fix endpoint ip data-store sync issue Signed-off-by: Madhu Venugopal --- libnetwork/endpoint_info.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libnetwork/endpoint_info.go b/libnetwork/endpoint_info.go index e45ab1cd01..6c0e117132 100644 --- a/libnetwork/endpoint_info.go +++ b/libnetwork/endpoint_info.go @@ -84,13 +84,15 @@ func (epi *endpointInterface) UnmarshalJSON(b []byte) (err error) { mac, _ := net.ParseMAC(epMap["mac"].(string)) epi.mac = mac - _, ipnet, _ := net.ParseCIDR(epMap["addr"].(string)) + ip, ipnet, _ := net.ParseCIDR(epMap["addr"].(string)) if ipnet != nil { + ipnet.IP = ip epi.addr = *ipnet } - _, ipnet, _ = net.ParseCIDR(epMap["addrv6"].(string)) + ip, ipnet, _ = net.ParseCIDR(epMap["addrv6"].(string)) if ipnet != nil { + ipnet.IP = ip epi.addrv6 = *ipnet } @@ -102,8 +104,9 @@ func (epi *endpointInterface) UnmarshalJSON(b []byte) (err error) { json.Unmarshal(rb, &routes) epi.routes = make([]*net.IPNet, 0) for _, route := range routes { - _, ipr, err := net.ParseCIDR(route) + ip, ipr, err := net.ParseCIDR(route) if err == nil { + ipr.IP = ip epi.routes = append(epi.routes, ipr) } }