Skip to content

Commit

Permalink
bgpd: backpressure - log error for evpn when route install to zebra f…
Browse files Browse the repository at this point in the history
…ails.

log error for evpn in case route install to zebra fails.

Ticket :#3992392

Signed-off-by: Rajasekar Raja <[email protected]>
  • Loading branch information
raja-rajasekar committed Jul 19, 2024
1 parent c4bbb5b commit 6cf5b79
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion bgpd/bgp_zebra.c
Original file line number Diff line number Diff line change
Expand Up @@ -1785,6 +1785,7 @@ static void bgp_handle_route_announcements_to_zebra(struct event *e)
struct bgp_table *table = NULL;
enum zclient_send_status status = ZCLIENT_SEND_SUCCESS;
bool install;
const struct prefix_evpn *evp = NULL;

while (count < ZEBRA_ANNOUNCEMENTS_LIMIT) {
is_evpn = false;
Expand All @@ -1796,8 +1797,11 @@ static void bgp_handle_route_announcements_to_zebra(struct event *e)

table = bgp_dest_table(dest);
install = CHECK_FLAG(dest->flags, BGP_NODE_SCHEDULE_FOR_INSTALL);
if (table->afi == AFI_L2VPN && table->safi == SAFI_EVPN)
if (table->afi == AFI_L2VPN && table->safi == SAFI_EVPN) {
is_evpn = true;
evp = (const struct prefix_evpn *)bgp_dest_get_prefix(
dest);
}

if (BGP_DEBUG(zebra, ZEBRA))
zlog_debug("BGP %s%s route %pBD(%s) with dest %p and flags 0x%x to zebra",
Expand Down Expand Up @@ -1835,6 +1839,17 @@ static void bgp_handle_route_announcements_to_zebra(struct event *e)
UNSET_FLAG(dest->flags, BGP_NODE_SCHEDULE_FOR_DELETE);
}

if (is_evpn && status == ZCLIENT_SEND_FAILURE)
flog_err(EC_BGP_EVPN_FAIL,
"%s (%u): Failed to %s EVPN %pFX %s route in VNI %u",
vrf_id_to_name(table->bgp->vrf_id),
table->bgp->vrf_id,
install ? "install" : "uninstall", evp,
evp->prefix.route_type == BGP_EVPN_MAC_IP_ROUTE
? "MACIP"
: "IMET",
dest->za_vpn->vni);

bgp_path_info_unlock(dest->za_bgp_pi);
dest->za_bgp_pi = NULL;
dest->za_vpn = NULL;
Expand Down

0 comments on commit 6cf5b79

Please sign in to comment.