summaryrefslogtreecommitdiff
path: root/zebra/zebra_mpls_netlink.c
AgeCommit message (Collapse)Author
2020-11-27zebra: dplane FPM handle LSP install/update/deleteDuncan Eastoe
Export netlink_lsp_msg_encoder() and use it to encode and send netlink messages concerning LSP updates to connected FPMs. Signed-off-by: Duncan Eastoe <duncan.eastoe@att.com>
2020-08-10zebra: remove old kernel one-update-at-a-time apiJakub Urbańczyk
The old one is replaced by the api that is suitable for the batching. Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
2020-08-10zebra: netlink message batchingJakub Urbańczyk
Integrate existing functions with batching infrastructure. Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
2020-06-13zebra: check for buffer boundaryJakub Urbańczyk
* Move code encoding Netlink messages to separate functions * Add buffer bounds checking while creating Nelink messages Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
2019-01-25zebra: convert PW updates to async dataplaneMark Stapp
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>
2019-01-22zebra: openbsd LSP update codeMark Stapp
Finish the LSP update code for the async dataplane for the openbsd platform. Remove synch apis now that we've converted to the async code path. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-01-22zebra: move LSP updates into dataplane subsystemMark Stapp
Start performing LSP updates through the async dataplane subsystem. This is plumbed through for linux/netlink. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2019-01-22zebra: infra for LSP updates using dplaneMark Stapp
Adding infra to zebra dplane to support LSP updates. Add kernel api for LSP updates that uses a dataplane context; add stub apis for netlink, bsd, and 'null' kernel paths. Add version of netlink mpls update code that takes a dplane context struct instead of a zebra lsp struct. Signed-off-by: Mark Stapp <mjs@voltanet.io>
2018-09-19zebra: Create zebra_dplane.c and .hMark Stapp
Add first sketchy 'dplane' files. Signed-off-by: Mark Stapp <mjs@voltanet.io> Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-30zebra: Add `enum dp_req_result` to lsp install/deletesDonald Sharp
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-05-30zebra: Rename SOUTHBOUND_XXX to DP_XXXDonald Sharp
The SOUTHBOUND_XXX enum was named a bit poorly. Let's use a bit better name for what we are trying to do. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-03-06*: conform with COMMUNITY.md formatting rules, via 'make indent'Lou Berger
Signed-off-by: Lou Berger <lberger@labn.net>
2017-11-29zebra: Fix route replace flagsDonald Sharp
When doing a route replace, on openbsd we were not marking the old lsp as no longer installed, while on linux we were. Move the abstraction up a layer. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-11-29zebra: Fix lsp add/del from kernel using SETFLAGDonald Sharp
Setup a interface such that the add/del of lsp's from the kernel can have a callback for success/failure. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-11-16zebra: Move some LSP flag handling to common codeDonald Sharp
The LSP_FLAG_CHANGED and LSP_FLAG_INSTALLED flags should be handled in the common call function for adding/updating/removing a lsp to/from the kernel. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-27zebra: Add back in lsp replace semantics.Donald Sharp
When we have a update, we need to use replace semantics with the kernel. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-10-27zebra: Move clear_nhlfe_installed to calling functionsDonald Sharp
The function clear_nhlfe_installed is to be called when we get a install failure of some sort for a lsp change. Since an install failure can happen in both linux and openBSD moving the function call northbound is a good idea. I've also added it to the kernel_del_lsp for completeness on failure as well, even though neither linux or openBSD currently can fail a uninstall. This still leaves the hole where if we have multiple nhlfes and have an install failure we are not quite doing the right thing by just blanketly calling clear_nhlfe_installed. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-07-31build: zebra: remove *_method Makefile hacksDavid Lamparter
replace with preprocessor checks in source files. Much simpler... Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-17*: reindentreindent-master-afterwhitespace / reindent
indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'` Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15*: make consistent & update GPLv2 file headersDavid Lamparter
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>
2016-11-14*: fix some licensing SNAFUsDavid Lamparter
bgpd/bgpd.c had a typo zebra/zebra_mpls_netlink.c was derived from rt_netlink.c isisd/include-netbsd/* are not needed (2 constants moved over) Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2016-09-23zebra: check at startup if the kernel supports MPLSRenato Westphal
Replace all HAVE_MPLS #ifdef's by a run-time check if MPLS is supported by the kernel or not. This way we don't need to create multiple packages for each OS distribution. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2016-09-23mpls: add support to the OpenBSD kernelRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2016-09-23mpls: add null driverRenato Westphal
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>