zebra: fix EVPN MACIP DEL flag mixup in neighbor delete path - #21733
Conversation
On ZEBRA_MACIP_DEL, zebra_evpn_neigh_send_del_to_client() was passing ZEBRA_NEIGH_* flags into zebra_evpn_macip_send_msg_to_client(), while debug output decodes those bits as ZEBRA_MACIP_TYPE_* flags. Because bit values overlap, DEL logs could incorrectly print "Sticky MAC". This is a flag-domain mismatch on DEL reporting, not a behavior change in BGP processing (DEL uses state). Fix by sending no MACIP flags on neighbor DEL. Neighbor DEL now passes flags=0, matching the existing MAC DEL behavior in zebra_evpn_mac_send_del_to_client(). Signed-off-by: Nick Bouliane <nbouliane@coreweave.com>
Greptile SummaryThis PR fixes a flag-domain mismatch in Confidence Score: 5/5Safe to merge β the fix is minimal, correct, and consistent with the existing MAC DEL pattern. Single-line change fixes a debug-logging flag mismatch. The DEL wire protocol path writes No files require special attention. Important Files Changed
Sequence DiagramsequenceDiagram
participant Caller
participant neigh_send_del as zebra_evpn_neigh_send_del_to_client
participant macip_send as zebra_evpn_macip_send_msg_to_client
participant BGP
Caller->>neigh_send_del: vni, ip, macaddr, ZEBRA_NEIGH_* flags, state
note over neigh_send_del: Guard: skip if not advertised
neigh_send_del->>macip_send: vni, macaddr, ip, flags=0, seq=0, state, NULL, ZEBRA_MACIP_DEL
note over macip_send: DEL path: only encodes state on wire (flags ignored)
note over macip_send: Debug log uses flags=0 - no false Sticky MAC
macip_send->>BGP: ZEBRA_MACIP_DEL (state)
Reviews (1): Last reviewed commit: "zebra: fix EVPN MACIP DEL flag mixup in ..." | Re-trigger Greptile |
On ZEBRA_MACIP_DEL, zebra_evpn_neigh_send_del_to_client() was passing ZEBRA_NEIGH_* flags into zebra_evpn_macip_send_msg_to_client(), while debug output decodes those bits as ZEBRA_MACIP_TYPE_* flags. Because bit values overlap, DEL logs could incorrectly print "Sticky MAC".
This is a flag-domain mismatch on DEL reporting, not a behavior change in BGP processing (DEL uses state).
Fix by sending no MACIP flags on neighbor DEL.
Neighbor DEL now passes flags=0, matching the existing MAC DEL behavior in zebra_evpn_mac_send_del_to_client().