]> git.proxmox.com Git - mirror_frr.git/commit - staticd/static_zebra.c
*: The onlink attribute should be owned by the nexthop not the route.
authorDonald Sharp <sharpd@cumulusnetworks.com>
Sun, 27 Jan 2019 01:44:42 +0000 (20:44 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Sun, 27 Jan 2019 02:02:26 +0000 (21:02 -0500)
commitfe85601c961738e8867a7f2411054dcf4e34d0c3
treec301a84803cda9e8e69b791debbd2f1b4bcdf30f
parentd57e451387215a2667e07f691494694d14dd5132
*: The onlink attribute should be owned by the nexthop not the route.

The onlink attribute was being passed from upper level protocols
as an attribute of the route *not* the individual nexthop.  When
we pass this data to the kernel, we treat the onlink as a attribute
of the nexthop.  This commit modifies the code base to allow
us to pass the ONLINK attribute as an attribute of the nexthop.

This commit also fixes static routes that have multiple nexthops
some onlink and some not.

ip route 4.5.6.7/32 192.168.41.1 eveth1 onlink
ip route 4.5.6.7/32 192.168.42.2

S>* 4.5.6.7/32 [1/0] via 192.168.41.1, eveth1 onlink, 00:03:04
  *                  via 192.168.42.2, eveth2, 00:03:04

sharpd@robot ~/frr2> sudo ip netns exec EVA ip route show
4.5.6.7 proto 196 metric 20
nexthop via 192.168.41.1 dev eveth1 weight 1 onlink
nexthop via 192.168.42.2 dev eveth2 weight 1

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
isisd/isis_zebra.c
lib/zclient.c
lib/zclient.h
lib/zebra.h
staticd/static_zebra.c
zebra/zapi_msg.c
zebra/zebra_rib.c