5.0.1: Dynamic mirroring without Juniper header does not work
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R5.0 |
Fix Released
|
Critical
|
sangarshan p | |||
Trunk |
Fix Released
|
Critical
|
sangarshan p |
Bug Description
queens_5_0_176
This was found as a part of regression runs on 9th Aug 2018.
I have port mirroring dynamic without Juniper header enabled. The packets are not getting mirrored to the analyser. Below is the mirror details
(vrouter-
Mirror Table
Flags:D=Dynamic Mirroring, Hw=NIC Assisted Mirroring
Index NextHop Flags VNI Vlan
-------
0 44 15 0
(vrouter-
Id:44 Type:Tunnel Fmly: AF_INET Rid:0 Ref_cnt:7 Vrf:0
Oif:0 Len:14 Data:0c c4 7a dc 42 d7 0c c4 7a dc 44 6b 08 00
I can see the packet come up on mirror destination compute's proto 17:
for source 222.203.45.3, dst 16.191.195.3, mirror 121.74.8.3:
19:37:26.010705 IP 10.10.11.5.64868 > 10.10.11.19.4789: VXLAN, flags [I] (0x08), vni 15
IP 222.203.45.3 > 16.191.195.3: ICMP echo request, id 6464, seq 3, length 64
0x0000: 0cc4 7adc 42d7 0cc4 7adc 446b 0800 4500
0x0010: 0086 1a50 0000 4011 35ec 0a0a 0b05 0a0a
0x0020: 0b13 fd64 12b5 0072 0000 0800 0000 0000
0x0030: 0f00 0000 5e00 0100 02df 9553 9f49 0800
0x0040: 4500 0054 1a50 4000 4001 40c8 decb 2d03
0x0050: 10bf c303 0800 48a9 1940 0003 1d9c 6d5b
0x0060: 0000 0000 4249 0a00 0000 0000 1011 1213
0x0070: 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223
0x0080: 2425 2627 2829 2a2b 2c2d 2e2f 3031 3233
0x0090: 3435 3637
description: | updated |
tags: | added: contrail-networking |
tags: | added: releasenote |
tags: | added: sanityblocker |
Updating the findings based on debugging with Shashi just now.
1) When encap type is VXLAN, the mirrored pkt is reaching the compute node of the analyser vm but not reaching the analyser VM.
23:11:34.579559 0c:c4:7a:dc:44:6b > 0c:c4:7a:dc:42:d7, ethertype IPv4 (0x0800), length 216: 10.10.11.5.54784 > 10.10.11.19.4789: VXLAN, flags [I] (0x08), vni 7
02:5c:95:74:c5:e5 > 00:00:5e:00:01:00, ethertype IPv4 (0x0800), length 166: 2.168.119.3.ssh > 2.168.119.2.60988: Flags [P.], seq 800:900, ack 1, win 588, options [nop,nop,TS val 111106 ecr 41912808], length 100
23:11:35.578872 0c:c4:7a:dc:44:6b > 0c:c4:7a:dc:42:d7, ethertype IPv4 (0x0800), length 148: 10.10.11.5.59136 > 10.10.11.19.4789: VXLAN, flags [I] (0x08), vni 7
02:5c:95:74:c5:e5 > 00:00:5e:00:01:00, ethertype IPv4 (0x0800), length 98: 2.168.119.3 > 89.239.240.3: ICMP echo request, id 2854, seq 55, length 64
Looking at the L2 table, I don’t see a proper NH for the pkt to be sent to the analyser VM.
I am not sure if the dest mac highlighted above should be the analyser VM’s mac for L2 lookup to succeed.
2) It works fine when the encap type is changed to MPLSoUDP. This is because the pkt is sent with correct label 36 which corresponds to the analyser VM tap interface. Hence the mirrored pkts are able to reach the analyser VM.
We need to analyse more why it is not working with VXLAN encap.