diff options
Diffstat (limited to 'zebra/zebra_vrf.c')
-rw-r--r-- | zebra/zebra_vrf.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/zebra/zebra_vrf.c b/zebra/zebra_vrf.c index 1ae9eac61..246a7e7e4 100644 --- a/zebra/zebra_vrf.c +++ b/zebra/zebra_vrf.c @@ -456,6 +456,7 @@ struct route_table *zebra_vrf_other_route_table(afi_t afi, u_int32_t table_id, info->afi = afi; info->safi = SAFI_UNICAST; table->info = info; + table->cleanup = zebra_rtable_node_cleanup; zvrf->other_table[afi][table_id] = table; } @@ -476,12 +477,18 @@ static int vrf_config_write(struct vty *vty) if (!zvrf) continue; - if (strcmp(zvrf_name(zvrf), VRF_DEFAULT_NAME)) { + if (vrf->vrf_id != VRF_DEFAULT) vty_out(vty, "vrf %s\n", zvrf_name(zvrf)); - if (zvrf->l3vni) - vty_out(vty, " vni %u\n", zvrf->l3vni); + + static_config(vty, zvrf, AFI_IP, SAFI_UNICAST, "ip route"); + static_config(vty, zvrf, AFI_IP, SAFI_MULTICAST, "ip mroute"); + static_config(vty, zvrf, AFI_IP6, SAFI_UNICAST, "ipv6 route"); + + if (vrf->vrf_id != VRF_DEFAULT && zvrf->l3vni) + vty_out(vty, " vni %u\n", zvrf->l3vni); + + if (vrf->vrf_id != VRF_DEFAULT) vty_out(vty, "!\n"); - } } return 0; } |