mirror_frr/lib
Donald Sharp 7a4bb9c54e zebra-redistribute-table.patch
Zebra: Redistribute routes from non-main kernel table to main.

This can be the basis for many interesting features such as variations
of redistribute ARP, using zebra as the RIB in the presence of multiple
routing protocol stacks etc. The code only supports IPv4 for now, but
the infrastructure is in place for IPv6.

Usage:
There is a new route type introduced by this model: TABLE. Routes
imported from alternate kernel tables will have their protocol type set to
TABLE.

Routes from alternate kernel tables MUST be first imported into the main
table via "ip import-table <table id>". They can then be redistributed via
a routing protocol via the "redistribute table" command. Each imported table
can an optional administrative distance specified. In Zebra, a route with a
lower distance is chosen over routes with a higher distance. So, distance
is how the user can choose to prioritize routes from a particular table over
routes from other tables or routes learnt another way in zebra.

Route maps for imported tables are specified via "ip protocol" command in
zebra. Route maps for redistributed routes within a routing protocol are
subject to the route map options supported by the protocol. The
"match source-protocol" option in route maps can match against "table"
to filter routes learnt from alternate kernel routing tables.

Signed-off-by: Dinesh G Dutt <ddutt@cumulusnetworks.com>
2015-05-19 18:03:42 -07:00
..
.gitignore build: include git info 2012-12-12 15:34:37 +01:00
agentx.c agentx: handle SNMP traps 2012-06-25 19:03:23 +02:00
bitfield.h ospf6d: ospfv3-abr-ecmp-support.patch 2015-05-19 18:03:39 -07:00
buffer.c *: use array_size() helper macro 2012-10-25 10:15:59 -07:00
buffer.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
checksum.c lib: improve fletcher checksum validation 2012-10-25 10:15:58 -07:00
checksum.h lib: improve fletcher checksum validation 2012-10-25 10:15:58 -07:00
command.c "set metric -10" is not accepted by the parser on 64-bit x86 platforms 2015-05-19 17:58:11 -07:00
command.h Clarify the different permutations of soft clearing a peer 2015-05-19 17:58:11 -07:00
daemon.c [warnings] Fix various SOS warnings 2008-08-22 19:52:59 +01:00
distribute.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
distribute.h babeld: Initial import, for Babel routing protocol. 2012-03-25 17:06:51 +01:00
filter.c bgpd: bgpd-event-driven-route-map-updates.patch 2015-05-19 17:40:45 -07:00
filter.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
getopt1.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
getopt.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
getopt.h 2005-08-10 Greg Troxel <gdt@fnord.ir.bbn.com> 2005-08-10 13:20:03 +00:00
gitversion.pl build: fix minimal mixup in gitinfo suffix 2013-04-09 17:05:08 +02:00
hash.c lib: fix for dynamically grown hashes 2014-04-01 17:13:02 +02:00
hash.h hash: dynamically grow hash table 2013-02-24 20:48:16 +01:00
if_rmap.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
if_rmap.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
if.c Unnumbered interface support. 2015-05-19 17:58:13 -07:00
if.h Unnumbered interface support. 2015-05-19 17:58:13 -07:00
jhash.c 2004-07-09 Paul Jakma <paul@dishone.st> 2004-07-09 14:05:47 +00:00
jhash.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
keychain.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
keychain.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
libospf.h ospf6d: ospfv3-stub-area-support.patch 2015-05-19 18:03:40 -07:00
linklist.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
linklist.h lib: remove ALL_LIST_ELEMENTS dead code branch 2013-01-11 22:09:34 +01:00
log.c zebra-redistribute-table.patch 2015-05-19 18:03:42 -07:00
log.h Multi-Instance OSPF Summary 2015-05-19 18:03:42 -07:00
Makefile.am nexthop-tracking.patch 2015-05-19 17:40:34 -07:00
md5.c lib: add support for keyed-hashing with MD5 2012-04-07 13:53:22 -07:00
md5.h lib: add support for keyed-hashing with MD5 2012-04-07 13:53:22 -07:00
memory.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
memory.h lib: add array_size() helper 2012-10-25 10:15:59 -07:00
memtypes.awk [lib] fix gensub call in memtypes.awk to pass "g", not g. 2006-03-30 14:30:19 +00:00
memtypes.c Overhual BGP debugs 2015-05-19 17:58:12 -07:00
network.c 2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-16 16:25:39 +00:00
network.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
nexthop.c nexthop-tracking.patch 2015-05-19 17:40:34 -07:00
nexthop.h zebra-set-src-routemap.patch 2015-05-19 17:47:24 -07:00
pid_output.c + pidfiles are now always created with 0644 perms instead if LOGFILE_MASK (0600) 2007-10-04 15:09:19 +00:00
plist.c bgpd: bgpd-event-driven-route-map-updates.patch 2015-05-19 17:40:45 -07:00
plist.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
pqueue.c lib: use heap to manage timers 2014-04-22 21:17:00 +02:00
pqueue.h lib: use heap to manage timers 2014-04-22 21:17:00 +02:00
prefix.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
prefix.h Block martian address configuration on an interface and also block from 2015-05-19 17:47:23 -07:00
privs.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
privs.h 2005-09-29 Paul Jakma <paul.jakma@sun.com> 2005-09-29 14:39:32 +00:00
queue.h *: fix detection and usage of sys/cdefs.h 2014-08-18 01:50:19 +02:00
regex-gnu.h *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
regex.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
route_types.pl zebra: zebra-nht-routemap.patch 2015-05-19 17:47:20 -07:00
route_types.txt zebra-redistribute-table.patch 2015-05-19 18:03:42 -07:00
routemap.c Multi-Instance OSPF Summary 2015-05-19 18:03:42 -07:00
routemap.h bgpd: bgpd-event-driven-route-map-updates.patch 2015-05-19 17:40:45 -07:00
sigevent.c *: use array_size() helper macro 2012-10-25 10:15:59 -07:00
sigevent.h *: use array_size() helper macro 2012-10-25 10:15:59 -07:00
smux.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
smux.h snmp: let handlers accept OID from a lesser prefix 2012-06-25 19:03:23 +02:00
snmp.c snmp: let handlers accept OID from a lesser prefix 2012-06-25 19:03:23 +02:00
sockopt.c lib: compile even without IPV6_TCLASS 2011-10-17 18:59:26 +04:00
sockopt.h IPv6 transport class suppport 2011-10-17 18:59:19 +04:00
sockunion.c lib: Add back sockunion_str2su 2012-06-14 10:37:40 +01:00
sockunion.h lib: Add back sockunion_str2su 2012-06-14 10:37:40 +01:00
str.c * configure.ac: Test existance of strndup. 2005-09-19 09:53:21 +00:00
str.h * configure.ac: Test existance of strndup. 2005-09-19 09:53:21 +00:00
stream.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
stream.h bgpd: efficient NLRI packing for AFs != ipv4-unicast 2014-06-03 15:08:32 +02:00
table.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
table.h lib/table: add route_table_get_next() and iterator 2012-09-26 21:50:48 +02:00
thread.c ospf6d: ospfv3-stub-area-support.patch 2015-05-19 18:03:40 -07:00
thread.h ospf6d: ospfv3-stub-area-support.patch 2015-05-19 18:03:40 -07:00
vector.c 2005-03-14 Paul Jakma <paul.jakma@sun.com> 2005-03-14 20:19:01 +00:00
vector.h 2005-05-06 Paul Jakma <paul@dishone.st> 2005-05-06 21:25:49 +00:00
version.h.in build: include git info 2012-12-12 15:34:37 +01:00
vty.c *: nuke ^L (page feed) 2014-06-04 06:58:02 +02:00
vty.h lib: Changes to VTY string-parsing macros to remove warnings 2013-01-07 09:59:51 -08:00
workqueue.c Some small enhancements to thread and workqueue libraries in zebra: 2015-05-19 17:58:10 -07:00
workqueue.h Some small enhancements to thread and workqueue libraries in zebra: 2015-05-19 17:58:10 -07:00
zassert.h Need RCS Id keyword. 2004-12-03 18:01:04 +00:00
zclient.c Multi-Instance OSPF Summary 2015-05-19 18:03:42 -07:00
zclient.h Multi-Instance OSPF Summary 2015-05-19 18:03:42 -07:00
zebra.h zebra-redistribute-table.patch 2015-05-19 18:03:42 -07:00