This patch set corrects issues with IPv4 MPLS VPN (RF4364) SAFI support,
and adds support for IPv6 MPLS VPN (RFC4659), Encap SAFI and related
attribute and types (RFC5512, 5566).  These changes are appropriate for
use of BGPd as a route reflector for these SAFIs.  Import/export code
can be built on these core BGP mechanisms.  

This update addresses comments raised on list (thanks to Vivek and
Donald for comments) as well as CI/regression testing.  

The patch set can be viewed in four groups, but has only been fully
tested as a full set.

Group 1: 01 -> 09
  This group includes minor/miscellaneous changes made as part
  of the work on VPN and Encap SAFIs. 

Group 2: 10 -> 25
  This is the core VPN and Encap SAFI changes.  They also include
  configuration handlers, but not full show afi/safi changes.

Group 3: 24 -> 29

  This patch set adds show commands in the form
       show bgp <afi> <safi> ...

  While the motivation for this work was supporting IPv4|6 VPN|Encap
  SAFIs, we decided to support a generic afi/safi command form for
  existing commands as well for overall command consistency.
  Old/existing commands remain available for compatibility.  The patches
  are submitted in a way to facilitate removal of the old/non-generic
  from of commands if/when the decision is made to remove them.

Group 4: 30
   This change removes HAVE_IPV6 conditionals from the above as well as
   the rest of bgpd

G. Paul Ziemba is the primary author of these changes, with me doing
some additional changes.  This set replaces the set previously submitted
by Paul. The patch breakdown is based on (much appreciated) review and
changes done by David Lamparter.

This patch is available in the patches/master+mplsvpn+encap
branch on https://github.com/LabNConsulting/quagga-vnc .


Group 1: minor/miscellaneous changes
     [PATCH v2 01/30] lib: write "exit" to config after last route-map
     [PATCH v2 02/30] zebra: wire up "debug zebra packet detail"
     [PATCH v2 03/30] zebra: make RTF_LLINFO optional to fix FreeBSD
     [PATCH v2 04/30] zebra: additional redistribute related logging
     [PATCH v2 05/30] lib: fix bookkeeping for libreadline malloc()s
     [PATCH v2 06/30] lib: treat realloc of null pointer as alloc      Now
     [PATCH v2 07/30] lib: add "show commandtree" CLI command
     [PATCH v2 08/30] lib: add facility to log all CLI commands
     [PATCH v2 09/30] lib: add SAFI_ENCAP type, safi2str prefix utility

Group 2: core VPN and Encap SAFI changes
     [PATCH v2 10/30] bgpd: add nexthop length to AF macro
     [PATCH v2 11/30] bgpd: kill unused variable in bgp_socket()
     [PATCH v2 12/30] bgpd: make _vpnv4 static handling SAFI-agnostic
     [PATCH v2 13/30] bgpd: handle AS4 and EOI route distinguishers
     [PATCH v2 14/30] bgpd: wire up VPNv6 protocol processing
     [PATCH v2 15/30] *: hook up bgp VPNv6 CLI node
     [PATCH v2 16/30] bgpd: improve cleanup in bgp_delete()
     [PATCH v2 17/30] bgpd: tests - add null pointer protection to fix bgp
     [PATCH v2 18/30] bgpd: general MP/SAFI improvements
     [PATCH v2 19/30] bgpd: encap: extend extcommunity handling
     [PATCH v2 20/30] bgpd: encap: add attribute handling
     [PATCH v2 21/30] bgpd: encap: add encap SAFI (RFC5512)
     [PATCH v2 22/30] bgp: Reorg cleanup to align process and bgp instance
     [PATCH v2 23/30] *: hook up bgp ENCAP CLI node
     [PATCH v2 24/30] bgpd: cleanup vty bgp_node_afi/safi utils

Group 3: cli changes
     [PATCH v2 25/30] CLI: VPNv6 show commands
     [PATCH v2 26/30] CLI: encap show commands
     [PATCH v2 27/30] CLI: drop machineparse / random "show" improvements
     [PATCH v2 28/30] CLI: Add back old forms of 'show <afi> <safi>' for
     [PATCH v2 29/30] CLI: Add AFI/SAFI show commands to manual

Group 4: Removal of HAVE_IPV6 conditionals
     [PATCH v2 30/30] bgpd: remove HAVE_IPV6 conditionals

Overall:
 bgpd/Makefile.am       |    6 +-
 bgpd/bgp_attr.c        |  474 ++-
 bgpd/bgp_attr.h        |   20 +-
 bgpd/bgp_debug.c       |    2 -
 bgpd/bgp_ecommunity.c  |   37 +-
 bgpd/bgp_ecommunity.h  |    6 +-
 bgpd/bgp_encap.c       |  978 ++++++
 bgpd/bgp_encap.h       |   34 +
 bgpd/bgp_encap_tlv.c   | 1011 +++++++
 bgpd/bgp_encap_tlv.h   |  177 ++
 bgpd/bgp_encap_types.h |  212 ++
 bgpd/bgp_main.c        |    6 +-
 bgpd/bgp_mpath.c       |    4 -
 bgpd/bgp_mplsvpn.c     |  539 +++-
 bgpd/bgp_mplsvpn.h     |    4 +-
 bgpd/bgp_network.c     |   51 -
 bgpd/bgp_nexthop.c     |   49 +-
 bgpd/bgp_nexthop.h     |   11 +
 bgpd/bgp_open.c        |   49 +-
 bgpd/bgp_packet.c      |  106 +-
 bgpd/bgp_route.c       | 9905 
++++++++++++++++++++++++++++++++++++++++--------------------
 bgpd/bgp_route.h       |   14 +-
 bgpd/bgp_routemap.c    |   14 +-
 bgpd/bgp_table.h       |    4 -
 bgpd/bgp_vty.c         | 1391 +++++++--
 bgpd/bgp_vty.h         |    6 +
 bgpd/bgp_zebra.c       |   28 +-
 bgpd/bgp_zebra.h       |    3 +-
 bgpd/bgpd.c            |   67 +-
 bgpd/bgpd.h            |    4 +-
 doc/bgpd.texi          |   25 +
 lib/command.c          |   90 +-
 lib/command.h          |    4 +
 lib/memory.c           |    3 +
 lib/memtypes.c         |    1 +
 lib/prefix.c           |   16 +
 lib/prefix.h           |    1 +
 lib/routemap.c         |    2 +
 lib/vty.c              |   43 +-
 lib/zebra.h            |    3 +-
 tests/bgp_mpath_test.c |    3 +-
 vtysh/extract.pl.in    |    3 +
 vtysh/vtysh.c          |  106 +-
 vtysh/vtysh_config.c   |    9 +
 zebra/debug.c          |    5 +-
 zebra/kernel_socket.c  |    2 +
 zebra/redistribute.c   |   18 +-
 47 files changed, 11747 insertions(+), 3799 deletions(-)






_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to