Hi Lou, I am looking deeper at EVPN implementation, with patch "VNC; L3 & L2 VPN application support". To get more familiar with this, I tried to mount a setup based on Mesh NVA configuration example that can be found on doc/vnc.texi file, and make a BGP exchange between the two BGP speakers. At establishment, I got this error message : unsupported AFI/SAFI 0/0.
So , I am wondering if there is a setup issue, or a side effect due to some mis-configurations ? I only took 2 BGP Speakers instead of 3 ( I don't think it should affect the behaviour). I am based on (HEAD, origin/patches/LabN/R1.0.20160315+vnc/v2) bgpd: add L3/L2VPN I compiled with vnc support, and tested on ubuntu14.04 release. You can find attached the log message obtained on my console, as well as the bgp configuration used, and the wireshark capture file during the BGP exchange. Do you have an idea how I could overcome this issue ? Thanks in advance, Best Regards, Philippe ================================================================================ *error messages i had* 2016/06/06 17:08:33 BGP: %ADJCHANGE: neighbor 10.125.0.1 Up 2016/06/06 17:08:34 BGP: unknown afi/safi (0/0) 2016/06/06 17:08:34 BGP: 10.125.0.1 [Info] UPDATE with unsupported AFI/SAFI 0/0 2016/06/06 17:08:34 BGP: unknown afi/safi (0/0) 2016/06/06 17:08:34 BGP: 10.125.0.1 [Info] UPDATE with unsupported AFI/SAFI 0/0 2016/06/06 17:08:34 BGP: unknown afi/safi (0/0) 2016/06/06 17:08:34 BGP: 10.125.0.1 [Info] UPDATE with unsupported AFI/SAFI 0/0 2016/06/06 17:08:34 BGP: unknown afi/safi (0/0) 2016/06/06 17:08:34 BGP: 10.125.0.1 [Info] UPDATE with unsupported AFI/SAFI 0/0 2016/06/06 17:08:39 BGP: Import timer expired. *configuration used * hostname nva1 password zebra log stdout service advanced-vty ! router bgp 64512 bgp router-id 10.125.0.2 neighbor 10.125.0.1 remote-as 64512 ! address-family vpnv4 neighbor 10.125.0.1 activate exit-address-family vnc defaults rd 64512:1 response-lifetime 200 rt both 1000:1 1000:2 exit-vnc ! hostname nva2 password zebra log stdout service advanced-vty ! router bgp 64512 bgp router-id 10.125.0.1 neighbor 10.125.0.2 remote-as 64512 ! address-family vpnv4 neighbor 10.125.0.2 activate exit-address-family vnc defaults rd 64512:1 response-lifetime 200 rt both 1000:1 1000:2 exit-vnc ! vnc nve-group group1 prefix vn 172.16.128.0/17 rd 64512:1 rt both 1000:1 1000:2 exit-vnc ! On Tue, May 17, 2016 at 1:10 PM, Lou Berger <lber...@labn.net> wrote: > This patch set 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 (VRFs/VSIs). > > 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. 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 to 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 zebra 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. The code is tunnely type > agnostic. MAC address distribution does not follow any standard BGB > encoding, although it was inspired by the early IETF EVPN concepts. > The intent is that the RF API would not need to change with support > of standards-based EVPN. > > The feature is conditionally compiled and disabled by default. > Use the --enable-bgp-vnc configure option to enable. > > Collectively, we refer to this feature as Virtual Network > Control, or VNC. > > The majority of this code was authored by G. Paul Ziemba > <pa...@labn.net>. This patch set is also available at > https://github.com/LabNConsulting/quagga-vnc/tree/patches/R1.0.20160315+vnc/v2 > > The following patches are included in the patch set. > > basic rel1.0 cleanup: > [PATCH 01/10] lib: fix memory leak in zprivs_caps_init > [PATCH 02/10] lib/vty: silence clang -Wparentheses-equality > [PATCH 03/10] bgpd: cleanup clang uninitialized variable warning > > debug/testing support: > [PATCH 04/10] bgp: add "debug bgp allow-martians" next hops and > [PATCH 05/10] bgpd: add -S / --skip_runas flag to not change > [PATCH 06/10] lib: dump memory stats on core > > some standalone lib changes in support of vnc > [PATCH 07/10] lib: add skiplist > [PATCH 08/10] lib: add route_table_get_default_delegate > [PATCH 09/10] lib: add AF_ETHERNET/AFI_ETHER > > vnc/rfapi: > [PATCH 10/10] bgpd: add L3/L2VPN Virtual Network Control feature > > overall: > Makefile.am | 5 +- > bgpd/Makefile.am | 77 +- > bgpd/bgp_attr.c | 90 +- > bgpd/bgp_attr.h | 18 + > bgpd/bgp_debug.c | 58 + > bgpd/bgp_debug.h | 3 + > bgpd/bgp_ecommunity.c | 4 +- > bgpd/bgp_ecommunity.h | 3 + > bgpd/bgp_encap.c | 12 + > bgpd/bgp_main.c | 20 +- > bgpd/bgp_mplsvpn.c | 73 +- > bgpd/bgp_mplsvpn.h | 29 + > bgpd/bgp_nexthop.h | 2 + > bgpd/bgp_open.c | 2 + > bgpd/bgp_route.c | 255 +- > bgpd/bgp_route.h | 39 + > bgpd/bgp_routemap.c | 7 + > bgpd/bgp_vnc_types.h | 41 + > bgpd/bgp_zebra.c | 16 + > bgpd/bgpd.c | 31 +- > bgpd/bgpd.conf.vnc.sample | 89 + > bgpd/bgpd.h | 16 + > bgpd/rfapi/bgp_rfapi_cfg.c | 4665 +++++++++++++++++++++++++++ > bgpd/rfapi/bgp_rfapi_cfg.h | 312 ++ > bgpd/rfapi/rfapi.c | 4405 ++++++++++++++++++++++++++ > bgpd/rfapi/rfapi.h | 982 ++++++ > bgpd/rfapi/rfapi_ap.c | 629 ++++ > bgpd/rfapi/rfapi_ap.h | 99 + > bgpd/rfapi/rfapi_backend.h | 92 + > bgpd/rfapi/rfapi_descriptor_rfp_utils.c | 136 + > bgpd/rfapi/rfapi_descriptor_rfp_utils.h | 39 + > bgpd/rfapi/rfapi_encap_tlv.c | 812 +++++ > bgpd/rfapi/rfapi_encap_tlv.h | 43 + > bgpd/rfapi/rfapi_import.c | 5064 > ++++++++++++++++++++++++++++++ > bgpd/rfapi/rfapi_import.h | 275 ++ > bgpd/rfapi/rfapi_monitor.c | 1644 ++++++++++ > bgpd/rfapi/rfapi_monitor.h | 215 ++ > bgpd/rfapi/rfapi_nve_addr.c | 179 ++ > bgpd/rfapi/rfapi_nve_addr.h | 43 + > bgpd/rfapi/rfapi_private.h | 426 +++ > bgpd/rfapi/rfapi_rib.c | 2436 ++++++++++++++ > bgpd/rfapi/rfapi_rib.h | 145 + > bgpd/rfapi/rfapi_vty.c | 5037 > +++++++++++++++++++++++++++++ > bgpd/rfapi/rfapi_vty.h | 223 ++ > bgpd/rfapi/vnc_debug.c | 230 ++ > bgpd/rfapi/vnc_debug.h | 49 + > bgpd/rfapi/vnc_export_bgp.c | 2204 +++++++++++++ > bgpd/rfapi/vnc_export_bgp.h | 42 + > bgpd/rfapi/vnc_export_bgp_p.h | 95 + > bgpd/rfapi/vnc_export_table.c | 215 ++ > bgpd/rfapi/vnc_export_table.h | 85 + > bgpd/rfapi/vnc_import_bgp.c | 3173 +++++++++++++++++++ > bgpd/rfapi/vnc_import_bgp.h | 93 + > bgpd/rfapi/vnc_import_bgp_p.h | 51 + > bgpd/rfapi/vnc_zebra.c | 1141 +++++++ > bgpd/rfapi/vnc_zebra.h | 67 + > bgpd/rfp-example/librfp/Makefile.am | 39 + > bgpd/rfp-example/librfp/rfp.h | 31 + > bgpd/rfp-example/librfp/rfp_example.c | 286 ++ > bgpd/rfp-example/librfp/rfp_internal.h | 29 + > bgpd/rfp-example/rfptest/Makefile.am | 51 + > bgpd/rfp-example/rfptest/rfptest.c | 32 + > bgpd/rfp-example/rfptest/rfptest.h | 26 + > configure.ac | 35 + > doc/Makefile.am | 33 +- > doc/bgpd.8 | 5 +- > doc/bgpd.texi | 5 + > doc/fig-vnc-commercial-route-reflector.dia | 794 +++++ > doc/fig-vnc-commercial-route-reflector.png | Bin 0 -> 50984 bytes > doc/fig-vnc-commercial-route-reflector.txt | 0 > doc/fig-vnc-gw-rr.dia | 1155 +++++++ > doc/fig-vnc-gw-rr.png | Bin 0 -> 80004 bytes > doc/fig-vnc-gw-rr.txt | 0 > doc/fig-vnc-gw.dia | 1058 +++++++ > doc/fig-vnc-gw.png | Bin 0 -> 67376 bytes > doc/fig-vnc-gw.txt | 0 > doc/fig-vnc-mesh.dia | 1071 +++++++ > doc/fig-vnc-mesh.png | Bin 0 -> 61028 bytes > doc/fig-vnc-mesh.txt | 0 > doc/fig-vnc-quagga-route-reflector.dia | 763 +++++ > doc/fig-vnc-quagga-route-reflector.png | Bin 0 -> 49978 bytes > doc/fig-vnc-quagga-route-reflector.txt | 0 > doc/fig-vnc-redundant-route-reflectors.dia | 871 +++++ > doc/fig-vnc-redundant-route-reflectors.png | Bin 0 -> 75353 bytes > doc/fig-vnc-redundant-route-reflectors.txt | 0 > doc/ospfd.texi | 4 + > doc/quagga.texi | 8 +- > doc/routemap.texi | 2 +- > doc/vnc.texi | 1584 ++++++++++ > lib/Makefile.am | 6 +- > lib/command.c | 10 + > lib/command.h | 5 + > lib/log.c | 54 +- > lib/log.h | 7 + > lib/memtypes.c | 42 + > lib/plist.c | 5 + > lib/prefix.c | 114 +- > lib/prefix.h | 43 + > lib/privs.c | 7 + > lib/route_types.txt | 14 +- > lib/sigevent.c | 2 + > lib/skiplist.c | 668 ++++ > lib/skiplist.h | 144 + > lib/table.c | 6 + > lib/table.h | 3 + > lib/vty.c | 5 +- > lib/zebra.h | 9 +- > redhat/quagga.spec.in | 6 + > ripd/rip_zebra.c | 1 + > ripngd/ripng_zebra.c | 1 + > tests/Makefile.am | 17 +- > vtysh/Makefile.am | 22 +- > vtysh/extract.pl.in | 8 +- > vtysh/vtysh.c | 101 + > vtysh/vtysh_config.c | 9 + > zebra/zserv.c | 6 + > 116 files changed, 45373 insertions(+), 60 deletions(-) > > _______________________________________________ > Quagga-dev mailing list > Quagga-dev@lists.quagga.net > https://lists.quagga.net/mailman/listinfo/quagga-dev
exported_nva_operation_setup.pcap
Description: application/vnd.tcpdump.pcap
_______________________________________________ Quagga-dev mailing list Quagga-dev@lists.quagga.net https://lists.quagga.net/mailman/listinfo/quagga-dev