1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

addons: addressvirtual: if device is VRF slave check vrf route table

auto bridge
iface bridge
      bridge-vlan-aware yes
      bridge-ports swp2

auto bridge.2
iface bridge.2
      address 10.254.1.2/24
      address 2a03:25e0:254:1::2/64
      address-virtual 00:00:5e:00:01:01 10.254.1.1/24 2a03:25e0:254:1::1/64 fe80::1/64
      vrf blue

auto blue
iface blue
      vrf-table auto

$ ifreload -a -v
...
info: executing /bin/ip route get 10.254.1.0/24 vrf blue
...
$

Reviewed-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
This commit is contained in:
Julien Fortin
2018-06-15 17:59:19 +02:00
parent db61a1a8a0
commit aa895ecddf
2 changed files with 14 additions and 4 deletions

View File

@@ -134,7 +134,13 @@ class addressvirtual(moduleBase):
route_prefix = '%s/%d' %(ip.network, ip.prefixlen)
dev = self.ipcmd.ip_route_get_dev(route_prefix)
if ifaceobj.link_privflags & ifaceLinkPrivFlags.VRF_SLAVE:
vrf_master = self.ipcmd.link_get_master(ifaceobj.name)
else:
vrf_master = None
dev = self.ipcmd.ip_route_get_dev(route_prefix, vrf_master=vrf_master)
if dev and dev != ifaceobj.name:
self.logger.info('%s: preferred routing entry ' %ifaceobj.name +
'seems to be of the macvlan dev %s'