summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_encap.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bgpd rfapi: Shift rfapi receive hooks for vpn and encap safis intoG. Paul Ziemba2017-01-241-8/+0
| | | | | | bgp_update/bgp_withdraw (Issue #91) Signed-off-by: G. Paul Ziemba <paulz@labn.net>
* bgp: Modify output to be a bit clearerDonald Sharp2016-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify the 'show ip bgp ...' output to be a bit clearer on what work it did. Modify: root@dell-s6000-02 ~/quagga# vtysh -c "show ip bgp" BGP table version is 7, local router ID is 6.0.0.9 Status codes: s suppressed, d damped, h history, * valid, > best, = multipath, i internal, r RIB-failure, S Stale, R Removed Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 6.0.0.5/32 169.254.0.1 0 0 65101 ? *> 6.0.0.6/32 169.254.0.17 0 0 65101 ? *> 6.0.0.7/32 169.254.0.33 0 0 65104 ? *> 6.0.0.8/32 169.254.0.49 0 0 65104 ? *> 6.0.0.9/32 0.0.0.0 0 32768 ? *= 6.0.0.10/32 169.254.0.49 0 65104 65200 ? *= 169.254.0.33 0 65104 65200 ? *= 169.254.0.17 0 65101 65200 ? *> 169.254.0.1 0 65101 65200 ? Displayed 6 out of 9 total prefixes To ..... Displayed 6 routes and 9 total paths Issue #11 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* bgpd: make bgp_nlri_parse_encap conform with other nlri_parse funcsPaul Jakma2016-10-261-5/+4
| | | | | | | | | * bgp_encap.{c,h} (bgp_nlri_parse_encap) afi is already in the NLRI argument. update or withdraw is signalled by attr being non-NULL or NULL. * bgp_packet.c: (update_receive) fixup to match, and also make the attr argument conform with NLRI_ATTR_ARG for correct error handling on optional, transitive, partial, attributes.
* bgpd: fix memory leaks in show commandsChristian Franke2016-10-211-21/+17
| | | | | | | | | | | sockunion_str2su allocates a struct sockunion that used to be leaked in the show commands. Use str2sockunion and keep the information on the stack instead. Signed-off-by: Christian Franke <chris@opensourcerouting.org> Signed-off-by: Christian Franke <chris@opensourcerouting.org> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com> Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
* *: Consolidate all double VIEW_NODE and ENABLE_NODE'sDonald Sharp2016-10-081-23/+0
| | | | | | | | If a command is put into the VIEW_NODE, it is going into the ENABLE_NODE as well. This is especially true for show commands. As such if a command is in both consolidate it down to VIEW_NODE. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* vnc: use directories in includes (request from Martin W.)Lou Berger2016-10-031-1/+1
|
* bgpd: add L3/L2VPN Virtual Network Control featureLou Berger2016-10-031-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* bgpd: eliminate RD related duplicate code in bgp_encap.cLou Berger2016-09-301-45/+0
| | | | decode_rd_... apis are declared global in bgp_mplsvpn.c
* bgpd, lib, vtysh: hook up bgp ENCAP CLI nodeLou Berger2016-06-121-3/+2
| | | | | | | | | | | Signed-off-by: Lou Berger <lberger@labn.net> Signed-off-by: David Lamparter <equinox@opensourcerouting.org> (cherry picked from commit a3fda886cdd48b6d8c421ebb1401142fa9ee93b0) Conflicts: bgpd/bgp_vty.c bgpd/bgpd.c vtysh/vtysh_config.c
* bgpd: encap: add encap SAFI (RFC5512)Lou Berger2016-06-121-0/+992
Adds RFC5512 and Encapsulation Attribute. Signed-off-by: Lou Berger <lberger@labn.net> (cherry picked from commit 298cc2f688dbadf0a447fcd06ae8e20fa5006ce4) Conflicts: bgpd/Makefile.am bgpd/bgp_attr.c bgpd/bgp_open.c bgpd/bgp_packet.c bgpd/bgp_route.c bgpd/bgp_vty.c bgpd/bgpd.c