Troubleshooting Guide
*********************

Overview
========

The **Trellis Troubleshooting Tools (T3)** is an ONOS application intended to **help you troubleshoot traffic-related problems** in your network by **tracing installed flows and groups**.
T3 works both on simulated OVS-based topologies but also on real HW, basing it's internal decisions on the driver assigned to the device.
T3 also currently supports dual links between leaf and spine and properly handles the difference between deferred and immediate rules.
Dual Homed hosts are also supported in T3.

To activate this tool on your ONOS environment, you need to run:

.. code-block:: console

	onos> app activate t3

T3 supports tracing of following packet types:

- L2 Unicast
- L2 Broadcast
- L3 Unicast (both IPv4 and IPv6)
- L3 Multicast (both IPv4 and IPv6)
- LLDP and BDDP
- ARP
- DHCP


t3-troubleshoot
===============
As of right now the tools provides a CLI command (troubleshoot).
As arguments to the CLI command you have to pass arguments describing the packet you want to trace through the network.

t3-troubleshoot Help
--------------------

.. code-block:: console

	onos> t3-troubleshoot --help
	DESCRIPTION
	        onos:troubleshoot

	    troubleshoots flows and groups between source and destination

	SYNTAX
	        onos:troubleshoot [options]

	OPTIONS
	        -sm, --srcMac
	                Source MAC
	        -j, --json
	                Output JSON
	        --help
	                Display this help message
	        -v, --verbose
	                Outputs complete path
	        -ipp, --ipProto
	                IP Proto
	        -s, --srcIp
	                Source IP
	        -dm, --dstMac
	                Destination MAC
	        -ml, --mplsLabel
	                Mpls label of incoming packet
	        -vv, --veryverbose
	                Outputs flows and groups for every device
	        -udps, --udpSrc
	                UDP Source
	        -mb, --mplsBos
	                MPLS BOS
	        -et, --ethType
	                ETH Type
	                (defaults to ipv4)
	        -sp, --srcPort
	                Source Port
	        -dtp, --dstTcpPort
	                destination TCP Port
	        -udpd, --udpDst
	                UDP Destination
	        -stp, --srcTcpPort
	                Source TCP Port
	        -d, --dstIp
	                Destination IP
	        -vid, --vlanId
	                Vlan of incoming packet
	                (defaults to None)

Default Verbosity Level
-----------------------
Let's look at an example.

.. code-block:: console

	onos> t3-troubleshoot -s 10.0.2.1 -sp of:0000000000000204/3 -sm 00:AA:00:00:00:01 -et IPV4 -d 10.0.3.1 -dm 00:00:00:00:02:04 -vid None

with this command we are asking the t3 tool to trace a packet with

- Source IP of ``10.0.2.1/32``
- Input port ``of:0000000000000204/3``
- Source MAC ``00:AA:00:00:00:01``
- ethType ``IPv4``
- Source TCP Port ``12345``
- Destination IP ``10.0.3.1/32``
- Destination MAC ``00:AA:00:00:00:01``
- Destination TCP Port ``80`` and
- VLAN ID ``None``

This command has a verbosity level of 0 and will output just the paths that the packet might take inside the network.
In the example deployment taken from trellis.py [#trellis.py]_, the output will be:

.. code-block:: console

	Tracing packet: [IN_PORT:3, ETH_DST:00:00:00:00:02:04, ETH_SRC:00:AA:00:00:00:01, ETH_TYPE:ipv4, VLAN_VID:None, IPV4_SRC:10.0.2.1/32, IPV4_DST:10.0.3.1/32, TCP_SRC:12345, TCP_DST:80, MPLS_BOS:true]
	Paths
	[of:0000000000000204/3, of:0000000000000204/2, of:0000000000000227/1, of:0000000000000227/2, of:0000000000000205/2, of:0000000000000205/3]
	[of:0000000000000204/3, of:0000000000000204/1, of:0000000000000226/1, of:0000000000000226/2, of:0000000000000205/1, of:0000000000000205/3]
	Result:
	Reached required destination Host
	Reached required destination Host

Middle Verbosity Level
----------------------
There are also two other verbosity levels.

.. code-block:: console

	onos> t3-troubleshoot -v -s 10.0.2.1 -sp of:0000000000000204/3 -sm 00:AA:00:00:00:01 -et IPV4 -d 10.0.3.1 -dm 00:00:00:00:02:04 -vid None

prints flows selectors and groupId that are met along the path

.. code-block:: console

	Tracing packet: [IN_PORT:3, ETH_DST:00:00:00:00:02:04, ETH_SRC:00:AA:00:00:00:01, ETH_TYPE:ipv4, VLAN_VID:None, IPV4_SRC:10.0.2.1/32, IPV4_DST:10.0.3.1/32, TCP_SRC:12345, TCP_DST:80, MPLS_BOS:true]
	Path [of:0000000000000204/3, of:0000000000000204/2, of:0000000000000227/1, of:0000000000000227/2, of:0000000000000205/2, of:0000000000000205/3]
	Device of:0000000000000204
	Input from of:0000000000000204/3
	Flows
	flowId=a20000bd57cb49, selector=[]
	flowId=900000d4173ff7, selector=[IN_PORT:3, VLAN_VID:None]
	flowId=9000004b3d1965, selector=[IN_PORT:3, ETH_DST:00:00:00:00:02:04, ETH_TYPE:ipv4, VLAN_VID:20]
	flowId=900000499769f5, selector=[ETH_TYPE:ipv4, IPV4_DST:10.0.3.0/24]
	flowId=a2000038b487e7, selector=[]
	Groups
	groupId=GroupId{id=0x70000010}
	groupId=GroupId{id=0x9200000d}
	groupId=GroupId{id=0x9000000c}
	groupId=GroupId{id=0xffe0002}
	groupId=GroupId{id=0x9200000f}
	groupId=GroupId{id=0x9000000e}
	groupId=GroupId{id=0xffe0001}
	Output through of:0000000000000204/2
	Device of:0000000000000227
	Input from of:0000000000000227/1
	Flows
	flowId=a200005577bcd6, selector=[]
	flowId=900000498457b2, selector=[IN_PORT:1, VLAN_VID:None]
	flowId=900000f87746c9, selector=[IN_PORT:1, ETH_DST:00:00:00:00:02:27, ETH_TYPE:mpls_unicast, VLAN_VID:4094]
	flowId=a200005bfd6ed7, selector=[]
	flowId=9000009f3d554f, selector=[ETH_TYPE:mpls_unicast, MPLS_LABEL:205, MPLS_BOS:true]
	flowId=a20000e601fc35, selector=[]
	Groups
	groupId=GroupId{id=0x70000017}
	groupId=GroupId{id=0x20000016}
	groupId=GroupId{id=0xffe0002}
	Output through of:0000000000000227/2
	Device of:0000000000000205
	Input from of:0000000000000205/2
	Flows
	flowId=a200008d542817, selector=[]
	flowId=900000be3179a0, selector=[IN_PORT:1, VLAN_VID:None]
	flowId=900000766be164, selector=[IN_PORT:1, ETH_DST:00:00:00:00:02:05, ETH_TYPE:ipv4, VLAN_VID:4094]
	flowId=900000ec1d5779, selector=[ETH_TYPE:ipv4, IPV4_DST:10.0.3.1/32]
	flowId=a2000042d8e6b5, selector=[]
	Groups
	groupId=GroupId{id=0x2000002a}
	groupId=GroupId{id=0x1e0003}
	groupId=GroupId{id=0x2000002a}
	groupId=GroupId{id=0x1e0003}
	Output through of:0000000000000205/3
	Path [of:0000000000000204/3, of:0000000000000204/1, of:0000000000000226/1, of:0000000000000226/2, of:0000000000000205/1, of:0000000000000205/3]
	Device of:0000000000000204
	Input from of:0000000000000204/3
	Flows
	flowId=a20000bd57cb49, selector=[]
	flowId=900000d4173ff7, selector=[IN_PORT:3, VLAN_VID:None]
	flowId=9000004b3d1965, selector=[IN_PORT:3, ETH_DST:00:00:00:00:02:04, ETH_TYPE:ipv4, VLAN_VID:20]
	flowId=900000499769f5, selector=[ETH_TYPE:ipv4, IPV4_DST:10.0.3.0/24]
	flowId=a2000038b487e7, selector=[]
	Groups
	groupId=GroupId{id=0x70000010}
	groupId=GroupId{id=0x9200000d}
	groupId=GroupId{id=0x9000000c}
	groupId=GroupId{id=0xffe0002}
	groupId=GroupId{id=0x9200000f}
	groupId=GroupId{id=0x9000000e}
	groupId=GroupId{id=0xffe0001}
	Output through of:0000000000000204/1
	Device of:0000000000000226
	Input from of:0000000000000226/1
	Flows
	flowId=a20000e9b27d24, selector=[]
	flowId=9000004bd76105, selector=[IN_PORT:1, VLAN_VID:None]
	flowId=90000069f274d1, selector=[IN_PORT:1, ETH_DST:00:00:00:00:02:26, ETH_TYPE:mpls_unicast, VLAN_VID:4094]
	flowId=a200000ec7529e, selector=[]
	flowId=90000050f9a350, selector=[ETH_TYPE:mpls_unicast, MPLS_LABEL:205, MPLS_BOS:true]
	flowId=a20000b15cada6, selector=[]
	Groups
	groupId=GroupId{id=0x7000000b}
	groupId=GroupId{id=0x20000009}
	groupId=GroupId{id=0xffe0002}
	Output through of:0000000000000226/2
	Device of:0000000000000205
	Input from of:0000000000000205/1
	Flows
	flowId=a200008d542817, selector=[]
	flowId=900000be3179a0, selector=[IN_PORT:1, VLAN_VID:None]
	flowId=900000766be164, selector=[IN_PORT:1, ETH_DST:00:00:00:00:02:05, ETH_TYPE:ipv4, VLAN_VID:4094]
	flowId=900000ec1d5779, selector=[ETH_TYPE:ipv4, IPV4_DST:10.0.3.1/32]
	flowId=a2000042d8e6b5, selector=[]
	Groups
	groupId=GroupId{id=0x2000002a}
	groupId=GroupId{id=0x1e0003}
	groupId=GroupId{id=0x2000002a}
	groupId=GroupId{id=0x1e0003}
	Output through of:0000000000000205/3
	Result:
	Reached required destination Host
	Reached required destination Host

High Verbosity Level
--------------------
The most verbose output you can get is

.. code-block:: console

	onos> t3-troubleshoot -vv -s 10.0.2.1 -sp of:0000000000000204/3 -sm 00:AA:00:00:00:01 -et IPV4 -d 10.0.3.1 -dm 00:00:00:00:02:04 -vid None

This verbosity level prints all the flows and groups that are met along the path

.. code-block:: console

	Tracing packet: [IN_PORT:3, ETH_DST:00:00:00:00:02:04, ETH_SRC:00:AA:00:00:00:01, ETH_TYPE:ipv4, VLAN_VID:None, IPV4_SRC:10.0.2.1/32, IPV4_DST:10.0.3.1/32, TCP_SRC:12345, TCP_DST:80, MPLS_BOS:true]
	Path [of:0000000000000204/3, of:0000000000000204/2, of:0000000000000227/1, of:0000000000000227/2, of:0000000000000205/2, of:0000000000000205/3]
	Device of:0000000000000204
	Input from of:0000000000000204/3
	Flows
	ADDED, bytes=733506, packets=8691, table=0, priority=0, selector=[], treatment=[transition=TABLE:10]
	ADDED, bytes=11110, packets=61, table=10, priority=32768, selector=[IN_PORT:3, VLAN_VID:None], treatment=[immediate=[VLAN_PUSH:vlan, VLAN_ID:20], transition=TABLE:20]
	ADDED, bytes=8698, packets=29, table=20, priority=32768, selector=[IN_PORT:3, ETH_DST:00:00:00:00:02:04, ETH_TYPE:ipv4, VLAN_VID:20], treatment=[transition=TABLE:30]
	ADDED, bytes=16612, packets=50, table=30, priority=48010, selector=[ETH_TYPE:ipv4, IPV4_DST:10.0.3.0/24], treatment=[deferred=[GROUP:0x70000010], transition=TABLE:60]
	ADDED, bytes=34400, packets=112, table=60, priority=0, selector=[], treatment=[immediate=[NOACTION]]
	Groups
	id=0x70000010, state=ADDED, type=SELECT, bytes=16906, packets=53, appId=org.onosproject.segmentrouting, referenceCount=3
	id=0x70000010, bucket=1, bytes=490, packets=5, actions=[GROUP:0x9200000d]
	id=0x70000010, bucket=2, bytes=16416, packets=48, actions=[GROUP:0x9200000f]
	id=0x9200000d, state=ADDED, type=INDIRECT, bytes=490, packets=5, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x9200000d, bucket=1, bytes=490, packets=5, actions=[VLAN_POP, MPLS_PUSH:mpls_unicast, MPLS_LABEL:205, GROUP:0x9000000c, VLAN_PUSH:vlan, VLAN_ID:4095]
	id=0x9000000c, state=ADDED, type=INDIRECT, bytes=490, packets=5, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x9000000c, bucket=1, bytes=490, packets=5, actions=[ETH_DST:00:00:00:00:02:27, ETH_SRC:00:00:00:00:02:04, VLAN_ID:4094, GROUP:0xffe0002]
	id=0xffe0002, state=ADDED, type=INDIRECT, bytes=726, packets=7, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0xffe0002, bucket=1, bytes=726, packets=7, actions=[VLAN_POP, OUTPUT:2]
	id=0x9200000f, state=ADDED, type=INDIRECT, bytes=16416, packets=48, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x9200000f, bucket=1, bytes=16416, packets=48, actions=[VLAN_POP, MPLS_PUSH:mpls_unicast, MPLS_LABEL:205, GROUP:0x9000000e, VLAN_PUSH:vlan, VLAN_ID:4095]
	id=0x9000000e, state=ADDED, type=INDIRECT, bytes=16416, packets=48, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x9000000e, bucket=1, bytes=16416, packets=48, actions=[ETH_DST:00:00:00:00:02:26, ETH_SRC:00:00:00:00:02:04, VLAN_ID:4094, GROUP:0xffe0001]
	id=0xffe0001, state=ADDED, type=INDIRECT, bytes=16416, packets=48, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0xffe0001, bucket=1, bytes=16416, packets=48, actions=[VLAN_POP, OUTPUT:1]
	Output through of:0000000000000204/2
	Device of:0000000000000227
	Input from of:0000000000000227/1
	Flows
	ADDED, bytes=702318, packets=8511, table=0, priority=0, selector=[], treatment=[transition=TABLE:10]
	ADDED, bytes=343130, packets=4234, table=10, priority=32768, selector=[IN_PORT:1, VLAN_VID:None], treatment=[immediate=[VLAN_PUSH:vlan, VLAN_ID:4094], transition=TABLE:20]
	ADDED, bytes=754, packets=7, table=20, priority=32768, selector=[IN_PORT:1, ETH_DST:00:00:00:00:02:27, ETH_TYPE:mpls_unicast, VLAN_VID:4094], treatment=[transition=TABLE:23]
	ADDED, bytes=17566, packets=57, table=23, priority=0, selector=[], treatment=[transition=TABLE:24]
	ADDED, bytes=510, packets=5, table=24, priority=100, selector=[ETH_TYPE:mpls_unicast, MPLS_LABEL:205, MPLS_BOS:true], treatment=[deferred=[MPLS_POP:ipv4, DEC_TTL, GROUP:0x70000017], transition=TABLE:60]
	ADDED, bytes=17566, packets=57, table=60, priority=0, selector=[], treatment=[immediate=[NOACTION]]
	Groups
	id=0x70000017, state=ADDED, type=SELECT, bytes=754, packets=7, appId=org.onosproject.segmentrouting, referenceCount=2
	id=0x70000017, bucket=1, bytes=754, packets=7, actions=[GROUP:0x20000016]
	id=0x20000016, state=ADDED, type=INDIRECT, bytes=754, packets=7, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x20000016, bucket=1, bytes=754, packets=7, actions=[ETH_DST:00:00:00:00:02:05, ETH_SRC:00:00:00:00:02:27, VLAN_ID:4094, GROUP:0xffe0002]
	id=0xffe0002, state=ADDED, type=INDIRECT, bytes=754, packets=7, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0xffe0002, bucket=1, bytes=754, packets=7, actions=[VLAN_POP, OUTPUT:2]
	Output through of:0000000000000227/2
	Device of:0000000000000205
	Input from of:0000000000000205/2
	Flows
	ADDED, bytes=2105886, packets=24084, table=0, priority=0, selector=[], treatment=[transition=TABLE:10]
	ADDED, bytes=358792, packets=4275, table=10, priority=32768, selector=[IN_PORT:1, VLAN_VID:None], treatment=[immediate=[VLAN_PUSH:vlan, VLAN_ID:4094], transition=TABLE:20]
	ADDED, bytes=16416, packets=48, table=20, priority=32768, selector=[IN_PORT:1, ETH_DST:00:00:00:00:02:05, ETH_TYPE:ipv4, VLAN_VID:4094], treatment=[transition=TABLE:30]
	ADDED, bytes=196, packets=2, table=30, priority=64010, selector=[ETH_TYPE:ipv4, IPV4_DST:10.0.3.1/32], treatment=[deferred=[GROUP:0x2000002a], transition=TABLE:60]
	ADDED, bytes=1370884, packets=15163, table=60, priority=0, selector=[], treatment=[immediate=[NOACTION]]
	Groups
	id=0x2000002a, state=ADDED, type=INDIRECT, bytes=196, packets=2, appId=org.onosproject.segmentrouting, referenceCount=1
	id=0x2000002a, bucket=1, bytes=196, packets=2, actions=[ETH_DST:00:AA:00:00:00:03, ETH_SRC:00:00:00:00:02:05, VLAN_ID:30, GROUP:0x1e0003]
	id=0x1e0003, state=ADDED, type=INDIRECT, bytes=12960, packets=126, appId=org.onosproject.segmentrouting, referenceCount=1
	id=0x1e0003, bucket=1, bytes=12960, packets=126, actions=[VLAN_POP, OUTPUT:3]
	id=0x2000002a, state=ADDED, type=INDIRECT, bytes=196, packets=2, appId=org.onosproject.segmentrouting, referenceCount=1
	id=0x2000002a, bucket=1, bytes=196, packets=2, actions=[ETH_DST:00:AA:00:00:00:03, ETH_SRC:00:00:00:00:02:05, VLAN_ID:30, GROUP:0x1e0003]
	id=0x1e0003, state=ADDED, type=INDIRECT, bytes=12960, packets=126, appId=org.onosproject.segmentrouting, referenceCount=1
	id=0x1e0003, bucket=1, bytes=12960, packets=126, actions=[VLAN_POP, OUTPUT:3]
	Output through of:0000000000000205/3
	Path [of:0000000000000204/3, of:0000000000000204/1, of:0000000000000226/1, of:0000000000000226/2, of:0000000000000205/1, of:0000000000000205/3]
	Device of:0000000000000204
	Input from of:0000000000000204/3
	Flows
	ADDED, bytes=733506, packets=8691, table=0, priority=0, selector=[], treatment=[transition=TABLE:10]
	ADDED, bytes=11110, packets=61, table=10, priority=32768, selector=[IN_PORT:3, VLAN_VID:None], treatment=[immediate=[VLAN_PUSH:vlan, VLAN_ID:20], transition=TABLE:20]
	ADDED, bytes=8698, packets=29, table=20, priority=32768, selector=[IN_PORT:3, ETH_DST:00:00:00:00:02:04, ETH_TYPE:ipv4, VLAN_VID:20], treatment=[transition=TABLE:30]
	ADDED, bytes=16612, packets=50, table=30, priority=48010, selector=[ETH_TYPE:ipv4, IPV4_DST:10.0.3.0/24], treatment=[deferred=[GROUP:0x70000010], transition=TABLE:60]
	ADDED, bytes=34400, packets=112, table=60, priority=0, selector=[], treatment=[immediate=[NOACTION]]
	Groups
	id=0x70000010, state=ADDED, type=SELECT, bytes=16906, packets=53, appId=org.onosproject.segmentrouting, referenceCount=3
	id=0x70000010, bucket=1, bytes=490, packets=5, actions=[GROUP:0x9200000d]
	id=0x70000010, bucket=2, bytes=16416, packets=48, actions=[GROUP:0x9200000f]
	id=0x9200000d, state=ADDED, type=INDIRECT, bytes=490, packets=5, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x9200000d, bucket=1, bytes=490, packets=5, actions=[VLAN_POP, MPLS_PUSH:mpls_unicast, MPLS_LABEL:205, GROUP:0x9000000c, VLAN_PUSH:vlan, VLAN_ID:4095]
	id=0x9000000c, state=ADDED, type=INDIRECT, bytes=490, packets=5, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x9000000c, bucket=1, bytes=490, packets=5, actions=[ETH_DST:00:00:00:00:02:27, ETH_SRC:00:00:00:00:02:04, VLAN_ID:4094, GROUP:0xffe0002]
	id=0xffe0002, state=ADDED, type=INDIRECT, bytes=726, packets=7, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0xffe0002, bucket=1, bytes=726, packets=7, actions=[VLAN_POP, OUTPUT:2]
	id=0x9200000f, state=ADDED, type=INDIRECT, bytes=16416, packets=48, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x9200000f, bucket=1, bytes=16416, packets=48, actions=[VLAN_POP, MPLS_PUSH:mpls_unicast, MPLS_LABEL:205, GROUP:0x9000000e, VLAN_PUSH:vlan, VLAN_ID:4095]
	id=0x9000000e, state=ADDED, type=INDIRECT, bytes=16416, packets=48, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x9000000e, bucket=1, bytes=16416, packets=48, actions=[ETH_DST:00:00:00:00:02:26, ETH_SRC:00:00:00:00:02:04, VLAN_ID:4094, GROUP:0xffe0001]
	id=0xffe0001, state=ADDED, type=INDIRECT, bytes=16416, packets=48, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0xffe0001, bucket=1, bytes=16416, packets=48, actions=[VLAN_POP, OUTPUT:1]
	Output through of:0000000000000204/1
	Device of:0000000000000226
	Input from of:0000000000000226/1
	Flows
	ADDED, bytes=701910, packets=8507, table=0, priority=0, selector=[], treatment=[transition=TABLE:10]
	ADDED, bytes=358984, packets=4275, table=10, priority=32768, selector=[IN_PORT:1, VLAN_VID:None], treatment=[immediate=[VLAN_PUSH:vlan, VLAN_ID:4094], transition=TABLE:20]
	ADDED, bytes=16608, packets=48, table=20, priority=32768, selector=[IN_PORT:1, ETH_DST:00:00:00:00:02:26, ETH_TYPE:mpls_unicast, VLAN_VID:4094], treatment=[transition=TABLE:23]
	ADDED, bytes=17158, packets=53, table=23, priority=0, selector=[], treatment=[transition=TABLE:24]
	ADDED, bytes=16608, packets=48, table=24, priority=100, selector=[ETH_TYPE:mpls_unicast, MPLS_LABEL:205, MPLS_BOS:true], treatment=[deferred=[MPLS_POP:ipv4, DEC_TTL, GROUP:0x7000000b], transition=TABLE:60]
	ADDED, bytes=17158, packets=53, table=60, priority=0, selector=[], treatment=[immediate=[NOACTION]]
	Groups
	id=0x7000000b, state=ADDED, type=SELECT, bytes=16608, packets=48, appId=org.onosproject.segmentrouting, referenceCount=2
	id=0x7000000b, bucket=1, bytes=16608, packets=48, actions=[GROUP:0x20000009]
	id=0x20000009, state=ADDED, type=INDIRECT, bytes=16608, packets=48, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0x20000009, bucket=1, bytes=16608, packets=48, actions=[ETH_DST:00:00:00:00:02:05, ETH_SRC:00:00:00:00:02:26, VLAN_ID:4094, GROUP:0xffe0002]
	id=0xffe0002, state=ADDED, type=INDIRECT, bytes=16608, packets=48, appId=org.onosproject.segmentrouting, referenceCount=0
	id=0xffe0002, bucket=1, bytes=16608, packets=48, actions=[VLAN_POP, OUTPUT:2]
	Output through of:0000000000000226/2
	Device of:0000000000000205
	Input from of:0000000000000205/1
	Flows
	ADDED, bytes=2105886, packets=24084, table=0, priority=0, selector=[], treatment=[transition=TABLE:10]
	ADDED, bytes=358792, packets=4275, table=10, priority=32768, selector=[IN_PORT:1, VLAN_VID:None], treatment=[immediate=[VLAN_PUSH:vlan, VLAN_ID:4094], transition=TABLE:20]
	ADDED, bytes=16416, packets=48, table=20, priority=32768, selector=[IN_PORT:1, ETH_DST:00:00:00:00:02:05, ETH_TYPE:ipv4, VLAN_VID:4094], treatment=[transition=TABLE:30]
	ADDED, bytes=196, packets=2, table=30, priority=64010, selector=[ETH_TYPE:ipv4, IPV4_DST:10.0.3.1/32], treatment=[deferred=[GROUP:0x2000002a], transition=TABLE:60]
	ADDED, bytes=1370884, packets=15163, table=60, priority=0, selector=[], treatment=[immediate=[NOACTION]]
	Groups
	id=0x2000002a, state=ADDED, type=INDIRECT, bytes=196, packets=2, appId=org.onosproject.segmentrouting, referenceCount=1
	id=0x2000002a, bucket=1, bytes=196, packets=2, actions=[ETH_DST:00:AA:00:00:00:03, ETH_SRC:00:00:00:00:02:05, VLAN_ID:30, GROUP:0x1e0003]
	id=0x1e0003, state=ADDED, type=INDIRECT, bytes=12960, packets=126, appId=org.onosproject.segmentrouting, referenceCount=1
	id=0x1e0003, bucket=1, bytes=12960, packets=126, actions=[VLAN_POP, OUTPUT:3]
	id=0x2000002a, state=ADDED, type=INDIRECT, bytes=196, packets=2, appId=org.onosproject.segmentrouting, referenceCount=1
	id=0x2000002a, bucket=1, bytes=196, packets=2, actions=[ETH_DST:00:AA:00:00:00:03, ETH_SRC:00:00:00:00:02:05, VLAN_ID:30, GROUP:0x1e0003]
	id=0x1e0003, state=ADDED, type=INDIRECT, bytes=12960, packets=126, appId=org.onosproject.segmentrouting, referenceCount=1
	id=0x1e0003, bucket=1, bytes=12960, packets=126, actions=[VLAN_POP, OUTPUT:3]
	Output through of:0000000000000205/3
	Result:
	Reached required destination Host
	Reached required destination Host

Successful Example
------------------
In this example we trace a packet that should be bridged between two hosts in the same subnet

.. code-block:: console

	onos> t3-troubleshoot -s 10.0.2.1 -sp of:0000000000000204/3 -sm 00:AA:00:00:00:01 -et IPV4 -d 10.0.3.1 -dm 00:AA:00:00:00:02 -vid None
	Tracing packet: [IN_PORT:3, ETH_DST:00:AA:00:00:00:02, ETH_SRC:00:AA:00:00:00:01, ETH_TYPE:ipv4, VLAN_VID:None, IPV4_SRC:10.0.2.1/32, IPV4_DST:10.0.2.2/32, TCP_SRC:12345, TCP_DST:80, MPLS_BOS:true]
	Paths
	[of:0000000000000204/3, of:0000000000000204/4]
	Result:
	Reached required destination Host

Failed Example
--------------
Obviously failures can happen along one of the paths that the packet can take.
In our sample we removed a flow in ``of:0000000000000226`` thus disabling that possible path for our initial packet.
The output of our trace would then look something like

.. code-block:: console

	onos> t3-troubleshoot -s 10.0.2.1 -sp of:0000000000000204/3 -sm 00:AA:00:00:00:01 -et IPV4 -d 10.0.3.1 -dm 00:00:00:00:02:04 -vid None
	Tracing packet: [IN_PORT:3, ETH_DST:00:00:00:00:02:04, ETH_SRC:00:AA:00:00:00:01, ETH_TYPE:ipv4, VLAN_VID:None, IPV4_SRC:10.0.2.1/32, IPV4_DST:10.0.3.1/32, TCP_SRC:12345, TCP_DST:80, MPLS_BOS:true]
	Paths
	[of:0000000000000204/3, of:0000000000000204/2, of:0000000000000227/1, of:0000000000000227/2, of:0000000000000205/2, of:0000000000000205/3]
	[of:0000000000000204/3, of:0000000000000204/1, of:0000000000000226/1]
	Result:
	Reached required destination Host
	No output out of device of:0000000000000226 Packet is dropped

Notice that on the second path that was previously going through ``of:0000000000000226`` now the packet is dropped due to the rule we removed.

Example of Various Packet Types
-------------------------------
These sample commands refer to the Mininet environment found in trellis.py [#trellis.py]_

- L2 Unicast IPv4

  .. code-block:: console

  	  t3-troubleshoot -s 10.0.2.1 -sp of:0000000000000204/3 -sm 00:AA:00:00:00:01 -d 10.0.2.2 -dm 00:AA:00:00:00:02

- L2 Unicast IPv6

  .. code-block:: console

  	  t3-troubleshoot -vv -s 2000::301  -sp of:0000000000000205/5 -sm 00:BB:00:00:00:03 -d 2000::302 -dm 00:BB:00:00:00:04 -et ipv6

- L3 Unicast IPv4

  .. code-block:: console

  	  t3-troubleshoot -s 10.0.2.1 -sp of:0000000000000204/3 -sm 00:AA:00:00:00:01 -d 10.0.3.1 -dm 00:00:00:00:02:04

- L3 Unicast IPv6

  .. code-block:: console

  	  t3-troubleshoot -vv -s 2000::301  -sp of:0000000000000205/5 -sm 00:BB:00:00:00:03 -d 2000::202 -dm 00:00:00:00:02:05 -et ipv6

- ARP

  .. code-block:: console

  	  t3-troubleshoot -sp of:0000000000000204/3 -et ARP

- DHCP

  .. code-block:: console

  	  t3-troubleshoot -vv -s 10.0.2.1 -sp of:0000000000000204/3 -sm 00:AA:00:00:00:01 -d 10.0.3.253 -dm 00:00:00:00:02:04 -ipp 17 -udps 67 -udpd 67

- LLDP

  .. code-block:: console

  	  t3-troubleshoot -sp of:0000000000000204/3 -et lldp

- BDDP

  .. code-block:: console

  	  t3-troubleshoot -sp of:0000000000000204/3 -et bddp

- LLDP from CONTROLLER

  T3 is also capable of tracing packets coming in from the CONTROLLER.
  We use the same input port with the possibility to give CONTROLLER as logical port number.
  This is a mere convenience to carry the information inside T3 and do the proper flooding to all the ports of the given device.
  This case is not treated like all the rest and the input port here is a logical entity that has no match on any physical element on the device.

  .. code-block:: console

  	  t3-troubleshoot -sp of:0000000000000204/CONTROLLER -et lldp

- Multicast

  T3 is also capable of tracing multicast packets.

  .. code-block:: console

  	  t3-troubleshoot -vv -sp of:0000000000000205/9 -et ipv4 -d 224.0.0.1 -dm 01:00:5e:00:00:01


t3-troubleshoot-simple
======================
T3 also offers a simplified version of the command to be able to ping between two given hosts without having to specify all the information.
This commands bases itself on top of some configuration present in ONOS through netcfg, namely the VLAN interface configuration and the segment routing leaf router MAC for L3 Unicast. If that is not present the user needs to input this information manually recurring to the the previously shown command. Same verbosity levels and output as the troubleshoot command are possible.

t3-troubleshoot-simple Help
---------------------------
.. code-block:: console

	onos> t3-troubleshoot-simple --help
	DESCRIPTION
	        onos:troubleshoot-simple

	    Given two hosts troubleshoots flows and groups between them, in case of segment routing

	SYNTAX
	        onos:troubleshoot-simple [options] one two

	ARGUMENTS
	        one
	                One host ID
	        two
	                Another host ID

	OPTIONS
	        -vv, --veryverbose
	                Outputs flows and groups for every device
	        -j, --json
	                Output JSON
	        --help
	                Display this help message
	        -et, --ethType
	                ETH Type
	                (defaults to ipv4)
	        -v, --verbose
	                Outputs complete path

t3-troubleshoot-simple Example
------------------------------
Examples are given for the same trellis.py [#trellis.py]_ script.

- L2 Unicast

  Hosts are under the same leaf, only interface configuration is needed.

  .. code-block:: console

  	  t3-troubleshoot-simple -v -et IPV4 00:AA:00:00:00:01/None 00:AA:00:00:00:02/None

- L3 Multicast

  Hosts are under different leafs, also segment routing configuration config is needed for the leaf's routerMac.

  .. code-block:: console

  	  t3-troubleshoot-simple -et IPV4 00:AA:00:00:00:01/None 00:AA:00:00:00:03/None


t3-troubleshoot-pingall
=======================
T3 also offers a ping-all command to be able to test ping between any given hosts of an EthType.
This commands bases itself on top of the simplified Host to Host command. It has two verbosity levels,
one just with Host and Destination with the result message of the Trace and one that shows also the packet and the paths.

t3-troubleshoot-pingall Help
----------------------------
.. code-block:: console

	onos> t3-troubleshoot-pingall --help
	DESCRIPTION
	        onos:t3-troubleshoot-pingall

	    Traces a ping between all hosts in the system of a given ETH type

	SYNTAX
	        onos:t3-troubleshoot-pingall [options]

	OPTIONS
	        -j, --json
	                Output JSON
	        --help
	                Display this help message
	        -et, --ethType
	                ETH Type
	                (defaults to ipv4)
	        -v, --verbose
	                Outputs trace for each host to host combination

t3-troubleshoot-pingall Examples
--------------------------------
- IPv4 hosts

  .. code-block:: console

	  t3-troubleshoot-pingall

- IPv6 hosts

  .. code-block:: console

      t3-troubleshoot-pingall -et IPV6


t3-troubleshoot-mcast
=====================
T3 also offers a mcast command queries the system for all the multicast routes given a certain vlanId.
It prints all the traces given a certain group, source and source connect point. It has two "standard" verbosity levels.

t3-troubleshoot-mcast Help
--------------------------
.. code-block:: console

	onos> t3-troubleshoot-mcast --help
	DESCRIPTION
	        onos:t3-troubleshoot-mcast

	 Traces all the mcast routes present in the system

	SYNTAX
	        onos:t3-troubleshoot-mcast [options]

	OPTIONS
	        -j, --json
	                Output JSON
	        --help
	                Display this help message
	        -vv, --veryverbose
	                Outputs details of every trace
	        -vid, --vlanId
	                Vlan of incoming packet
	                (defaults to None)
	        -v, --verbose
	                Outputs trace for each host to host combination

REST API
========
T3 now also offers a way to execute the troubleshoot through REST API endpoints.
You can find the description and test the API at the ONOS docs endpoint here:

.. code-block:: text

	<ONOS_IP>:8181/onos/v1/docs/#/t3

The rest API offered are a non verbose and a verbose version of the troubleshoot simple command.
It bases itself on top of some configuration present in ONOS through netcfg, namely the VLAN interface configuration and the segment routing leaf router MAC for L3 Unicast.
The use need to specify just the Source Host, the destination host and the ETH type.

.. code-block:: console

	curl -X GET --header 'Accept: application/json' 'http://localhost:8181/onos/v1/t3/t3/simple/<host_src>/<host_dst>/<eht_type>'

.. code-block:: console

	curl -X GET --header 'Accept: application/json' 'http://localhost:8181/onos/v1/t3/t3/simple/<host_src>/<host_dst>/<eht_type>/verbose


Last Resort
===========

In the case where you can't figure out what is going wrong even with help of T3, you can seek help on Trellis developer mailing list ``trellis-dev@opennetworking.org``.
There are a few things we would like you to attach:

- **Issue description**
- **Environment description**, such as ONOS version, switch model and OF-DPA version
- **Steps of reproduction**, as detail as possible
- **Diagnostics**.
  We have built a tool ``onos-diagnostics`` (see `ONOS Remote Admin Tools <https://wiki.onosproject.org/display/ONOS/ONOS+Remote+Admin+Tools>`_) to help you easily collect and package ONOS diagnostics


Reference
=========

.. [#trellis.py] `<https://github.com/opennetworkinglab/routing/blob/master/trellis/trellis.py>`_
