Don't error on bridge address already there

This commit is contained in:
Bryan Boreham committed 2016-11-14 12:37:42 +00:00
1 parent ad743b0e96
commit 2b4d13c5b1
1 file changed
+6
+6
View File
@@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"net"
"syscall"
"github.com/appc/cni/pkg/ipam"
"github.com/appc/cni/pkg/skel"
@@ -150,6 +151,11 @@ func assignBridgeIP(bridgeName string, ipnet net.IPNet) error {
return err
}
if err := netlink.AddrAdd(link, &netlink.Addr{IPNet: &ipnet}); err != nil {
// Treat as non-error if this address is already there
// - maybe another copy of this program just added it
if err == syscall.Errno(syscall.EEXIST) {
return nil
}
return fmt.Errorf("failed to add IP address to %q: %v", bridgeName, err)
}
return nil