Go to file
David Lamparter 0964ad9cec lib: add second-level route_table for srcdest
IPv6 srcdest routes need to be keyed by both destination and source
prefix.  Since the lookup order is destination first, the simplest thing
to do here is to add a second route_table to destination entries, which
then contain source entries.  Sadly, the result is somewhat confusing
since a route_node might now be either a source node or a destination
node.

There are helper functions to get source and destination prefix from a
given route node (which can be either a destination or a source route).

The following bits have been added by Christian Franke
<chris@opensourcerouting.org>:
- make srcdest routing table reusable by moving it into lib
- make the srcdest routing table structure more opaque
- implement a srcdest routing table iterator
- fix a refcounting issue in src_node_lookup
- match route_node_lookup behavior with srcdest_rnode_lookup
- add accessor for the route_node table and table_info
- add string formatter srcdest_rnode2str

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
[v3: adapted for cmaster-next as of 2016-12-05]
2017-01-30 13:51:50 +01:00
bgpd *: read and ignore srcdest routes on ZAPI 2017-01-30 13:47:04 +01:00
cumulus cumulus: Fixup function only needed for linux 2017-01-18 10:14:26 -05:00
debian Merge remote-tracking branch 'origin/stable/2.0' 2017-01-06 09:58:21 -05:00
doc lib: Update ZAPI to version 4 and HEADER_MARKER to 254 2017-01-04 08:05:39 -05:00
fpm Use only the ISC license for .proto files. 2016-09-23 12:12:16 -04:00
gdb gdb: Add a directory of files with gdb macros 2016-05-26 15:33:30 +00:00
init build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
isisd lib: send ZAPI IPv6 source prefix 2017-01-30 13:47:04 +01:00
ldpd *: read and ignore srcdest routes on ZAPI 2017-01-30 13:47:04 +01:00
lib lib: add second-level route_table for srcdest 2017-01-30 13:51:50 +01:00
m4 build: include copy of pkg.m4, fix invocation 2017-01-18 18:01:53 +01:00
ospf6d *: read and ignore srcdest routes on ZAPI 2017-01-30 13:47:04 +01:00
ospfclient lib: migrate to new memory-type handling 2016-09-19 18:35:50 +02:00
ospfd *: Fix redistribute issue 2017-01-27 15:52:12 -05:00
pimd pimd: More pim cli fixup 2017-01-26 09:10:54 -05:00
pkgsrc build: delete .cvsignore files 2011-12-13 14:27:01 +04:00
ports pimd: merge pimd as of 2015-01-19 2016-05-25 20:38:32 -04:00
qpb fpm/protobuf: fix compile errors & warnings 2016-09-23 12:12:17 -04:00
redhat redhat: update .gitignore 2017-01-09 02:36:53 +00:00
ripd *: Fix redistribute issue 2017-01-27 15:52:12 -05:00
ripngd *: read and ignore srcdest routes on ZAPI 2017-01-30 13:47:04 +01:00
solaris watchfrr: Rename watchquagga -> watchfrr 2017-01-03 20:13:02 -05:00
tests tests: Fix conversion between iana_t and afi_t 2017-01-27 15:31:47 -05:00
tools lib: parser: simplify OPTION_TKN & SELECTOR_TKN 2017-01-23 21:52:43 +01:00
vtysh vtysh: Add 'vrf-policy NAME' and 'exit-vrf-policy' to ignore list. 2017-01-25 22:04:49 -05:00
watchfrr watchfrr: indent to Linux CodingStyle 2017-01-13 14:10:00 +01:00
zebra zebra: receive ZAPI IPv6 source prefix 2017-01-30 13:47:04 +01:00
.gitignore build: include copy of pkg.m4, fix invocation 2017-01-18 18:01:53 +01:00
AUTHORS Initial revision 2002-12-13 20:15:29 +00:00
bootstrap.sh autoreconf -i 2007-02-06 19:28:28 +00:00
buildtest.sh build: remove --disable-ipv6 2016-06-03 15:51:36 -04:00
ChangeLog [trivia] Make 'make dist' happy about ChangeLog expunge 2008-08-23 08:36:42 +01:00
common.am qpb: Add support for protobuf. 2016-09-23 12:12:16 -04:00
COMMUNITY.md frr: Modify doc to talk about cli 2016-12-16 15:35:14 -05:00
configure.ac master: point to https://github.com/freerangerouting/frr/issues 2017-01-27 16:24:03 -05:00
COPYING *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
COPYING-LGPLv2.1 build: remove LGPL v2.0, add LGPL v2.1 2016-11-15 17:19:38 +09:00
Makefile.am watchfrr: Rename watchquagga -> watchfrr 2017-01-03 20:13:02 -05:00
NEWS release: 0.99.24 2016-06-03 15:56:44 -04:00
README apply rename to readme.md 2017-01-12 13:10:48 -05:00
README.NetBSD build: remove $Format tags 2016-12-20 17:54:03 +01:00
render_md.py build: number sections in COMMUNITY.md HTML 2016-12-05 19:08:00 +01:00
REPORTING-BUGS Update for git and emphasize asking for good reports. 2010-05-05 07:51:26 -04:00
SERVICES doc: add the ldpd vty port to the SERVICES file 2016-12-23 13:27:40 +07:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
update-autotools * README.NetBSD: use update-autotools instead of autoreconf 2007-02-02 16:52:38 +00:00

Free Range Routing is free software that manages various IPv4 and IPv6 routing
protocols.

Currently Free Range Routing supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1,
RIPv2, RIPng, PIM-SSM and LDP as well as very early support for IS-IS.

See the file REPORTING-BUGS to report bugs.

Free Range Routing is free software. See the file COPYING for copying conditions.