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.
The patch set can be viewed in three groups, but has only been fully
tested as a full set.
Group 1: 01/25 -> 08/25
This group includes minor/miscellaneous changes made as part
of the work on VPN and Encap SAFIs.
Group 2: 09/25 -> 20/25
This is the core VPN and Encap SAFI changes. They also include
configuration handlers, but not full show afi/safi changes.
Group 3: 21/25 -> 25/25
3 files changed, 5728 insertions(+), 1577 deletions(-)
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.
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 01/25] lib: write "exit" to config after last route-map
[PATCH 02/25] zebra: wire up "debug zebra packet detail"
[PATCH 03/25] zebra: make RTF_LLINFO optional to fix FreeBSD
[PATCH 04/25] zebra: additional redistribute related logging
[PATCH 05/25] lib: fix bookkeeping for libreadline malloc()s
[PATCH 06/25] lib: add "show commandtree" CLI command
[PATCH 07/25] lib: add facility to log all CLI commands
[PATCH 08/25] lib: add AFI_ETHERNET to lib/prefix code
lib/command.c | 79
++++++++++++++++++++++++++++++++++++++++----------
lib/command.h | 1 +
lib/prefix.c | 48 ++++++++++++++++++++++++++++++
lib/prefix.h | 57 ++++++++++++++++++++++++++++++++----
lib/routemap.c | 2 ++
lib/vty.c | 41 ++++++++++++++++++++++++--
lib/zebra.h | 6 ++--
zebra/debug.c | 5 ++--
zebra/kernel_socket.c | 2 ++
zebra/redistribute.c | 18 ++++++++----
10 files changed, 224 insertions(+), 35 deletions(-)
Group 2: core VPN and Encap SAFI changes
[PATCH 09/25] bgpd: add nexthop length to AF macro
[PATCH 10/25] bgpd: kill unused variable in bgp_socket()
[PATCH 11/25] bgpd: make _vpnv4 static handling SAFI-agnostic
[PATCH 12/25] bgpd: handle AS4 and EOI route distinguishers
[PATCH 13/25] bgpd: wire up VPNv6 protocol processing
[PATCH 14/25] *: hook up bgp VPNv6 CLI node
[PATCH 15/25] bgpd: improve cleanup in bgp_delete()
[PATCH 16/25] bgpd: general MP/SAFI improvements
[PATCH 17/25] bgpd: encap: extend extcommunity handling
[PATCH 18/25] bgpd: encap: add attribute handling
[PATCH 19/25] bgpd: encap: add encap SAFI (RFC5512)
[PATCH 20/25] *: hook up bgp ENCAP CLI node
bgpd/Makefile.am | 6 +-
bgpd/bgp_attr.c | 496 ++++++++++++++++++++++--
bgpd/bgp_attr.h | 18 +
bgpd/bgp_ecommunity.c | 37 +-
bgpd/bgp_ecommunity.h | 6 +-
bgpd/bgp_encap.c | 991
++++++++++++++++++++++++++++++++++++++++++++++++
bgpd/bgp_encap.h | 34 ++
bgpd/bgp_encap_tlv.c | 873 ++++++++++++++++++++++++++++++++++++++++++
bgpd/bgp_encap_tlv.h | 177 +++++++++
bgpd/bgp_encap_types.h | 174 +++++++++
bgpd/bgp_mplsvpn.c | 138 +++++--
bgpd/bgp_mplsvpn.h | 5 +-
bgpd/bgp_network.c | 2 +-
bgpd/bgp_nexthop.c | 21 +
bgpd/bgp_nexthop.h | 11 +
bgpd/bgp_open.c | 45 ++-
bgpd/bgp_packet.c | 100 ++++-
bgpd/bgp_route.c | 584 ++++++++++++++++++++--------
bgpd/bgp_route.h | 14 +-
bgpd/bgp_routemap.c | 4 +
bgpd/bgp_vty.c | 582 +++++++++++++++++++++++++++-
bgpd/bgp_vty.h | 6 +
bgpd/bgp_zebra.c | 10 +
bgpd/bgp_zebra.h | 1 +
bgpd/bgpd.c | 72 +++-
bgpd/bgpd.h | 2 +
lib/command.c | 11 +-
lib/command.h | 3 +
lib/memtypes.c | 1 +
lib/vty.c | 3 +
vtysh/extract.pl.in | 3 +
vtysh/vtysh.c | 106 +++++-
vtysh/vtysh_config.c | 9 +
33 files changed, 4284 insertions(+), 261 deletions(-)
Group 3: cli changes
[PATCH 21/25] CLI: machineparse / random "show" improvements
[PATCH 22/25] CLI: VPNv6 show commands
[PATCH 23/25] CLI: encap show commands
[PATCH 24/25] CLI: Add back old forms of 'show <afi> <safi>' for
[PATCH 25/25] CLI: Add AFI/SAFI show commands to manual
bgpd/bgp_mplsvpn.c | 408 ++-
bgpd/bgp_route.c | 9734
++++++++++++++++++++++++++++++++++-----------------
bgpd/bgp_route.h | 2 +-
bgpd/bgp_vty.c | 789 ++++-
doc/bgpd.texi | 25 +
5 files changed, 7530 insertions(+), 3428 deletions(-)
Overall:
bgpd/Makefile.am | 6 +-
bgpd/bgp_attr.c | 496 ++-
bgpd/bgp_attr.h | 18 +
bgpd/bgp_ecommunity.c | 37 +-
bgpd/bgp_ecommunity.h | 6 +-
bgpd/bgp_encap.c | 991 +++++
bgpd/bgp_encap.h | 34 +
bgpd/bgp_encap_tlv.c | 873 ++++
bgpd/bgp_encap_tlv.h | 177 +
bgpd/bgp_encap_types.h | 174 +
bgpd/bgp_mplsvpn.c | 544 ++-
bgpd/bgp_mplsvpn.h | 5 +-
bgpd/bgp_network.c | 2 +-
bgpd/bgp_nexthop.c | 21 +
bgpd/bgp_nexthop.h | 11 +
bgpd/bgp_open.c | 45 +-
bgpd/bgp_packet.c | 100 +-
bgpd/bgp_route.c | 10272 +++++++++++++++++++++++++++++++---------------
bgpd/bgp_route.h | 16 +-
bgpd/bgp_routemap.c | 4 +
bgpd/bgp_vty.c | 1387 ++++++-
bgpd/bgp_vty.h | 6 +
bgpd/bgp_zebra.c | 10 +
bgpd/bgp_zebra.h | 1 +
bgpd/bgpd.c | 72 +-
bgpd/bgpd.h | 2 +
doc/bgpd.texi | 25 +
lib/command.c | 90 +-
lib/command.h | 4 +
lib/memtypes.c | 1 +
lib/prefix.c | 48 +
lib/prefix.h | 57 +-
lib/routemap.c | 2 +
lib/vty.c | 44 +-
lib/zebra.h | 6 +-
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 +-
41 files changed, 12022 insertions(+), 3708 deletions(-)
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev