This patch fixes unexpected unindent that occur when building.
Also, add ESI type to be specified for argument
esi of evpn_prefix_add and evpn_prefix_del.

Signed-off-by: Shinpei Muraoka <[email protected]>
---
 doc/source/library_packet_ref.rst        | 15 +++++++++++++++
 ryu/lib/packet/bgp.py                    | 14 ++++++++++++++
 ryu/services/protocols/bgp/bgpspeaker.py | 22 ++++++++--------------
 3 files changed, 37 insertions(+), 14 deletions(-)

diff --git a/doc/source/library_packet_ref.rst 
b/doc/source/library_packet_ref.rst
index 56c09f9..c48310e 100644
--- a/doc/source/library_packet_ref.rst
+++ b/doc/source/library_packet_ref.rst
@@ -128,6 +128,21 @@ Protocol Header classes
 .. autoclass:: ryu.lib.packet.bgp.BGPNotification
    :members:
 
+.. autoclass:: ryu.lib.packet.bgp.EvpnEsi
+   :members:
+.. autoclass:: ryu.lib.packet.bgp.EvpnArbitraryEsi
+   :members:
+.. autoclass:: ryu.lib.packet.bgp.EvpnLACPEsi
+   :members:
+.. autoclass:: ryu.lib.packet.bgp.EvpnL2BridgeEsi
+   :members:
+.. autoclass:: ryu.lib.packet.bgp.EvpnMacBasedEsi
+   :members:
+.. autoclass:: ryu.lib.packet.bgp.EvpnRouterIDEsi
+   :members:
+.. autoclass:: ryu.lib.packet.bgp.EvpnASBasedEsi
+   :members:
+
 .. automodule:: ryu.lib.packet.bmp
    :members:
 
diff --git a/ryu/lib/packet/bgp.py b/ryu/lib/packet/bgp.py
index 34025ad..29c10a4 100644
--- a/ryu/lib/packet/bgp.py
+++ b/ryu/lib/packet/bgp.py
@@ -1006,6 +1006,20 @@ class LabelledVPNIP6AddrPrefix(_LabelledAddrPrefix, 
_VPNAddrPrefix,
 class EvpnEsi(StringifyMixin, TypeDisp, _Value):
     """
     Ethernet Segment Identifier
+
+    The supported ESI Types:
+
+     - ``EvpnEsi.ARBITRARY`` indicates EvpnArbitraryEsi.
+
+     - ``EvpnEsi.LACP`` indicates EvpnLACPEsi.
+
+     - ``EvpnEsi.L2_BRIDGE`` indicates EvpnL2BridgeEsi.
+
+     - ``EvpnEsi.MAC_BASED`` indicates EvpnMacBasedEsi.
+
+     - ``EvpnEsi.ROUTER_ID`` indicates EvpnRouterIDEsi.
+
+     - ``EvpnEsi.AS_BASED`` indicates EvpnASBasedEsi.
     """
     _PACK_STR = "!B"  # ESI Type
     _ESI_LEN = 10
diff --git a/ryu/services/protocols/bgp/bgpspeaker.py 
b/ryu/services/protocols/bgp/bgpspeaker.py
index 76ca135..6a0025c 100644
--- a/ryu/services/protocols/bgp/bgpspeaker.py
+++ b/ryu/services/protocols/bgp/bgpspeaker.py
@@ -559,13 +559,14 @@ class BGPSpeaker(object):
         ``route_dist`` specifies a route distinguisher value.
 
         ``esi`` is an value to specify the Ethernet Segment Identifier.
-         0 is the default and denotes a single-homed site.
-         If you want to advertise esi other than 0,
-         it must be set as a dictionary type.
-         The following keys and values must be set.
-          - type: specifies one of the ESI type.
-         The remaining keys and values are the same as the argument of
-         the class corresponding to esi_type.
+        0 is the default and denotes a single-homed site.
+        If you want to advertise esi other than 0,
+        it must be set as dictionary type.
+        If esi is dictionary type, 'type' key must be set
+        and specifies ESI type.
+        For the supported ESI type, see :py:mod:`ryu.lib.packet.bgp.EvpnEsi`.
+        The remaining arguments are the same as that for
+        the corresponding class.
 
         ``ethernet_tag_id`` specifies the Ethernet Tag ID.
 
@@ -675,13 +676,6 @@ class BGPSpeaker(object):
         ``route_dist`` specifies a route distinguisher value.
 
         ``esi`` is an value to specify the Ethernet Segment Identifier.
-         0 is the default and denotes a single-homed site.
-         If you want to advertise esi other than 0,
-         it must be set as a dictionary type.
-         The following keys and values must be set.
-          - type: specifies one of the ESI type.
-         The remaining keys and values are the same as the argument of
-         the class corresponding to esi_type.
 
         ``ethernet_tag_id`` specifies the Ethernet Tag ID.
 
-- 
2.7.4


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to