plugins/ptp: set the host veth hwaddr correctly
authorStefan Junker <mail@stefanjunker.de>
Wed, 29 Jun 2016 22:15:30 +0000 (15:15 -0700)
committerStefan Junker <mail@stefanjunker.de>
Fri, 22 Jul 2016 22:34:54 +0000 (15:34 -0700)
plugins/main/ptp/ptp.go

index cdb3536..014b472 100644 (file)
@@ -64,11 +64,14 @@ func setupContainerVeth(netns, ifName string, mtu int, pr *types.Result) (string
                        return err
                }
 
-               hostVethName = hostVeth.Attrs().Name
+               hostNS.Do(func(_ ns.NetNS) error {
+                       hostVethName = hostVeth.Attrs().Name
+                       if err := ip.SetHWAddrByIP(hostVethName, pr.IP4.IP.IP, nil /* TODO IPv6 */); err != nil {
+                               return fmt.Errorf("failed to set hardware addr by IP: %v", err)
+                       }
 
-               if err := ip.SetHWAddrByIP(hostVethName, pr.IP4.IP.IP, nil /* TODO IPv6 */); err != nil {
-                       return fmt.Errorf("failed to set hardware addr by IP: %v", err)
-               }
+                       return nil
+               })
 
                if err = ipam.ConfigureIface(ifName, pr); err != nil {
                        return err