ON THIS PAGE
Unicast Packet Path - Inter-VN
The following procedure steps through debugging the packet path
from VM1 to VM2 (on the same compute node) and VM3 (on a different
compute node). In this example, the virtual machines (VMs) listed
are in the same subnet 10.1.1.0/24.
| VM1 | IP address |
| VM2 | IP address |
| VM3 | IP address |
Replace the IP address with the actual compute IP address in all of the introspect URLs.
Intra-Compute Use Case
Discover the
vifinterfaces corresponding to the virtual machine interfaces (VMI)s of the VM using the command:vif --list
You can also discover the
vifinterfaces by entering the introspect URL:Example:
http://10.1.1.5:8085/Snh_ItfReq?name=&type=&uuid=&vn=&mac=&ipv4_address=&ipv6_address=&parent_uuid=&ip_active=&ip6_active=&l2_active=
Note:Replace the IP address with the actual compute IP address in the introspect HTTP URLs.
Run the
vif --get <index>command to verify the virtual routing and forwarding (VRF) and Policy flags are set in the vRouter interface (VIF).Example output verifying flags for each
vif:vif0/4 OS: tapdd789d34-27 Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:10.1.1.5 Vrf:2 Mcast Vrf:2 Flags:PL3L2Er QOS:-1 Ref:6 RX packets:30 bytes:8676 errors:0 TX packets:170 bytes:7140 errors:0 ISID: 0 Bmac: 02:dd:78:9d:34:27 Drops:81 vif0/6 OS: tapaedbc037-bf Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:10.1.1.6 Vrf:2 Mcast Vrf:2 Flags:PL3L2Er QOS:-1 Ref:6 RX packets:96316 bytes:4858043 errors:0 TX packets:96562 bytes:4884177 errors:0 ISID: 0 Bmac: 02:ae:db:c0:37:bf Drops:2Run the following command to display all of the entries from the bridge table:
rt --dump <vrf id> --family bridge
Example:
rt --dump 2 --family bridge Flags: L=Label Valid, Df=DHCP flood, Mm=Mac Moved, L2c=L2 Evpn Control Word, N=New Entry, Ec=EvpnControlProcessing vRouter bridge table 0/2 Index DestMac Flags Label/VNID Nexthop Stats 31264 0:0:5e:0:1:0 Df - 3 212744 79784 2:dd:78:9d:34:27 Df - 44 408 112924 ff:ff:ff:ff:ff:ff LDf 5 51 38 115240 2:0:0:0:0:2 Df - 12 0 169408 2:ae:db:c0:37:bf Df - 25 405 183944 2:99:ef:64:96:e1 LDf 5 37 0 205564 2:0:0:0:0:1 Df - 12 0 252380 0:25:90:c5:58:94 Df - 3 0In the case of inter-virtual network (VN)s, the packets are Layer 3 routed instead of Layer 2 switched. The vRouter does a proxy ARP for the destination network providing it’s virtual MAC address
0:0:5e:0:1:0back for the ARP request from the source. This can be seen from thert –dumpof the source VN inet table. This results in the packet being received by the vRouter, which does the route lookup to send the packet to the correct destination.Run
nh --get <nh id>to display the next-hop details.Example:
nh --get 3 Id:3 Type:L2 Receive Fmly: AF_INET Rid:0 Ref_cnt:8 Vrf:0 Flags:Valid, Etree Root,Run
rt --dump 2 --family inet | grep <ip address>to display inet family routes on the specified IP address.Example:
rt --dump 2 --family inet | grep 20.1.1.6 Destination PPL Flags Label Nexthop Stitched MAC(Index) 20.1.1.6/32 32 P - 30 - 20.1.1.60/32 0 - 0 - 20.1.1.61/32 0 - 0 - 20.1.1.62/32 0 - 0 - 20.1.1.63/32 0 - 0 - 20.1.1.64/32 0 - 0 - 20.1.1.65/32 0 - 0 - 20.1.1.66/32 0 - 0 - 20.1.1.67/32 0 - 0 - 20.1.1.68/32 0 - 0 - 20.1.1.69/32 0 - 0 - 20.1.106.0/24 0 - 0 -
Run
nh --get <nh id>to get the next hop details.Example:
nh --get 30 Id:30 Type:Encap Fmly: AF_INET Rid:0 Ref_cnt:5 Vrf:3 Flags:Valid, Policy, Etree Root, EncapFmly:0806 Oif:3 Len:14 Encap Data: 02 60 fc 55 cb bf 00 00 5e 00 01 00 08 00Run
vif --get <oifindex>to get the outgoing VIF details.Example:
vif --get 3 vif0/3 OS: tap60fc55cb-bf Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:20.1.1.6 Vrf:3 Mcast Vrf:3 Flags:PL3L2Er QOS:-1 Ref:6 RX packets:356 bytes:32586 errors:0 TX packets:3930 bytes:177290 errors:0 ISID: 0 Bmac: 02:60:fc:55:cb:bf Drops:84
Inter-Compute Use Case
In the case of inter-compute, the next hop looked up to send the packet out, will point to a tunnel next hop. Depending on the encapsulation priority, the appropriate encapsulation is added and the packet is tunneled out. Inter-compute traffic is between VMs on different compute nodes.
For Compute 1:
Run
rt --dump 2 --family inet | grep <ip address>to display inet family routes for a specified IP address.Example:
rt --dump 2 --family inet | grep 20.1.1.5 20.1.1.5/32 32 LP 32 49 - 20.1.1.50/32 0 - 0 - 20.1.1.51/32 0 - 0 - 20.1.1.52/32 0 - 0 - 20.1.1.53/32 0 - 0 - 20.1.1.54/32 0 - 0 - 20.1.1.55/32 0 - 0 - 20.1.1.56/32 0 - 0 - 20.1.1.57/32 0 - 0 - 20.1.1.58/32 0 - 0 -
Run
nh --get <nh id>to display the next-hop details, which points to a tunnel next hop.Example:
nh --get 49 Id:49 Type:Tunnel Fmly: AF_INET Rid:0 Ref_cnt:9 Vrf:0 Flags:Valid, MPLSoUDP, Etree Root, Oif:0 Len:14 Data:00 25 90 c5 62 1c 00 25 90 c5 58 94 08 00 Sip:10.204.217.86 Dip:10.204.217.70
For Compute 2:
Run the
mpls --get <label>command to see the next hop mapped to the particular incoming MPLS table.Example:
mpls --get 32 MPLS Input Label Map Label NextHop ------------------------- 32 36Run
nh --get <nh id>to view the next hop details.Example:
nh --get 36 Id:36 Type:Encap Fmly: AF_INET Rid:0 Ref_cnt:5 Vrf:3 Flags:Valid, Policy, Etree Root, EncapFmly:0806 Oif:4 Len:14 Encap Data: 02 f3 37 7b 53 25 00 00 5e 00 01 00 08 00In the example,
Oif:4is the OIF index in the next hop which is the outgoing interface for the packet. TheEncap Datacorresponds to the L2 encapsulation that is added to the IP packet before the packet is forwarded to the outgoing interface.Run
vif --get <oifindex>to get the outgoing VIF details.Example:
vif --get 4 vif0/4 OS: tapf3377b53-25 Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:20.1.1.5 Vrf:3 Mcast Vrf:3 Flags:PL3L2Er QOS:-1 Ref:6 RX packets:100 bytes:16915 errors:0 TX packets:3955 bytes:178363 errors:0 ISID: 0 Bmac: 02:f3:37:7b:53:25 Drops:78For details about EVPN type 5 routing in Contrail Networking, see Support for EVPN Route Type 5.