func setupNetworking(args *ContainerInitArgs) error { // loopback iface, err := net.InterfaceByName("lo") if err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } if err := netlink.NetworkLinkUp(iface); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } if args.ip != "" { if iface, err = net.InterfaceByName("eth0"); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } ip, ipNet, err := net.ParseCIDR(args.ip) if err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } if err := netlink.NetworkLinkAddIp(iface, ip, ipNet); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } if args.gateway != "" { if err := netlink.AddDefaultGw(args.gateway, "eth0"); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } } if err := netlink.NetworkLinkUp(iface); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } } return nil }
func setupNetworking(c *Config) error { if c.IP == "" { return nil } // loopback iface, err := net.InterfaceByName("lo") if err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } if err := netlink.NetworkLinkUp(iface); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } if iface, err = net.InterfaceByName("eth0"); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } ip, ipNet, err := net.ParseCIDR(c.IP) if err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } if err := netlink.NetworkLinkAddIp(iface, ip, ipNet); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } if c.Gateway != "" { if err := netlink.AddDefaultGw(c.Gateway, "eth0"); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } } if err := netlink.NetworkLinkUp(iface); err != nil { return fmt.Errorf("Unable to set up networking: %v", err) } return nil }