diff options
author | Donald Sharp <sharpd@nvidia.com> | 2021-09-24 22:42:25 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@nvidia.com> | 2021-09-27 18:38:08 +0200 |
commit | a4598b97d93937eead669d406afa91fd070de83b (patch) | |
tree | 478ebb46518d43ea1bb5f6fdd0f4dd645e712758 /zebra/zebra_vrf.c | |
parent | zebra: Start carrying safi for rnh processing (diff) | |
download | frr-a4598b97d93937eead669d406afa91fd070de83b.tar.xz frr-a4598b97d93937eead669d406afa91fd070de83b.zip |
zebra: Create the SAFI_MULTICAST rnh tables
Actually create the SAFI_MULTICAST rnh tables. No code
uses these yet.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'zebra/zebra_vrf.c')
-rw-r--r-- | zebra/zebra_vrf.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/zebra/zebra_vrf.c b/zebra/zebra_vrf.c index 69b586d71..d52601b63 100644 --- a/zebra/zebra_vrf.c +++ b/zebra/zebra_vrf.c @@ -150,6 +150,10 @@ static int zebra_vrf_enable(struct vrf *vrf) table = route_table_init(); table->cleanup = zebra_rnhtable_node_cleanup; zvrf->rnh_table[afi] = table; + + table = route_table_init(); + table->cleanup = zebra_rnhtable_node_cleanup; + zvrf->rnh_table_multicast[afi] = table; } /* Kick off any VxLAN-EVPN processing. */ @@ -192,6 +196,8 @@ static int zebra_vrf_disable(struct vrf *vrf) for (afi = AFI_IP; afi <= AFI_IP6; afi++) { route_table_finish(zvrf->rnh_table[afi]); zvrf->rnh_table[afi] = NULL; + route_table_finish(zvrf->rnh_table_multicast[afi]); + zvrf->rnh_table_multicast[afi] = NULL; for (safi = SAFI_UNICAST; safi <= SAFI_MULTICAST; safi++) rib_close_table(zvrf->table[afi][safi]); @@ -292,6 +298,8 @@ static int zebra_vrf_delete(struct vrf *vrf) if (zvrf->rnh_table[afi]) route_table_finish(zvrf->rnh_table[afi]); + if (zvrf->rnh_table_multicast[afi]) + route_table_finish(zvrf->rnh_table[afi]); } otable = otable_pop(&zvrf->other_tables); |