Traceflow can be run inside edge to trace the path of packet once it enters edge node.
VMware NSX
We can run traceflow using following steps -
Following outputs are from lab.
1. Take packet capture on edge interface and confirm packet is entering the edge.
edge01> start capture interface 1c7e81b0-####-####-95f7-23a74df9cb40 direction dual expression host 8.#.#.8<snip>03:20:55.397809 00:##:##:##:4c:55 > 00:##:##:##:01:2f, ethertype IPv4 (0x0800), length 98: 192.##.##.1 > 8.#.#.8: ICMP echo request, id 61994, seq 3, length 64<base64>AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=</base64>
03:20:55.407483 00:50:##:##:01:2f > 00:50:##:##:4c:55, ethertype IPv4 (0x0800), length 98: 8.#.#.8 > 192.##.##.1: ICMP echo reply, id 61994, seq 3, length 64<base64>AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=</base64>
- In the above example has value for ICMP echo request is AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc= and for - ICMP echo reply is AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=
2. We can use the following command syntax to run traceflow for the particular flow and check its path.
edge> traceflow <interface uuid> <base64>
edge01> traceflow 1c7e81b0-####-####-95f7-23a74df9cb40 AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=Packet Trace Results
EVENT : physical_receivedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : bb5b4d7a-####-####-a276-0050569d394cTIMESTAMP : 2024-08-22 03:21:15.719933TRACE_UUID : 97253c44-####-####-a406-0050569d394cTYPE : physical_node
EVENT : logical_receivedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9TIMESTAMP : 2024-08-22 03:21:15.719940TRACE_UUID : 97253c44-####-####-a406-0050569d394cTYPE : logical_router_portUUID : 1c7e81b0-####-####-95f7-23a74df9cb40
EVENT : logical_receivedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9TIMESTAMP : 2024-08-22 03:21:15.719965TRACE_UUID : 97253c44-####-####-a406-0050569d394cTYPE : logical_router_portUUID : 1c7e81b0-####-####-95f7-23a74df9cb40
EVENT : logical_forwardedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9RULE_ID : 1001TIMESTAMP : 2024-08-22 03:21:15.719966TRACE_UUID : 97253c44-####-####-a406-0050569d394cTYPE : logical_router_portUUID : 1c7e81b0-####-####-95f7-23a74df9cb40
EVENT : logical_deliveredPACKET_BASE64 : RUgAVAAAA##########2HCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9TIMESTAMP : 2024-08-22 03:21:15.719982TRACE_UUID : 97253c44-####-####-a406-0050569d394cTYPE : logical_router_port
edge01> traceflow 1c7e81b0-####-####-95f7-23a74df9cb40 AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=Packet Trace Results
EVENT : physical_receivedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : bb5b4d7a-####-####-a276-0050569d394cTIMESTAMP : 2024-08-22 03:21:47.863399TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : physical_node
EVENT : logical_receivedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9TIMESTAMP : 2024-08-22 03:21:47.863401TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : logical_router_portUUID : 1c7e81b0-####-####-95f7-23a74df9cb40
EVENT : logical_receivedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9TIMESTAMP : 2024-08-22 03:21:47.863460TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : logical_router_portUUID : 1c7e81b0-####-####-95f7-23a74df9cb40
EVENT : logical_forwardedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9RULE_ID : 1001TIMESTAMP : 2024-08-22 03:21:47.863481TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : logical_router_portUUID : 1c7e81b0-####-####-95f7-23a74df9cb40
EVENT : logical_route_infoNEXTHOP : 192.##.##.254PACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9PREFIX_LEN : 0ROUTE PREFIX : 0.0.0.0TIMESTAMP : 2024-08-22 03:21:47.863514TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : logical_router_portUUID : 1c7e81b0-####-####-95f7-23a74df9cb40
EVENT : logical_receivedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9TIMESTAMP : 2024-08-22 03:21:47.863522TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : logical_router_portUUID : aac3cf7c-####-####-bea4-6386806bff05
EVENT : logical_forwardedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9RULE_ID : 1001TIMESTAMP : 2024-08-22 03:21:47.863522TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : logical_router_portUUID : aac3cf7c-####-####-bea4-6386806bff05
EVENT : logical_forwardedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : c87a198c-####-####-a83a-b939fe8bc6e9TIMESTAMP : 2024-08-22 03:21:47.863525TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : logical_router_portUUID : aac3cf7c-####-####-bea4-6386806bff05
EVENT : logical_receivedPACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : fca215ee-####-####-b261-62c6b43f1458TIMESTAMP : 2024-08-22 03:21:47.863527TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : logical_switch_portUUID : a4bde7c7-####-####-b48b-1f8276759906
EVENT : physical_forwardedNAME : fp-eth2PACKET_BASE64 : AFBWPwEvAF#####GBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=PARENT_UUID : 00000000-0000-0000-0000-000000000002TIMESTAMP : 2024-08-22 03:21:47.863529TRACE_UUID : aa4dd646-####-####-a406-0050569d394cTYPE : physical_pnic
- Below is the output of traceflow when packet is getting dropped on the edge.
- To reproduce the issue, I have entered a null route on T0_GW for my destination 8.#.#.8 and next hop as null. Packet will get dropped on T0 which we can see in the below traceflow.
Pcap has been taken on the T0 downlink, we see ICMP request packets going out.
edge01> start capture interface 38b49f07-####-####-9532-ef2523ee94a6 direction dual expression host 8.#.#.801:38:59.229010 02:##:##:56:44:55 > 02:##:##:56:44:52, ethertype IPv4 (0x0800), length 98: 172.#.#.201 > 8.#.#.8: ICMP echo request, id 49158, seq 237, length 64<base64>AlBWVkRSAl####yDpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</base64>
01:39:00.229112 02:##:##:56:44:55 > 02:##:##:56:44:52, ethertype IPv4 (0x0800), length 98: 172.#.#.201 > 8.#.#.8: ICMP echo request, id 49158, seq 238, length 64<base64>AlBWVkRSAl####DuFpCSpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</base64>
01:39:01.229716 02:##:##:56:44:55 > 02:##:##:56:44:52, ethertype IPv4 (0x0800), length 98: 172.#.#.201 > 8.#.#.8: ICMP echo request, id 49158, seq 239, length 64<base64>AlBWVkRSAl####AgICAgA3I/ABgDvuNKhpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</base64>
01:39:02.230167 02:##:##:56:44:55 > 02:##:##:56:44:52, ethertype IPv4 (0x0800), length 98: 172.#.#.201 > 8.#.#.8: ICMP echo request, id 49158, seq 240, length 64<base64>AlBWVkRSAl####ArJCAgICAgAvEvABgDwyRWxpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</base64>
01:39:03.229766 02:##:##:56:44:55 > 02:##:##:56:44:52, ethertype IPv4 (0x0800), length 98: 172.#.#.201 > 8.#.#.8: ICMP echo request, id 49158, seq 241, length 64<base64>AlBWVkRSAl####ABgDxfFjApwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</base64>
Traceflow show packet dropped on interface-
edge01> traceflow 38b49f07-####-####-9532-ef2523ee94a6 AlBWVkRSAl####ApwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=Packet Trace Results
EVENT : physical_receivedPACKET_BASE64 : AlBWVkRSA####gDxfFjApwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=PARENT_UUID : 14312bac-####-####-880c-0050569d275fTIMESTAMP : 2024-08-30 01:39:25.940524TRACE_UUID : b0bc8b12-####-####-9ffd-0050569d275fTYPE : physical_node
EVENT : logical_receivedPACKET_BASE64 : AlBWVkRSA####gDxfFjApwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=PARENT_UUID : 51301aac-####-####-b8d5-337ea7036435TIMESTAMP : 2024-08-30 01:39:25.940526TRACE_UUID : b0bc8b12-####-####-9ffd-0050569d275fTYPE : logical_router_portUUID : 38b49f07-####-####-9532-ef2523ee94a6
EVENT : logical_droppedPACKET_BASE64 : RQAAVB7jQAA/####XxYwKcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPARENT_UUID : 0ba7b87a-####-####-85ec-89582683f526REASON : Dropped by interfaceTIMESTAMP : 2024-08-30 01:39:25.941707TRACE_UUID : b0bc8b12-####-####-9ffd-0050569d275fTYPE : logical_router_blackhole
Please also refer "Invalid value for argument" when running traceflow cli on NSX 4.2