The ESI field should not be a route key for BGP processing in EVPN
MAC/IP Advertisement route, this patch confirms "esi" is an optional
argument for this route.

Signed-off-by: IWASE Yusuke <[email protected]>
---
 ryu/lib/packet/bgp.py                                    | 4 ++--
 ryu/services/protocols/bgp/bgpspeaker.py                 | 2 --
 ryu/tests/unit/services/protocols/bgp/test_bgpspeaker.py | 3 ---
 3 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/ryu/lib/packet/bgp.py b/ryu/lib/packet/bgp.py
index 8fcfcb8..a1bb02a 100644
--- a/ryu/lib/packet/bgp.py
+++ b/ryu/lib/packet/bgp.py
@@ -1589,8 +1589,8 @@ class EvpnMacIPAdvertisementNLRI(EvpnNLRI):
         ]
     }
 
-    def __init__(self, route_dist, esi, ethernet_tag_id, mac_addr, ip_addr,
-                 mpls_labels=None, vni=None, labels=None,
+    def __init__(self, route_dist, ethernet_tag_id, mac_addr, ip_addr,
+                 esi=None, mpls_labels=None, vni=None, labels=None,
                  mac_addr_len=None, ip_addr_len=None,
                  type_=None, length=None):
         super(EvpnMacIPAdvertisementNLRI, self).__init__(type_, length)
diff --git a/ryu/services/protocols/bgp/bgpspeaker.py 
b/ryu/services/protocols/bgp/bgpspeaker.py
index ccd59dd..76ca135 100644
--- a/ryu/services/protocols/bgp/bgpspeaker.py
+++ b/ryu/services/protocols/bgp/bgpspeaker.py
@@ -637,7 +637,6 @@ class BGPSpeaker(object):
                 EVPN_ETHERNET_TAG_ID: ethernet_tag_id,
                 IP_ADDR: ip_addr,
             })
-
             # Set PMSI Tunnel Attribute arguments
             if pmsi_tunnel_type in [
                     PMSI_TYPE_NO_TUNNEL_INFO,
@@ -706,7 +705,6 @@ class BGPSpeaker(object):
             })
         elif route_type == EVPN_MAC_IP_ADV_ROUTE:
             kwargs.update({
-                EVPN_ESI: esi,
                 EVPN_ETHERNET_TAG_ID: ethernet_tag_id,
                 MAC_ADDR: mac_addr,
                 IP_ADDR: ip_addr,
diff --git a/ryu/tests/unit/services/protocols/bgp/test_bgpspeaker.py 
b/ryu/tests/unit/services/protocols/bgp/test_bgpspeaker.py
index da0f482..6347e1d 100644
--- a/ryu/tests/unit/services/protocols/bgp/test_bgpspeaker.py
+++ b/ryu/tests/unit/services/protocols/bgp/test_bgpspeaker.py
@@ -466,14 +466,12 @@ class Test_BGPSpeaker(unittest.TestCase):
         # Prepare test data
         route_type = bgpspeaker.EVPN_MAC_IP_ADV_ROUTE
         route_dist = '65000:100'
-        esi = 0  # denotes single-homed
         ethernet_tag_id = 200
         mac_addr = 'aa:bb:cc:dd:ee:ff'
         ip_addr = '192.168.0.1'
         expected_kwargs = {
             'route_type': route_type,
             'route_dist': route_dist,
-            'esi': esi,
             'ethernet_tag_id': ethernet_tag_id,
             'mac_addr': mac_addr,
             'ip_addr': ip_addr,
@@ -484,7 +482,6 @@ class Test_BGPSpeaker(unittest.TestCase):
         speaker.evpn_prefix_del(
             route_type=route_type,
             route_dist=route_dist,
-            esi=esi,
             ethernet_tag_id=ethernet_tag_id,
             mac_addr=mac_addr,
             ip_addr=ip_addr,
-- 
2.7.4


------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to