Hi Lou,

Sorry for wrong alarm related to error message "UPDATE with
unsupported AFI/SAFI 0/0" error message".

Following the EVPN trial regarding remotes/labnc/patches/R1.0.20160315+vnc/v2,
I managed to compile, launch, and exchange BGP messages through a mesh
configuration.

I will continue the review the patch code, and get back to you quickly,

Best Regards,

Philippe

On Mon, Jun 6, 2016 at 6:00 PM, Philippe Guibert
<philippe.guib...@6wind.com> wrote:
> 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

_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to