]> git.puffer.fish Git - matthieu/frr.git/commit
zebra: mark connected nh inactive if not matching ifindex
authorStephen Worley <sworley@cumulusnetworks.com>
Mon, 6 Jul 2020 22:20:14 +0000 (18:20 -0400)
committerStephen Worley <sworley@cumulusnetworks.com>
Fri, 10 Jul 2020 17:42:37 +0000 (13:42 -0400)
commitc479909b69b52144bd415e59480c151b71a84e27
tree72bffe0c0197a3448316bd8dd3a830fd096c81ab
parent373edbbc9975f2ebeae7d019eb386f48b53d2696
zebra: mark connected nh inactive if not matching ifindex

If we are asked to check if a nexthop is active and it matches a
connected route but the ifindex on it does not match the interface
with the connected route, mark as inactive. This is a bad nexthop.

Before, we would skip this check and just assume any nexthop that matches
on a connected route is valid and return here then fail during
installation. This adds a check for the IPV*_ifindex nexthop case where the
ifindex we have been sent doesn't match.

Old:
F>r 0.0.0.0/0 [200/0] via 20.0.0.2, test, weight 1, 00:00:27
  r                   via 40.4.4.4, lo, weight 1, 00:00:27

New:
F>* 0.0.0.0/0 [200/0] via 20.0.0.2, test, weight 1, 00:00:06
  *                   via 40.4.4.4, lo inactive, weight 1, 00:00:06

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
zebra/zebra_nhg.c