summaryrefslogtreecommitdiffstats
path: root/bgpd/rfapi/rfapi_import.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bgp rfapi: fix resolution / lookup failure when using MPLS TTLou Berger2017-01-311-2/+9
| | | | Signed-off-by: Lou Berger <lberger@labn.net>
* bgpd rfapi: Shift rfapi receive hooks for vpn and encap safis intoG. Paul Ziemba2017-01-241-0/+6
| | | | | | bgp_update/bgp_withdraw (Issue #91) Signed-off-by: G. Paul Ziemba <paulz@labn.net>
* bgpd rfapi: use VN as nexthop for MPLS tunnels tooLou Berger2017-01-171-4/+1
| | | | | | Also minor show format cleanup Signed-off-by: Lou Berger <lberger@labn.net>
* bgp: Use intern/unintern for encap to fix valgrind identified memory leakLou Berger2017-01-021-0/+4
| | | | Signed-off-by: Lou Berger <lberger@labn.net>
* rfapi: pickup recent changesLou Berger2017-01-021-0/+45
| | | | | | | | | expose bgp_rfapi_get_group_by_lni_label for use by rfp add EVPN Ethernet Tag (VID) RT ensure as is init'ed fix spelling of information Signed-off-by: Lou Berger <lberger@labn.net>
* bgpd vnc: Add 'debug bgp vnc verbose' targetLou Berger2016-12-081-103/+109
| | | | | | all vnc debug logging is now covered by a 'debug bgp vnc' target Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* bgpd: Fix crashes when no default bgp instance is configured.Donald Sharp2016-12-011-1/+2
| | | | | | | | | | The vnc code assumes that bgp must have a default instance. This code change checks to make sure that we do before proceeding. It makes no assurances that vnc will behave correctly without a default instance. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* some rfapi compile fixesDaniel Walton2016-10-051-4/+0
| | | | Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
* vnc: use directories in includes (request from Martin W.)Lou Berger2016-10-031-32/+32
|
* bgpd: add L3/L2VPN Virtual Network Control featureLou Berger2016-10-031-0/+5154
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.