summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto')
-rw-r--r--proto/babel/babel.c2
-rw-r--r--proto/bgp/packets.c2
-rw-r--r--proto/ospf/iface.c4
-rw-r--r--proto/radv/radv.c2
-rw-r--r--proto/rip/rip.c2
5 files changed, 6 insertions, 6 deletions
diff --git a/proto/babel/babel.c b/proto/babel/babel.c
index 7f0cca73..4187d258 100644
--- a/proto/babel/babel.c
+++ b/proto/babel/babel.c
@@ -2062,7 +2062,7 @@ babel_reconfigure_ifaces(struct babel_proto *p, struct babel_config *cf)
WALK_LIST(iface, iface_list)
{
- if (p->p.vrf_set && p->p.vrf != iface->master)
+ if (p->p.vrf_set && !if_in_vrf(iface, p->p.vrf))
continue;
if (!(iface->flags & IF_UP))
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index ee98115d..dc52e805 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -1179,7 +1179,7 @@ bgp_use_gateway(struct bgp_export_state *s)
return 0;
/* Do not use gateway from different VRF */
- if (p->p.vrf_set && ra->nh.iface && (p->p.vrf != ra->nh.iface->master))
+ if (p->p.vrf_set && ra->nh.iface && !if_in_vrf(ra->nh.iface, p->p.vrf))
return 0;
/* Use it when exported to internal peers */
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c
index 87e3d95e..dd922b00 100644
--- a/proto/ospf/iface.c
+++ b/proto/ospf/iface.c
@@ -1227,7 +1227,7 @@ ospf_reconfigure_ifaces2(struct ospf_proto *p)
WALK_LIST(iface, iface_list)
{
- if (p->p.vrf_set && p->p.vrf != iface->master)
+ if (p->p.vrf_set && !if_in_vrf(iface, p->p.vrf))
continue;
if (! (iface->flags & IF_UP))
@@ -1276,7 +1276,7 @@ ospf_reconfigure_ifaces3(struct ospf_proto *p)
WALK_LIST(iface, iface_list)
{
- if (p->p.vrf_set && p->p.vrf != iface->master)
+ if (p->p.vrf_set && !if_in_vrf(iface, p->p.vrf))
continue;
if (! (iface->flags & IF_UP))
diff --git a/proto/radv/radv.c b/proto/radv/radv.c
index 119a8dc4..ba31e1a8 100644
--- a/proto/radv/radv.c
+++ b/proto/radv/radv.c
@@ -663,7 +663,7 @@ radv_reconfigure(struct proto *P, struct proto_config *CF)
struct iface *iface;
WALK_LIST(iface, iface_list)
{
- if (p->p.vrf_set && p->p.vrf != iface->master)
+ if (p->p.vrf_set && !if_in_vrf(iface, p->p.vrf))
continue;
if (!(iface->flags & IF_UP))
diff --git a/proto/rip/rip.c b/proto/rip/rip.c
index 8c2d5aeb..1c3509e4 100644
--- a/proto/rip/rip.c
+++ b/proto/rip/rip.c
@@ -797,7 +797,7 @@ rip_reconfigure_ifaces(struct rip_proto *p, struct rip_config *cf)
WALK_LIST(iface, iface_list)
{
- if (p->p.vrf_set && p->p.vrf != iface->master)
+ if (p->p.vrf_set && !if_in_vrf(iface, p->p.vrf))
continue;
if (!(iface->flags & IF_UP))