]> git.puffer.fish Git - matthieu/frr.git/commit
zebra: Allow for initial deny of installation of nhe's
authorDonald Sharp <sharpd@nvidia.com>
Thu, 29 Aug 2024 15:29:55 +0000 (11:29 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Fri, 30 Aug 2024 12:23:48 +0000 (08:23 -0400)
commit0c72a78930ed90b80bf691eb4b758cd2ecc1ba30
tree7edb90c61ab565cda6d0e951080819b1bde5632b
parent90787a57fdb787e8d6abdfa23f98fff509004f02
zebra: Allow for initial deny of installation of nhe's

Currently the FRR code will receive both kernel and
connected routes that do not actually have an underlying
nexthop group at all.  Zebra turns around and creates
a `matching` nexthop hash entry and installs it.
For connected routes, this will create 2 singleton
nexthops in the dplane per interface (v4 and v6).
For kernel routes it would just create 1 singleton
nexthop that might be used or not.

This is bad because the dplane has a limited amount
of space available for nexthop entries and if you
happen to have a large number of interfaces then
all of a sudden you have 2x(# of interfaces) singleton
nexthops.

Let's modify the code to delay creation of these singleton
nexthops until they have been used by something else in the
system.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
zebra/zebra_dplane.c
zebra/zebra_nhg.c
zebra/zebra_nhg.h
zebra/zebra_rib.c
zebra/zebra_vty.c