if running_table:
ifaceobjrunning.update_config('vrf-table',
running_table)
- elif kind == 'vrf_slave':
+ return
+ slave_kind = self.ipcmd.link_get_slave_kind(ifaceobjrunning.name)
+ if slave_kind == 'vrf_slave':
vrf = self.ipcmd.link_get_master(ifaceobjrunning.name)
if vrf:
ifaceobjrunning.update_config('vrf', vrf)
linkattrs['kind'] = 'vrf'
linkCache.vrfs[ifname] = vattrs
break
+ elif citems[i] == 'veth':
+ linkattrs['kind'] = 'veth'
elif citems[i] == 'vrf_slave':
- linkattrs['kind'] = 'vrf_slave'
+ linkattrs['slave_kind'] = 'vrf_slave'
break
elif citems[i] == 'macvlan' and citems[i + 1] == 'mode':
linkattrs['kind'] = 'macvlan'
def link_get_kind(self, ifacename):
return self._cache_get('link', [ifacename, 'kind'])
+ def link_get_slave_kind(self, ifacename):
+ return self._cache_get('link', [ifacename, 'slave_kind'])
+
def link_get_hwaddress(self, ifacename):
address = self._cache_get('link', [ifacename, 'hwaddress'])
# newly created logical interface addresses dont end up in the cache