-
Notifications
You must be signed in to change notification settings - Fork 1.4k
zebra: uninstall remote neigh even when ifp is down #20587
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
zebra: uninstall remote neigh even when ifp is down #20587
Conversation
raja-rajasekar
commented
Jan 23, 2026
Problem: This problem occurs in TVD model where each VNI has its own VxLAN device. When user tries to remove all the VxLAN devices and retain the associated VLAN/SVI devices, stale remote neighs can be seen in kernel. Root cause: When the VxLAN device is removed from the kernel, FRR receives a VxLAN interface-down event, which subsequently triggers a corresponding L2VNI-down event. During this process, one of the actions taken is the cleanup of the ARP and MAC cache databases.While purging the ARP cache, zebra attempts to uninstall each remote entry from the kernel's neighbor table. However, because the VxLAN device associated with L2VNI is already operationally down, the neighbor table uninstallation step is skipped for that L2VNI. Fix: Uninstall the remote neighs even when interface is operationally down. Signed-off-by: Pooja Jagadeesh Doijode <[email protected]> Signed-off-by: Chirag Shah <[email protected]>
Test to uninstall remote neigh even when ifp is down Signed-off-by: Rajasekar Raja <[email protected]>
Greptile Summary
Important Files Changed
Confidence score: 4/5
Sequence DiagramsequenceDiagram
participant User as "User/Admin"
participant Kernel as "Linux Kernel"
participant Zebra as "Zebra (FRR)"
participant L2VNI as "L2VNI Handler"
participant NeighCache as "Neighbor Cache"
participant DataPlane as "DataPlane"
User->>Kernel: "Remove VxLAN device"
Kernel->>Zebra: "Interface down event"
Zebra->>L2VNI: "Trigger L2VNI down event"
L2VNI->>NeighCache: "Start ARP/MAC cache cleanup"
loop "For each remote neighbor"
NeighCache->>NeighCache: "Check if remote neighbor exists"
alt "Interface operationally down (before fix)"
NeighCache-->>NeighCache: "Skip neighbor uninstall"
else "Interface operationally down (after fix)"
NeighCache->>DataPlane: "Call zevpn_map_to_svi(zevpn, false)"
DataPlane->>DataPlane: "Uninstall remote neighbor entry"
DataPlane->>Kernel: "Remove neighbor from kernel table"
end
end
L2VNI->>Zebra: "L2VNI cleanup complete"
Zebra->>User: "VxLAN device removed successfully"
|
Greptile's behavior is changing!From now on, if a review finishes with no comments, we will not post an additional "statistics" comment to confirm that our review found nothing to comment on. However, you can confirm that we reviewed your changes in the status check section. This feature can be toggled off in your Code Review Settings by deselecting "Create a status check for each PR". |
riw777
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good