This patch enables BGPSpeaker to advertise MPLS-Based Ethernet
VPN (RFC7432) routes and store the advertised BGP EVPN routes
from the neighbors.
Also, includes the Python3 compatibility improvements and the
updates of the API reference of BGPSpeaker.

v2: For Iwamoto-San comment, [PATCH 06/20] was updated.

IWASE Yusuke (20):
  packet/bgp: Enable to parse the entire packet data
  packet/bgp: Support MPLS-Based Ethernet VPN (RFC7432)
  test_bgp: Add unit tests for Ethernet VPN
  BGPSpeaker: Support Python3 on SSH console
  BGPSpeaker/info_base: Add comparison methods for Python3
  packet/bgp: Fix to serialize BGPNotification on Python3
  BGPSpeaker: Support Ethernet VPN update messages
  test_bgpspeaker: Add unit test for the API of EVPN
  BGPSpeaker: Support VRF Table for Ethernet VPN
  test_table_manager: Add UTs for the VRF Table API
  table_manager: Rename internal API for consistency
  test_table_manager: Add UTs for the Global Table API
  BGPSpeaker: Reduce Pylint warnings
  BGPSpeaker: Resolve unused argumet 'multi_exit_disc'
  BGPSpeaker: Improve validation utility methods
  BGPSpeaker: Raise exception when validation fails
  BGPSpeaker: Enable validation for optional arguments
  test_validation: Add unit tests for validation utilities
  doc: Update the API Reference for BGPSpeaker
  BGPSpeaker: Suppress RD in EVPN VRF on SSH console

 doc/source/library_bgp_speaker.rst                 |   4 +-
 ryu/lib/packet/afi.py                              |   1 +
 ryu/lib/packet/bgp.py                              | 915 ++++++++++++++++++++-
 ryu/lib/packet/bmp.py                              |  10 +-
 ryu/lib/packet/safi.py                             |   1 +
 ryu/lib/packet/tcp.py                              |  10 +-
 ryu/lib/type_desc.py                               |   1 +
 ryu/services/protocols/bgp/api/base.py             |  18 +-
 ryu/services/protocols/bgp/api/prefix.py           | 134 ++-
 ryu/services/protocols/bgp/api/rtconf.py           |   4 +-
 ryu/services/protocols/bgp/base.py                 |  47 +-
 ryu/services/protocols/bgp/bgpspeaker.py           | 342 +++++---
 .../protocols/bgp/core_managers/table_manager.py   | 231 +++---
 ryu/services/protocols/bgp/info_base/base.py       | 111 +--
 ryu/services/protocols/bgp/info_base/evpn.py       |  59 ++
 ryu/services/protocols/bgp/info_base/vpn.py        |  20 +-
 ryu/services/protocols/bgp/info_base/vrf.py        |  91 +-
 ryu/services/protocols/bgp/info_base/vrfevpn.py    |  58 ++
 .../protocols/bgp/operator/commands/show/rib.py    |  12 +-
 .../commands/show/route_formatter_mixin.py         |   2 +-
 .../protocols/bgp/operator/commands/show/vrf.py    |   9 +-
 .../protocols/bgp/operator/internal_api.py         |  18 +-
 ryu/services/protocols/bgp/operator/ssh.py         |   5 +-
 ryu/services/protocols/bgp/rtconf/base.py          |  47 +-
 ryu/services/protocols/bgp/rtconf/neighbors.py     |  21 +-
 ryu/services/protocols/bgp/rtconf/vrfs.py          |  30 +-
 ryu/services/protocols/bgp/speaker.py              |   2 +-
 ryu/services/protocols/bgp/utils/bgp.py            |   3 +
 ryu/services/protocols/bgp/utils/validation.py     | 239 +++---
 ryu/tests/packet_data/bgp4/evpn_esi_arbitrary.pcap | Bin 0 -> 156 bytes
 ryu/tests/packet_data/bgp4/evpn_esi_as_based.pcap  | Bin 0 -> 156 bytes
 ryu/tests/packet_data/bgp4/evpn_esi_l2_bridge.pcap | Bin 0 -> 156 bytes
 ryu/tests/packet_data/bgp4/evpn_esi_lacp.pcap      | Bin 0 -> 156 bytes
 ryu/tests/packet_data/bgp4/evpn_esi_mac_base.pcap  | Bin 0 -> 156 bytes
 ryu/tests/packet_data/bgp4/evpn_esi_router_id.pcap | Bin 0 -> 156 bytes
 ryu/tests/packet_data/bgp4/evpn_nlri_eth_a-d.pcap  | Bin 0 -> 156 bytes
 ryu/tests/packet_data/bgp4/evpn_nlri_eth_seg.pcap  | Bin 0 -> 154 bytes
 .../bgp4/evpn_nlri_inc_multi_eth_tag.pcap          | Bin 0 -> 148 bytes
 .../packet_data/bgp4/evpn_nlri_mac_ip_ad.pcap      | Bin 0 -> 168 bytes
 ryu/tests/unit/packet/test_bgp.py                  |  53 +-
 .../protocols/bgp/core_managers/__init__.py        |   0
 .../bgp/core_managers/test_table_manager.py        | 355 ++++++++
 .../unit/services/protocols/bgp/test_bgpspeaker.py | 276 +++++++
 .../unit/services/protocols/bgp/utils/__init__.py  |   0
 .../protocols/bgp/utils/test_validation.py         | 203 +++++
 45 files changed, 2787 insertions(+), 545 deletions(-)
 create mode 100644 ryu/services/protocols/bgp/info_base/evpn.py
 create mode 100644 ryu/services/protocols/bgp/info_base/vrfevpn.py
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_esi_arbitrary.pcap
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_esi_as_based.pcap
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_esi_l2_bridge.pcap
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_esi_lacp.pcap
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_esi_mac_base.pcap
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_esi_router_id.pcap
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_nlri_eth_a-d.pcap
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_nlri_eth_seg.pcap
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_nlri_inc_multi_eth_tag.pcap
 create mode 100644 ryu/tests/packet_data/bgp4/evpn_nlri_mac_ip_ad.pcap
 create mode 100644 
ryu/tests/unit/services/protocols/bgp/core_managers/__init__.py
 create mode 100644 
ryu/tests/unit/services/protocols/bgp/core_managers/test_table_manager.py
 create mode 100644 ryu/tests/unit/services/protocols/bgp/test_bgpspeaker.py
 create mode 100644 ryu/tests/unit/services/protocols/bgp/utils/__init__.py
 create mode 100644 
ryu/tests/unit/services/protocols/bgp/utils/test_validation.py

--
2.7.4


------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to