Wrote part of configuration chapter
device-config
bridging-unicast
xconnect
pseudowire
Change-Id: Ib393d52e7bdc606c705e1e14dd52c9fcd77c0755
diff --git a/configuration/xconnect.rst b/configuration/xconnect.rst
new file mode 100644
index 0000000..6486d96
--- /dev/null
+++ b/configuration/xconnect.rst
@@ -0,0 +1,73 @@
+VLAN Cross Connect
+==================
+VLAN cross connect creates a L2 bridge between two given ports on the same device.
+Once configured, every packets arriving at one of the port with specific VLAN tag will be sent to another port directly.
+Current implementation only matches on the outermost VLAN tag. If the packet is double tagged, the S-tag will be matched and both the S-tag and C-tag will be persisted.
+
+VLAN cross connect only works on the same device.
+If you are looking for transporting L2 traffic across devices, please refer to :doc:`pseoduwire <pseudowire>`
+
+View cross connect via CLI
+--------------------------
+To view a list of cross connects configured in the system through ONOS CLI:
+
+.. code-block:: text
+
+ sr-xconnect
+
+Add cross connect via CLI
+-------------------------
+
+.. code-block:: text
+
+ sr-xconnect-add <deviceId> <vlanId> <port1> <port2>
+
+- ``deviceId``: device ID, e.g. **of:0000000000000201**
+- ``vlanId``: VLAN ID, e.g. **94**
+- ``port1``: One end of the cross connect, e.g. **2**
+- ``port2``: Another end of the cross connect, e.g. **54**
+
+Remove cross connect via CLI
+----------------------------
+
+.. code-block:: text
+
+ sr-xconnect-remove <deviceId> <vlanId>
+
+- ``deviceId``: device ID, e.g. **of:0000000000000201**
+- ``vlanId``: VLAN ID, e.g. **94**
+
+View cross connect via REST
+---------------------------
+
+.. code-block:: console
+
+ $ curl -X GET --header 'Accept: application/json' 'http://${ONOS-IP}:8181/onos/segmentrouting/xconnect'
+
+Add cross connect via REST
+--------------------------
+
+.. code-block:: console
+
+ $ curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
+ "deviceId": "of:0000000000000201", \
+ "vlanId": "94", \
+ "ports": [ 1, 2 ] \
+ }' 'http://${ONOS-IP}/onos/segmentrouting/xconnect'
+
+- ``deviceId``: device ID, e.g. **of:0000000000000201**
+- ``vlanId``: VLAN ID, e.g. **94**
+- ``ports``: endpoints of the cross connect, e.g. **[1, 2]**
+
+Remove cross connect via REST
+-----------------------------
+
+.. code-block:: console
+
+ $ curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
+ "deviceId": "of:0000000000000201", \
+ "vlanId": "94" \
+ }' 'http://${ONOS-IP}:8181/onos/segmentrouting/xconnect'
+
+- ``deviceId``: device ID, e.g. **of:0000000000000201**
+- ``vlanId``: VLAN ID, e.g. **94**
\ No newline at end of file