summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-format17
-rw-r--r--bgpd/bgp_zebra.c6
-rw-r--r--bgpd/bgpd.c35
3 files changed, 41 insertions, 17 deletions
diff --git a/.clang-format b/.clang-format
index 93ad18b98a..06769c9661 100644
--- a/.clang-format
+++ b/.clang-format
@@ -207,4 +207,21 @@ SpacesInSquareBrackets: false
Standard: Cpp03
TabWidth: 8
UseTab: Always
+WhitespaceSensitiveMacros:
+ - "DEFPY"
+ - "DEFPY_HIDDEN"
+ - "DEFPY_NOSH"
+ - "DEFPY_YANG"
+ - "DEFPY_YANG_HIDDEN"
+ - "DEFPY_YANG_NOSH"
+ - "DEFSH"
+ - "DEFSH_HIDDEN"
+ - "DEFUN"
+ - "DEFUN_HIDDEN"
+ - "DEFUN_NOSH"
+ - "DEFUN_YANG"
+ - "DEFUN_YANG_HIDDEN"
+ - "DEFUN_YANG_NOSH"
+ - "DEFUNSH"
+ - "DEFUNSH_HIDDEN"
...
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c
index 52c75a3dc2..e219dc536c 100644
--- a/bgpd/bgp_zebra.c
+++ b/bgpd/bgp_zebra.c
@@ -1537,7 +1537,6 @@ bgp_zebra_announce_actual(struct bgp_dest *dest, struct bgp_path_info *info,
route_tag_t tag;
bool is_add;
uint32_t nhg_id = 0;
- uint32_t recursion_flag = 0;
struct bgp_table *table = bgp_dest_table(dest);
const struct prefix *p = bgp_dest_get_prefix(dest);
@@ -1655,11 +1654,8 @@ bgp_zebra_announce_actual(struct bgp_dest *dest, struct bgp_path_info *info,
api.metric, api.tag, api.nexthop_num, nhg_id);
bgp_debug_zebra_nh(&api);
- if (CHECK_FLAG(api.flags, ZEBRA_FLAG_ALLOW_RECURSION))
- recursion_flag = 1;
-
zlog_debug("%s: %pFX: announcing to zebra (recursion %sset)",
- __func__, p, (recursion_flag ? "" : "NOT "));
+ __func__, p, (allow_recursion ? "" : "NOT "));
}
return zclient_route_send(is_add ? ZEBRA_ROUTE_ADD : ZEBRA_ROUTE_DELETE,
zclient, &api);
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index cd083d889a..76014d4eb9 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -1473,6 +1473,29 @@ static void bgp_srv6_init(struct bgp *bgp)
static void bgp_srv6_cleanup(struct bgp *bgp)
{
+ for (afi_t afi = AFI_IP; afi < AFI_MAX; afi++) {
+ if (bgp->vpn_policy[afi].tovpn_sid_locator != NULL)
+ srv6_locator_chunk_free(
+ &bgp->vpn_policy[afi].tovpn_sid_locator);
+ if (bgp->vpn_policy[afi].tovpn_zebra_vrf_sid_last_sent != NULL)
+ XFREE(MTYPE_BGP_SRV6_SID,
+ bgp->vpn_policy[afi].tovpn_zebra_vrf_sid_last_sent);
+ if (bgp->vpn_policy[afi].tovpn_sid != NULL) {
+ sid_unregister(bgp, bgp->vpn_policy[afi].tovpn_sid);
+ XFREE(MTYPE_BGP_SRV6_SID,
+ bgp->vpn_policy[afi].tovpn_sid);
+ }
+ }
+
+ if (bgp->tovpn_sid_locator != NULL)
+ srv6_locator_chunk_free(&bgp->tovpn_sid_locator);
+ if (bgp->tovpn_zebra_vrf_sid_last_sent != NULL)
+ XFREE(MTYPE_BGP_SRV6_SID, bgp->tovpn_zebra_vrf_sid_last_sent);
+ if (bgp->tovpn_sid != NULL) {
+ sid_unregister(bgp, bgp->tovpn_sid);
+ XFREE(MTYPE_BGP_SRV6_SID, bgp->tovpn_sid);
+ }
+
if (bgp->srv6_locator_chunks)
list_delete(&bgp->srv6_locator_chunks);
if (bgp->srv6_functions)
@@ -4136,18 +4159,6 @@ void bgp_free(struct bgp *bgp)
if (bgp->vpn_policy[afi].tovpn_rd_pretty)
XFREE(MTYPE_BGP_NAME,
bgp->vpn_policy[afi].tovpn_rd_pretty);
- if (bgp->vpn_policy[afi].tovpn_sid_locator != NULL)
- srv6_locator_chunk_free(
- &bgp->vpn_policy[afi].tovpn_sid_locator);
- if (bgp->vpn_policy[afi].tovpn_zebra_vrf_sid_last_sent != NULL)
- XFREE(MTYPE_BGP_SRV6_SID,
- bgp->vpn_policy[afi]
- .tovpn_zebra_vrf_sid_last_sent);
- if (bgp->vpn_policy[afi].tovpn_sid != NULL) {
- sid_unregister(bgp, bgp->vpn_policy[afi].tovpn_sid);
- XFREE(MTYPE_BGP_SRV6_SID,
- bgp->vpn_policy[afi].tovpn_sid);
- }
}
bgp_srv6_cleanup(bgp);
bgp_confederation_id_unset(bgp);