summaryrefslogtreecommitdiff
path: root/zebra/connected.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/connected.c')
-rw-r--r--zebra/connected.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/zebra/connected.c b/zebra/connected.c
index 2ec6911d77..0d2407a3e0 100644
--- a/zebra/connected.c
+++ b/zebra/connected.c
@@ -209,15 +209,15 @@ connected_up_ipv4 (struct interface *ifp, struct connected *ifc)
return;
rib_add_ipv4 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, NULL, ifp->ifindex,
- RT_TABLE_MAIN, ifp->metric, 0, SAFI_UNICAST);
+ ifp->vrf_id, RT_TABLE_MAIN, ifp->metric, 0, SAFI_UNICAST);
rib_add_ipv4 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, NULL, ifp->ifindex,
- RT_TABLE_MAIN, ifp->metric, 0, SAFI_MULTICAST);
+ ifp->vrf_id, RT_TABLE_MAIN, ifp->metric, 0, SAFI_MULTICAST);
if (IS_ZEBRA_DEBUG_RIB)
zlog_debug ("%s: calling rib_update", __func__);
- rib_update ();
+ rib_update (ifp->vrf_id);
}
/* Add connected IPv4 route to the interface. */
@@ -327,14 +327,16 @@ connected_down_ipv4 (struct interface *ifp, struct connected *ifc)
return;
/* Same logic as for connected_up_ipv4(): push the changes into the head. */
- rib_delete_ipv4 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, ifp->ifindex, 0, SAFI_UNICAST);
+ rib_delete_ipv4 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, ifp->ifindex, ifp->vrf_id, 0,
+ SAFI_UNICAST);
- rib_delete_ipv4 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, ifp->ifindex, 0, SAFI_MULTICAST);
+ rib_delete_ipv4 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, ifp->ifindex, ifp->vrf_id, 0,
+ SAFI_MULTICAST);
if (IS_ZEBRA_DEBUG_RIB)
zlog_debug ("%s: calling rib_update_static", __func__);
- rib_update_static ();
+ rib_update_static (ifp->vrf_id);
}
void
@@ -397,7 +399,7 @@ connected_delete_ipv4 (struct interface *ifp, int flags, struct in_addr *addr,
if (IS_ZEBRA_DEBUG_RIB)
zlog_debug ("%s: calling rib_update_static", __func__);
- rib_update_static();
+ rib_update_static(ifp->vrf_id);
}
#ifdef HAVE_IPV6
@@ -420,13 +422,13 @@ connected_up_ipv6 (struct interface *ifp, struct connected *ifc)
return;
#endif
- rib_add_ipv6 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, ifp->ifindex, RT_TABLE_MAIN,
- ifp->metric, 0, SAFI_UNICAST);
+ rib_add_ipv6 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, ifp->ifindex, ifp->vrf_id,
+ RT_TABLE_MAIN, ifp->metric, 0, SAFI_UNICAST);
if (IS_ZEBRA_DEBUG_RIB)
zlog_debug ("%s: calling rib_update", __func__);
- rib_update ();
+ rib_update (ifp->vrf_id);
}
/* Add connected IPv6 route to the interface. */
@@ -509,12 +511,13 @@ connected_down_ipv6 (struct interface *ifp, struct connected *ifc)
if (IN6_IS_ADDR_UNSPECIFIED (&p.prefix))
return;
- rib_delete_ipv6 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, ifp->ifindex, 0, SAFI_UNICAST);
+ rib_delete_ipv6 (ZEBRA_ROUTE_CONNECT, 0, 0, &p, NULL, ifp->ifindex,
+ ifp->vrf_id, 0, SAFI_UNICAST);
if (IS_ZEBRA_DEBUG_RIB)
zlog_debug ("%s: calling rib_update_static", __func__);
- rib_update_static ();
+ rib_update_static (ifp->vrf_id);
}
void
@@ -538,6 +541,6 @@ connected_delete_ipv6 (struct interface *ifp, struct in6_addr *address,
if (IS_ZEBRA_DEBUG_RIB)
zlog_debug ("%s: calling rib_update_static", __func__);
- rib_update_static();
+ rib_update_static(ifp->vrf_id);
}
#endif /* HAVE_IPV6 */