]> git.proxmox.com Git - mirror_frr.git/commit - zebra/zebra_rib.c
zebra: Fix for route node having no tracking NHT
authorSarita Patra <saritap@vmware.com>
Mon, 14 Jun 2021 01:48:35 +0000 (18:48 -0700)
committerDonald Sharp <sharpd@nvidia.com>
Thu, 13 Jan 2022 19:15:05 +0000 (14:15 -0500)
commitf99f1ff50a56c0402a30fd44c3e2451fa1bf6038
tree647949f5a8b57ec4df7f57fab926ebe97346714f
parenta8057c9db50b4f2d030bcbfd585c54000b7d205a
zebra: Fix for route node having no tracking NHT

Topology:
IXIA-----(ens192)FRR(ens224)------iXIA

Configuration:
1. Create 8 sub-interfaces on ens192 under Default VRF and configure 8
EBGP session between FRR and IXIA.
2. Create 1000 sub-interfaces on ens224 under Default VRF and configure
1000 EBGP session between FRR and IXIA.
3. 2M prefixes distributed from Left side Ixia each with 8 ECMP path.
4. So in total, there are 2M prefixes * 8 ECMP = 16M prefixes entries
in RIB and FIB.

Issue:
Shut ens192 and ens224, this is taking 1hr 15 mins to clean up the routes.

Root Cause:
In the case of route deletion, if the particular route node is having
nht count = 0, we are going to the parent and doing nht evaluation,
which is not needed.

Fix:
If the deleted the route node is having nht count > 0, then do a nht
evaluation on the parent node.
Shut ens192 and ens224, it is taking 1 min to clean up the routes
with the fix.

Signed-off-by: Sarita Patra <saritap@vmware.com>
zebra/rib.h
zebra/zebra_rib.c