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

Attachment: 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

Reply via email to