Пример #1
0
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)
Пример #2
0
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)
Пример #4
0
 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])
Пример #5
0
 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])
Пример #6
0
 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")
Пример #7
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')
Пример #8
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')
Пример #9
0
    def configureSourceRoute(routes, rules, device):
        for route in routes:
            routeAdd(route)

        for rule in rules:
            ruleAdd(rule)
Пример #10
0
    def configureSourceRoute(routes, rules, device):
        for route in routes:
            routeAdd(route)

        for rule in rules:
            ruleAdd(rule)