summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_routemap.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* zebra: Disable rmap update thread before routemap_finish while shutting down ↵saravanank2020-03-171-0/+1
| | | | | | | | | | | | | | | | zebra Problem: While zebra going down, rmap update thread is being called as part of timer event. This make zebra to crash. RCA: At this time route_map_master_hash is made to 0 by sig int handler. This is causing Zebrad to crash while executing rmap update thread Fix: As part of SIGINT handler, before calling routemap_finish, thread off any routemap update scheduled at that point and make sure that it wont get scheduled again by making the timeout as 0. Signed-off-by: Saravanan K <saravanank@vmware.com>
* add cplusplus guards to all zebra headersEmanuele Di Pascale2019-03-251-0/+8
| | | | Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
* zebra: consolidate how we indentify address-families in the NHT codeRenato Westphal2019-01-211-1/+1
| | | | | | | | | | | | | | | | Favor usage of the afi_t enumeration to identify address-families over using the classic AF_INET[6] constants for that. The choice to use either of the two seems to be mostly arbitrary throughout our code base, which leads to confusion and bugs like the one fixed by commit 6f95d11a1. To address this problem, favor usage of the afi_t enumeration whenever possible, since 1) it's an enumeration (helps the compilers to catch some bugs), 2) has a safi_t sibling and 3) can be used to index static arrays. AF_INET[6] should then be used only when interfacing with the kernel or external libraries like libc. The family2afi() and afi2family() functions can be used to convert between the two different representations back and forth. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* zebra: vrf aware routmap is missing in Zebra #2802(Part 4 of 4)vishaldhingra2018-10-111-4/+4
| | | | | | The new cli for show output Signed-off-by: vishaldhingra vdhingra@vmware.com
* zebra: vrf aware routmap is missing in Zebra #2802(Part 1 of 4)vishaldhingra2018-10-111-3/+3
| | | | | | | Work to handle the route-maps, namely the header changes in zebra_vrf.h and the mapping of using that everywhere Signed-off-by: vishaldhingra vdhingra@vmware.com
* libs, daemons: use const in route-map applyMark Stapp2018-07-231-2/+3
| | | | | | | Use 'const prefix *' in route-map apply apis; led to some corresponding changes in several daemons. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* zebra, libs: use const prefix ptrs in apisMark Stapp2018-07-111-1/+1
| | | | | | | Add 'const' to prefix args to several zebra route update, redistribution, and route owner notification apis. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* zebra: Add 'match source-instance' to allow finer grained controlDonald Sharp2018-05-171-8/+8
| | | | | | | | | | | | | | Add to zebra route-maps the ability to match on a source-instance route-map FOO deny 55 match source-instance 5 route-map FOO permit 60 ip protocol any route-map FOO This will match any protocol route installation with a source-instance of 5. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* zebra: clean up zapi organizationQuentin Young2018-04-231-0/+2
| | | | | | | | | | | | | zserv.c has become something of a dumping ground for everything vaguely related to ZAPI and really needs some love. This change splits out the code fo building and consuming ZAPI messages into a separate source file, leaving the actual session and client lifecycle code in zserv.c. Unfortunately since the #include situation in Zebra has not been paid much attention I was forced to fix the headers in a lot of other source files. This is a net improvement overall though. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* zebra: Make zserv.h the true api for zapi northboundDonald Sharp2017-12-131-0/+1
| | | | | | | | zserv.c had a grab bag of function declarations that did not belong in it. Move those to where they better belong. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* *: reindentreindent-master-afterwhitespace / reindent2017-07-171-19/+16
| | | | | | indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'` Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* zebra: Refactor 'struct rib' to be 'struct route_entry'Donald Sharp2017-06-011-1/+1
| | | | | | | | | | The 'struct rib' data structure is missnamed. It really is a 'struct route_entry' as part of the 'struct route_node'. We have 1 'struct route_entry' per route src. As such 1 route node can have multiple route entries if multiple protocols attempt to install the same route. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* *: make consistent & update GPLv2 file headersDavid Lamparter2017-05-151-4/+3
| | | | | | | | | | | The FSF's address changed, and we had a mixture of comment styles for the GPL file header. (The style with * at the beginning won out with 580 to 141 in existing files.) Note: I've intentionally left intact other "variations" of the copyright header, e.g. whether it says "Zebra", "Quagga", "FRR", or nothing. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* *: Consistently support 32-bit route tagsChristian Franke2016-10-081-2/+2
| | | | | | | | | | | | | | | | | | | This patch improves zebra,ripd,ripngd,ospfd and bgpd so that they can make use of 32-bit route tags in the case of zebra,ospf,bgp or 16-bit route-tags in the case of ripd,ripngd. It is based on the following patch: commit d25764028829a3a30cdbabe85f32408a63cccadf Author: Paul Jakma <paul.jakma@hpe.com> Date: Fri Jul 1 14:23:45 2016 +0100 *: Widen width of Zserv routing tag field. But also contains the changes which make this actually useful for all the daemons. Signed-off-by: Christian Franke <chris@opensourcerouting.org>
* zebra: Add route-map support to ip import-tableDon Slice2016-05-131-0/+23
| | | | | | | | | | Added the ability to supply a route-map to the ip import-table command, which greatly improves filtering between the kernel prefixes in a non-default table that are imported into the zebra rib. Ticket:CM-8168 Signed-off-by: Donald Slice Reviewed By: Donald Sharp
* Create override for quagga reinstall of originated routesDonald Sharp2015-08-261-0/+28
Ticket: CM-7026 Reviewed by: CCR-3315 Testing: See bug Quagga-dev suggested these changes for the quagga override of originated routes.