From: Carmine Scarpitta Date: Sun, 15 Sep 2024 16:56:48 +0000 (+0200) Subject: bgpd: Include structure when removing End.DT46 SID X-Git-Tag: docker/8.5.7~4^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=af6160e24d27df90821555afbb6f90f01dc5b4ac;p=mirror%2Ffrr.git bgpd: Include structure when removing End.DT46 SID Include SID structure information when removing an SRv6 End.DT46 SID from the forwarding plane. Signed-off-by: Carmine Scarpitta --- diff --git a/bgpd/bgp_mplsvpn.c b/bgpd/bgp_mplsvpn.c index 6d4dce41a4..45f7f20f8a 100644 --- a/bgpd/bgp_mplsvpn.c +++ b/bgpd/bgp_mplsvpn.c @@ -536,6 +536,7 @@ void vpn_leak_zebra_vrf_sid_withdraw_per_af(struct bgp *bgp, afi_t afi) void vpn_leak_zebra_vrf_sid_withdraw_per_vrf(struct bgp *bgp) { int debug = BGP_DEBUG(vpn, VPN_LEAK_LABEL); + struct seg6local_context seg6localctx = {}; if (bgp->vrf_id == VRF_UNKNOWN) { if (debug) @@ -549,9 +550,19 @@ void vpn_leak_zebra_vrf_sid_withdraw_per_vrf(struct bgp *bgp) zlog_debug("%s: deleting sid for vrf %s (id=%d)", __func__, bgp->name_pretty, bgp->vrf_id); + if (bgp->tovpn_sid_locator) { + seg6localctx.block_len = + bgp->tovpn_sid_locator->block_bits_length; + seg6localctx.node_len = + bgp->tovpn_sid_locator->node_bits_length; + seg6localctx.function_len = + bgp->tovpn_sid_locator->function_bits_length; + seg6localctx.argument_len = + bgp->tovpn_sid_locator->argument_bits_length; + } zclient_send_localsid(zclient, bgp->tovpn_zebra_vrf_sid_last_sent, bgp->vrf_id, ZEBRA_SEG6_LOCAL_ACTION_UNSPEC, - NULL); + &seg6localctx); XFREE(MTYPE_BGP_SRV6_SID, bgp->tovpn_zebra_vrf_sid_last_sent); }