summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_pw.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* *: require semicolon after DEFINE_QOBJ & co.David Lamparter2021-03-171-2/+2
| | | | | | Again, see previous commits. Signed-off-by: David Lamparter <equinox@diac24.net>
* *: require semicolon after DEFINE_HOOK & co.David Lamparter2021-03-171-2/+2
| | | | | | See previous commit. Signed-off-by: David Lamparter <equinox@diac24.net>
* ldpd: Relay data plane pseudowire status in LDP notificationKaren Schoener2020-06-011-1/+1
| | | | | | | | | | | | | Provide a way for the data plane to indicate pseudowire status (such as: not forwarding, AC failure). On a data plane pseudowire install failure, data plane sets the pseudowire status. Zebra relays the pseudowire status to LDP. LDP includes the pseudowire status in the LDP notification to the LDP peer. Signed-off-by: Karen Schoener <karen@voltanet.io>
* add cplusplus guards to all zebra headersEmanuele Di Pascale2019-03-251-0/+8
| | | | Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
* zebra: convert PW updates to async dataplaneMark Stapp2019-01-251-2/+2
| | | | | | | | Add accessors for pw attributes; init pw attributes; replace 'hook' calls for pw install/uninstall with dplane apis. Signed-off-by: Mark Stapp <mjs@voltanet.io>
* zebra: use hooks for client lifecycle callbacksQuentin Young2018-04-231-1/+0
| | | | | | | | | zserv.c was using hardcoded callbacks to clean up various components when a client disconnected. Ergo zserv.c had to know about all these unrelated components that it should not care about. We have hooks now, let's use the proper thing instead. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* zebra: clean up zapi organizationQuentin Young2018-04-231-2/+5
| | | | | | | | | | | | | 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: add support for static pseudowiresRenato Westphal2017-08-091-2/+9
| | | | Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* zebra: add nexthop tracking for pseudowiresRenato Westphal2017-08-091-0/+1
| | | | | | | | If the remote end of a pseudowire becomes unreachable (no route or an unlabeled route), then it must be uninstalled. In the same way, when the remote end becomes reachable, the pseudowire must be installed. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* zebra: add pseudowire managerßingen2017-08-091-0/+67
Base framework for supporting MPLS pseudowires in FRR. A consistent zserv interface is provided so that any client daemon (e.g. ldpd, bgpd) can install/uninstall pseudowires in a standard way. Static pseudowires can also be implemented by using the same interface. When zebra receives a request to install a pseudowire and the installation in the kernel or hardware fails, a notification is sent back to the client daemon and a new install attempt is made every 60 seconds (until it succeeds). Support for external dataplanes is provided by the use of hooks to install/uninstall pseudowires. Signed-off-by: ßingen <bingen@voltanet.io> Signed-off-by: Renato Westphal <renato@opensourcerouting.org>