]> git.puffer.fish Git - mirror/frr.git/commit
zebra: For rnh handling use actual resolved nexthop 3466/head
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 12 Dec 2018 13:02:08 +0000 (08:02 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 12 Dec 2018 13:02:08 +0000 (08:02 -0500)
commit72366a6e970aca525098c8cb17090e5264c5729c
tree857bffc3ea917c60ccdefaeb81f1326231ecd31a
parent27dcf6d9018a2a0868f844fefac2023397019ed7
zebra: For rnh handling use actual resolved nexthop

For nexthop handling use the actual resolved nexthop.
Nexthops are stored as a `special` list:

Suppose we have 3 way ecmp A, B, C:
nhop A  -> resolves to nhop D
  |
nhop B
  |
nhop C -> resolves to nhop E

A and C are typically NEXTHOP_TYPE_IPV4( or 6 ) if they recursively resolve
We do not necessarily store the ifindex that this resolves to.

Current nexthop code only loops over A,B and C and uses those for
the zebra_rnh.c handling.  So interested parties might receive non-fully
resolved nexthops( and they assume they are! ).

Let's convert the looping to go over all nexthops and only deal with
the resolved ones, so we will look at and use D,B and E.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
zebra/zebra_rnh.c