def _set_network_ip_config(ip_config): """Set IP configuration on Vdsm controlled OVS network""" iface = ip_config.top_dev ipv4 = ip_config.ipv4 ipv6 = ip_config.ipv6 port = ip_config.port blocking_dhcp = ip_config.blocking_dhcp net_dev = NetDevice(iface, iproute2, ipv4=ipv4, ipv6=ipv6, blockingdhcp=blocking_dhcp) DynamicSourceRoute.addInterfaceTracking(net_dev) ipwrapper.linkSet(iface, ['down']) if ipv4.address: ipwrapper.addrAdd(iface, ipv4.address, ipv4.netmask) if ipv4.gateway and ipv4.defaultRoute: ipwrapper.routeAdd(['default', 'via', ipv4.gateway]) if ipv6.address or ipv6.ipv6autoconf or ipv6.dhcpv6: sysctl.disable_ipv6(iface, disable=False) else: sysctl.disable_ipv6(iface) if ipv6.address: ipv6addr, ipv6netmask = ipv6.address.split('/') ipwrapper.addrAdd(iface, ipv6addr, ipv6netmask, family=6) if ipv6.gateway: ipwrapper.routeAdd(['default', 'via', ipv6.gateway], dev=iface, family=6) ipwrapper.linkSet(port, ['up']) ipwrapper.linkSet(iface, ['up']) if ipv4.bootproto == 'dhcp': _run_dhclient(iface, blocking_dhcp, ipv4.defaultRoute, 4) if ipv6.dhcpv6: _run_dhclient(iface, blocking_dhcp, ipv6.defaultRoute, 6) iproute2._addSourceRoute(net_dev)
def _set_ip_config(iface, ipv4, ipv6, port, blockingdhcp): net_dev = NetDevice(iface, iproute2, ipv4=ipv4, ipv6=ipv6, blockingdhcp=blockingdhcp) DynamicSourceRoute.addInterfaceTracking(net_dev) ipwrapper.linkSet(iface, ['down']) if ipv4.address: ipwrapper.addrAdd(iface, ipv4.address, ipv4.netmask) if ipv4.gateway and ipv4.defaultRoute: ipwrapper.routeAdd(['default', 'via', ipv4.gateway]) if ipv6.address or ipv6.ipv6autoconf or ipv6.dhcpv6: sysctl.disable_ipv6(iface, disable=False) else: sysctl.disable_ipv6(iface) if ipv6.address: ipv6addr, ipv6netmask = ipv6.address.split('/') ipwrapper.addrAdd(iface, ipv6addr, ipv6netmask, family=6) if ipv6.gateway: ipwrapper.routeAdd(['default', 'via', ipv6.gateway], dev=iface, family=6) ipwrapper.linkSet(port, ['up']) ipwrapper.linkSet(iface, ['up']) if ipv4.bootproto == 'dhcp': _run_dhclient(iface, blockingdhcp, ipv4.defaultRoute, 4) if ipv6.dhcpv6: _run_dhclient(iface, blockingdhcp, ipv6.defaultRoute, 6) iproute2._addSourceRoute(net_dev)
def _set_ip_config(ip_config): iface = ip_config.top_dev ipv4 = ip_config.ipv4 ipv6 = ip_config.ipv6 port = ip_config.port blocking_dhcp = ip_config.blocking_dhcp net_dev = NetDevice(iface, iproute2, ipv4=ipv4, ipv6=ipv6, blockingdhcp=blocking_dhcp) DynamicSourceRoute.addInterfaceTracking(net_dev) ipwrapper.linkSet(iface, ["down"]) if ipv4.address: ipwrapper.addrAdd(iface, ipv4.address, ipv4.netmask) if ipv4.gateway and ipv4.defaultRoute: ipwrapper.routeAdd(["default", "via", ipv4.gateway]) if ipv6.address or ipv6.ipv6autoconf or ipv6.dhcpv6: sysctl.disable_ipv6(iface, disable=False) else: sysctl.disable_ipv6(iface) if ipv6.address: ipv6addr, ipv6netmask = ipv6.address.split("/") ipwrapper.addrAdd(iface, ipv6addr, ipv6netmask, family=6) if ipv6.gateway: ipwrapper.routeAdd(["default", "via", ipv6.gateway], dev=iface, family=6) ipwrapper.linkSet(port, ["up"]) ipwrapper.linkSet(iface, ["up"]) if ipv4.bootproto == "dhcp": _run_dhclient(iface, blocking_dhcp, ipv4.defaultRoute, 4) if ipv6.dhcpv6: _run_dhclient(iface, blocking_dhcp, ipv6.defaultRoute, 6) iproute2._addSourceRoute(net_dev)
def _setIpConfig(self, iface): ipConfig = iface.ipConfig if ipConfig.ipaddr: self.removeIpConfig(iface) ipwrapper.addrAdd(iface.name, ipConfig.ipaddr, ipConfig.netmask) if ipConfig.gateway and ipConfig.defaultRoute: ipwrapper.routeAdd(['default', 'via', ipConfig.gateway])
def _setIpConfig(self, iface): ipConfig = iface.ipConfig if ipConfig.ipaddr: self.removeIpConfig(iface) with self.ip.interfaces[iface.name] as i: i.add_ip('%s/%s' % (ipConfig.ipaddr, ipConfig.netmask)) if ipConfig.gateway and ipConfig.defaultRoute: ipwrapper.routeAdd(['default', 'via', ipConfig.gateway])
def _setIpConfig(self, iface): ipv4 = iface.ipv4 ipv6 = iface.ipv6 if ipv4.address or ipv6.address: self.removeIpConfig(iface) if ipv4.address: ipwrapper.addrAdd(iface.name, ipv4.address, ipv4.netmask) if ipv4.gateway and ipv4.defaultRoute: ipwrapper.routeAdd(["default", "via", ipv4.gateway]) if ipv6.address: ipv6addr, ipv6netmask = ipv6.address.split("/") ipwrapper.addrAdd(iface.name, ipv6addr, ipv6netmask, family=6) if ipv6.gateway: ipwrapper.routeAdd(["default", "via", ipv6.gateway], dev=iface.name, family=6) if ipv6.ipv6autoconf is not None: with open("/proc/sys/net/ipv6/conf/%s/autoconf" % iface.name, "w") as ipv6_autoconf: ipv6_autoconf.write("1" if ipv6.ipv6autoconf else "0")
def _setIpConfig(self, iface): ipConfig = iface.ipConfig if ipConfig.ipaddr or ipConfig.ipv6addr: self.removeIpConfig(iface) if ipConfig.ipaddr: ipwrapper.addrAdd(iface.name, ipConfig.ipaddr, ipConfig.netmask) if ipConfig.gateway and ipConfig.defaultRoute: ipwrapper.routeAdd(['default', 'via', ipConfig.gateway]) if ipConfig.ipv6addr: ipv6addr, ipv6netmask = ipConfig.ipv6addr.split('/') ipwrapper.addrAdd(iface.name, ipv6addr, ipv6netmask, family=6) if ipConfig.ipv6gateway: ipwrapper.routeAdd(['default', 'via', ipConfig.ipv6gateway], dev=iface.name, family=6) if ipConfig.ipv6autoconf is not None: with open('/proc/sys/net/ipv6/conf/%s/autoconf' % iface.name, 'w') as ipv6_autoconf: ipv6_autoconf.write('1' if ipConfig.ipv6autoconf else '0')
def configureSourceRoute(routes, rules, device): for route in routes: routeAdd(route) for rule in rules: ruleAdd(rule)