summaryrefslogtreecommitdiffstats
path: root/bgpd/rfp-example (follow)
Commit message (Collapse)AuthorAgeFilesLines
* build: properly split CFLAGS from AC_CFLAGSDavid Lamparter2021-04-211-1/+4
| | | | | | | | `CFLAGS` is a "user variable", not intended to be controlled by configure itself. Let's put all the "important" stuff in AC_CFLAGS and only leave debug/optimization controls in CFLAGS. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* Treewide: use ANSI function definitionsRuben Kerkhof2019-01-242-2/+2
| | | | Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
* bgpd: don't show default value in configurationRafael Zalamena2018-12-061-2/+2
| | | | | | | | | | | Don't show the configuration line `rfp full-table-download off` by default as it is not the default value, instead only show `rfp full-table-download on` (the non-default value) when it is configured. This standardizes this knob to the FRR default behavior. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
* build: make rfptest and ospfclient "noinst"David Lamparter2018-10-281-1/+1
| | | | | | | | | | Both of these are testing/demo-style tools that don't make sense as part of a normal installation. So don't install them. NB: this is only the executables, libospfclient and the RFP code are not affected. Signed-off-by: David Lamparter <equinox@diac24.net>
* *: fix config.h/zebra.h include orderDavid Lamparter2018-09-082-0/+7
| | | | | | | | config.h (or, transitively, zebra.h) must be the first include file listed for autoconf things like _GNU_SOURCE and _POSIX_C_SOURCE to work correctly. Signed-off-by: David Lamparter <equinox@diac24.net>
* build: move RFPLDADD to bgpd/rfp-example/librfpDavid Lamparter2018-09-082-1/+2
| | | | | | | This makes it slightly easier to replace the stub RFP code with an external implementation. Signed-off-by: David Lamparter <equinox@diac24.net>
* build: non-recursive bgpd & rfpDavid Lamparter2018-09-086-92/+56
| | | | | | | | Note: no more --with-rfp-path on configure - badly messing with the build system like this really isn't how to do a conditional external dependency. Signed-off-by: David Lamparter <equinox@diac24.net>
* Merge pull request #2934 from ↵David Lamparter2018-09-041-1/+59
|\ | | | | | | | | LabNConsulting/working/master/rfapi_topotest_support add some testing support for use in rfapi topotest
| * rfp_example: add 'rfp full-table-download' config to support topotestLou Berger2018-08-291-0/+33
| | | | | | | | Signed-off-by: Lou Berger <lberger@labn.net>
| * rfp_example: add rfp holddown-factor to support topotestLou Berger2018-08-291-1/+26
| | | | | | | | Signed-off-by: Lou Berger <lberger@labn.net>
* | bgpd, ripngd: Convert to using new agg_table/routeDonald Sharp2018-08-301-1/+1
|/ | | | | | | | Switch bgp and ripngd to use the new aggregate table and route data structures. This was mainly a search and replace operation. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* *: add missing \n in some help stringsRenato Westphal2017-10-241-1/+1
| | | | Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* *: reindentreindent-master-afterwhitespace / reindent2017-07-175-117/+111
| | | | | | indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'` Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* *: remove VTYNL, part 1 of 6David Lamparter2017-07-141-1/+1
| | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* *: vty_outln (vty, "") --> vty_out (vty, VTYNL)Quentin Young2017-06-291-1/+1
| | | | Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* *: use vty_outlnQuentin Young2017-06-291-1/+1
| | | | | | Saves 400 lines Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* *: remove VTY_GET_*Quentin Young2017-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CLI validates input tokens, so there's no need to do it in handler functions anymore. spatch follows ---------------- @getull@ expression v; expression str; @@ <... - VTY_GET_ULL(..., v, str) + v = strtoull (str, NULL, 10) ...> @getul@ expression v; expression str; @@ <... - VTY_GET_ULONG(..., v, str) + v = strtoul (str, NULL, 10) ...> @getintrange@ expression name; expression v; expression str; @@ <... - VTY_GET_INTEGER_RANGE(name, v, str, ...) + v = strtoul (str, NULL, 10) ...> @getint@ expression v; expression str; @@ <... - VTY_GET_INTEGER(..., v, str) + v = strtoul (str, NULL, 10) ...> @getv4@ expression v; expression str; @@ <... - VTY_GET_IPV4_ADDRESS(..., v, str) + inet_aton (str, &v) ...> @getv4pfx@ expression v; expression str; @@ <... - VTY_GET_IPV4_PREFIX(..., v, str) + str2prefix_ipv4 (str, &v) ...> Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* *: make consistent & update GPLv2 file headersDavid Lamparter2017-05-155-20/+15
| | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/stable/2.0'Donald Sharp2017-02-071-1/+1
|\
| * *: Convert libzebra -> libfrrDonald Sharp2017-02-031-1/+1
| | | | | | | | | | | | | | The library libzebra that is installed with FRR will conflict with Quagga. So let's rename it to libfrr. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | bgpd: Fixup some vnc cliDonald Sharp2017-01-091-1/+3
| | | | | | | | | | | | | | Fixup the vnc cli to use the new syntax as well as fixup a bunch of cli help strings that were wrong. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | Merge remote-tracking branch 'origin/stable/2.0'Donald Sharp2017-01-061-0/+1
|\|
| * bgpd/rfp: ignore rfptest binaryChristian Franke2016-12-081-0/+1
| | | | | | | | Signed-off-by: Christian Franke <chris@opensourcerouting.org>
* | *: fix remaining vty->index & add coccinelle patchDavid Lamparter2016-12-091-1/+1
| | | | | | | | | | | | | | | | Fix instances that the coccinelle patch didn't catch (or which coccinelle couldn't parse), and add the patch file for future posterity (and application to yet-unmerged branches). Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* | bgpd/rfpapi: update for new CLIDavid Lamparter2016-11-291-1/+1
|/ | | | | | May contain bugs/mistakes. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* vnc: use directories in includes (request from Martin W.)Lou Berger2016-10-033-5/+5
|
* bgpd: add L3/L2VPN Virtual Network Control featureLou Berger2016-10-037-0/+496
This feature adds an L3 & L2 VPN application that makes use of the VPN and Encap SAFIs. This code is currently used to support IETF NVO3 style operation. In NVO3 terminology it provides the Network Virtualization Authority (NVA) and the ability to import/export IP prefixes and MAC addresses from Network Virtualization Edges (NVEs). The code supports per-NVE tables. The NVE-NVA protocol used to communicate routing and Ethernet / Layer 2 (L2) forwarding information between NVAs and NVEs is referred to as the Remote Forwarder Protocol (RFP). OpenFlow is an example RFP. For general background on NVO3 and RFP concepts see [1]. For information on Openflow see [2]. RFPs are integrated with BGP via the RF API contained in the new "rfapi" BGP sub-directory. Currently, only a simple example RFP is included in Quagga. Developers may use this example as a starting point to integrate Quagga with an RFP of their choosing, e.g., OpenFlow. The RFAPI code also supports the ability import/export of routing information between VNC and customer edge routers (CEs) operating within a virtual network. Import/export may take place between BGP views or to the default zebera VRF. BGP, with IP VPNs and Tunnel Encapsulation, is used to distribute VPN information between NVAs. BGP based IP VPN support is defined in RFC4364, BGP/MPLS IP Virtual Private Networks (VPNs), and RFC4659, BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN . Use of both the Encapsulation Subsequent Address Family Identifier (SAFI) and the Tunnel Encapsulation Attribute, RFC5512, The BGP Encapsulation Subsequent Address Family Identifier (SAFI) and the BGP Tunnel Encapsulation Attribute, are supported. MAC address distribution does not follow any standard BGB encoding, although it was inspired by the early IETF EVPN concepts. The feature is conditionally compiled and disabled by default. Use the --enable-bgp-vnc configure option to enable. The majority of this code was authored by G. Paul Ziemba <paulz@labn.net>. [1] http://tools.ietf.org/html/draft-ietf-nvo3-nve-nva-cp-req [2] https://www.opennetworking.org/sdn-resources/technical-library Now includes changes needed to merge with cmaster-next.