mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-04 06:55:18 +00:00
bgpd: vrf leak show cmds to check deleted instance
When a source bgp vrf instance is deleted, ensure the referencing of it in vrf route leak show commands. Ticket:CM-20534 CM-24484 Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
This commit is contained in:
parent
48381346d7
commit
b20875ea0e
@ -11329,15 +11329,19 @@ static int bgp_show_route_leak_vty(struct vty *vty, const char *name,
|
||||
json_object_array_add(json_import_vrfs,
|
||||
json_object_new_string(vname));
|
||||
|
||||
json_object_object_add(json, "importFromVrfs",
|
||||
json_import_vrfs);
|
||||
dir = BGP_VPN_POLICY_DIR_FROMVPN;
|
||||
ecom_str = ecommunity_ecom2str(
|
||||
if (bgp->vpn_policy[afi].rtlist[dir]) {
|
||||
ecom_str = ecommunity_ecom2str(
|
||||
bgp->vpn_policy[afi].rtlist[dir],
|
||||
ECOMMUNITY_FORMAT_ROUTE_MAP, 0);
|
||||
json_object_object_add(json, "importFromVrfs",
|
||||
json_import_vrfs);
|
||||
json_object_string_add(json, "importRts", ecom_str);
|
||||
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, ecom_str);
|
||||
json_object_string_add(json, "importRts",
|
||||
ecom_str);
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, ecom_str);
|
||||
} else
|
||||
json_object_string_add(json, "importRts",
|
||||
"none");
|
||||
}
|
||||
|
||||
if (!CHECK_FLAG(bgp->af_flags[afi][safi],
|
||||
@ -11361,12 +11365,16 @@ static int bgp_show_route_leak_vty(struct vty *vty, const char *name,
|
||||
buf1, RD_ADDRSTRLEN));
|
||||
|
||||
dir = BGP_VPN_POLICY_DIR_TOVPN;
|
||||
ecom_str = ecommunity_ecom2str(
|
||||
if (bgp->vpn_policy[afi].rtlist[dir]) {
|
||||
ecom_str = ecommunity_ecom2str(
|
||||
bgp->vpn_policy[afi].rtlist[dir],
|
||||
ECOMMUNITY_FORMAT_ROUTE_MAP, 0);
|
||||
json_object_string_add(json, "exportRts", ecom_str);
|
||||
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, ecom_str);
|
||||
json_object_string_add(json, "exportRts",
|
||||
ecom_str);
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, ecom_str);
|
||||
} else
|
||||
json_object_string_add(json, "exportRts",
|
||||
"none");
|
||||
}
|
||||
|
||||
if (use_json) {
|
||||
@ -11399,12 +11407,16 @@ static int bgp_show_route_leak_vty(struct vty *vty, const char *name,
|
||||
vty_out(vty, " %s\n", vname);
|
||||
|
||||
dir = BGP_VPN_POLICY_DIR_FROMVPN;
|
||||
ecom_str = ecommunity_ecom2str(
|
||||
ecom_str = NULL;
|
||||
if (bgp->vpn_policy[afi].rtlist[dir]) {
|
||||
ecom_str = ecommunity_ecom2str(
|
||||
bgp->vpn_policy[afi].rtlist[dir],
|
||||
ECOMMUNITY_FORMAT_ROUTE_MAP, 0);
|
||||
vty_out(vty, "Import RT(s): %s\n", ecom_str);
|
||||
vty_out(vty, "Import RT(s): %s\n", ecom_str);
|
||||
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, ecom_str);
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, ecom_str);
|
||||
} else
|
||||
vty_out(vty, "Import RT(s):\n");
|
||||
}
|
||||
|
||||
if (!CHECK_FLAG(bgp->af_flags[afi][safi],
|
||||
@ -11427,11 +11439,14 @@ static int bgp_show_route_leak_vty(struct vty *vty, const char *name,
|
||||
buf1, RD_ADDRSTRLEN));
|
||||
|
||||
dir = BGP_VPN_POLICY_DIR_TOVPN;
|
||||
ecom_str = ecommunity_ecom2str(
|
||||
if (bgp->vpn_policy[afi].rtlist[dir]) {
|
||||
ecom_str = ecommunity_ecom2str(
|
||||
bgp->vpn_policy[afi].rtlist[dir],
|
||||
ECOMMUNITY_FORMAT_ROUTE_MAP, 0);
|
||||
vty_out(vty, "Export RT: %s\n", ecom_str);
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, ecom_str);
|
||||
vty_out(vty, "Export RT: %s\n", ecom_str);
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, ecom_str);
|
||||
} else
|
||||
vty_out(vty, "Import RT(s):\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user