]> git.proxmox.com Git - mirror_frr.git/commit - zebra/rt_socket.c
zebra: rework recursive route resolution
authorChristian Franke <chris@opensourcerouting.org>
Fri, 5 Jul 2013 15:35:37 +0000 (15:35 +0000)
committerDavid Lamparter <equinox@opensourcerouting.org>
Thu, 19 Sep 2013 16:04:40 +0000 (18:04 +0200)
commitfa713d9ee5ed30dedd0a290be9aaff780a2896be
tree1d263cce70c341f3f2a73a47d4b1cd5a38b09129
parentbfac8dcd2fe7ed099a679b5c8245599c6d0312ed
zebra: rework recursive route resolution

Change the datastructure for recursive routes. This brings the following
benefits:

By using struct nexthop also to store nexthops obtained by recursive
resolution, we can get rid of quite a bit of code duplication in the fib
management. (rt_netlink, rt_socket, ...)

With the new datastructure we can make use of all available paths when
recursive routes are resolved with multipath routes.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
16 files changed:
tests/.gitignore
tests/Makefile.am
tests/libzebra.tests/Makefile.am
tests/libzebra.tests/testnexthopiter.exp [new file with mode: 0644]
tests/prng.c [new file with mode: 0644]
tests/prng.h [new file with mode: 0644]
tests/test-nexthop-iter.c [new file with mode: 0644]
zebra/rib.h
zebra/rt_ioctl.c
zebra/rt_netlink.c
zebra/rt_socket.c
zebra/zebra_fpm_netlink.c
zebra/zebra_rib.c
zebra/zebra_routemap.c
zebra/zebra_vty.c
zebra/zserv.c