]> git.puffer.fish Git - mirror/frr.git/commit
zebra: deduplicate nexthops
authorDavid Lamparter <equinox@opensourcerouting.org>
Tue, 30 May 2017 14:14:42 +0000 (16:14 +0200)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 12 Sep 2017 14:05:07 +0000 (10:05 -0400)
commit25b9cb0cc834df7966338f76746e90bca8586161
tree4ecaf2667b187f715aec7574bbd9e3f5dd0d310a
parent953d97fc4aef0c7715e8d42d7d52ebc18d873ac6
zebra: deduplicate nexthops

There exists situations where it is possible to have duplicate
nexthops passed from a higher level protocol into zebra.

This code notices this duplication of nexthops and marks
the duplicates as DUPLICATE so we don't attempt to install
it into the kernel.

This is important on *BSD as I understand it because passing
duplicate nexthops will cause the route to be rejected.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
lib/nexthop.c
lib/nexthop.h
zebra/rt_netlink.c
zebra/rt_socket.c
zebra/zebra_rib.c