try:
import ifupdown2.ifupdown.policymanager as policymanager
import ifupdown2.ifupdown.ifupdownflags as ifupdownflags
+ from ifupdown2.ifupdown.statemanager import statemanager_api as statemanager
from ifupdown2.ifupdown.iface import *
from ifupdown2.ifupdown.utils import utils
except ImportError:
import ifupdown.policymanager as policymanager
import ifupdown.ifupdownflags as ifupdownflags
+ from ifupdown.statemanager import statemanager_api as statemanager
from ifupdown.iface import *
from ifupdown.utils import utils
break
self._handle_existing_connections(ifaceobj, vrfname)
self.ipcmd.link_set(ifacename, 'master', vrfname)
+ self.enable_ipv6(ifacename)
return
+ def enable_ipv6(self, ifname):
+ """
+ Only enable ipv6 on former bridge port
+ - workaround for intf moved from bridge port to VRF slave
+ """
+ try:
+ for ifaceobj in statemanager.get_ifaceobjs(ifname) or []:
+ if ifaceobj.link_privflags & ifaceLinkPrivFlags.BRIDGE_PORT:
+ self.write_file("/proc/sys/net/ipv6/conf/%s/disable_ipv6" % ifname, "0")
+ return
+ except Exception, e:
+ self.logger.info(str(e))
+
def _down_dhcp_slave(self, ifaceobj, vrfname):
try:
dhclient_cmd_prefix = None
del odict['env']
del odict['link_type']
del odict['link_kind']
- del odict['link_privflags']
+ #del odict['link_privflags']
del odict['role']
del odict['dependency_type']
del odict['blacklisted']
return odict
def __setstate__(self, dict):
- self.__dict__.update(dict)
self._config_status = {}
self.state = ifaceState.NEW
self.status = ifaceStatus.UNKNOWN
self.link_privflags = ifaceLinkPrivFlags.UNKNOWN
self.dependency_type = ifaceDependencyType.UNKNOWN
self.blacklisted = False
+ self.__dict__.update(dict)
def dump_raw(self, logger):
indent = ' '