aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--proto/babel/babel.c3
-rw-r--r--proto/ospf/iface.c6
-rw-r--r--proto/radv/radv.c3
-rw-r--r--proto/rip/rip.c3
4 files changed, 15 insertions, 0 deletions
diff --git a/proto/babel/babel.c b/proto/babel/babel.c
index ecde07b3..ff8b6b52 100644
--- a/proto/babel/babel.c
+++ b/proto/babel/babel.c
@@ -1946,6 +1946,9 @@ 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)
+ continue;
+
if (!(iface->flags & IF_UP))
continue;
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c
index 4cd45033..87e3d95e 100644
--- a/proto/ospf/iface.c
+++ b/proto/ospf/iface.c
@@ -1227,6 +1227,9 @@ ospf_reconfigure_ifaces2(struct ospf_proto *p)
WALK_LIST(iface, iface_list)
{
+ if (p->p.vrf_set && p->p.vrf != iface->master)
+ continue;
+
if (! (iface->flags & IF_UP))
continue;
@@ -1273,6 +1276,9 @@ ospf_reconfigure_ifaces3(struct ospf_proto *p)
WALK_LIST(iface, iface_list)
{
+ if (p->p.vrf_set && p->p.vrf != iface->master)
+ continue;
+
if (! (iface->flags & IF_UP))
continue;
diff --git a/proto/radv/radv.c b/proto/radv/radv.c
index 541c3986..119a8dc4 100644
--- a/proto/radv/radv.c
+++ b/proto/radv/radv.c
@@ -663,6 +663,9 @@ 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)
+ continue;
+
if (!(iface->flags & IF_UP))
continue;
diff --git a/proto/rip/rip.c b/proto/rip/rip.c
index 5f3161ee..8c2d5aeb 100644
--- a/proto/rip/rip.c
+++ b/proto/rip/rip.c
@@ -797,6 +797,9 @@ 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)
+ continue;
+
if (!(iface->flags & IF_UP))
continue;