DPDK:3.2.x: After agent restart traffic to virtiovm is blackholed
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R3.2 |
Fix Committed
|
High
|
Jeya ganesh babu J | |||
R4.1 |
Fix Committed
|
High
|
Jeya ganesh babu J | |||
R5.0 |
Fix Committed
|
High
|
Jeya ganesh babu J | |||
Trunk |
Fix Committed
|
High
|
Jeya ganesh babu J |
Bug Description
On 3.2.12 DPDK compute on restarting vrouter-agent, traffic to the VM is blackholed.
Pkts arrive on the VIF but dont make it to VM. On restating/rebooting VM it starts working
oot@cs-scale-02:~# vifdump 3
vif0/3 PMD: tap240b8b45-f6
tcpdump: WARNING: mon3: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on mon3, link-type EN10MB (Ethernet), capture size 65535 bytes
00:51:28.811996 IP 10.87.132.177 > 22.1.0.5: ICMP echo request, id 42831, seq 578, length 64
00:51:29.811979 IP 10.87.132.177 > 22.1.0.5: ICMP echo request, id 42831, seq 579, length 64
00:51:30.811995 IP 10.87.132.177 > 22.1.0.5: ICMP echo request, id 42831, seq 580, length 64
^C
3 packets captured
4 packets received by filter
0 packets dropped by kernel
vifdump: deleting vif 4348...
root@cs-scale-02:~# vif --get 3
Vrouter Interface Table
Flags: P=Policy, X=Cross Connect, S=Service Chain, Mr=Receive Mirror
Mt=Transmit Mirror, Tc=Transmit Checksum Offload, L3=Layer 3, L2=Layer 2
D=DHCP, Vp=Vhost Physical, Pr=Promiscuous, Vnt=Native Vlan Tagged
Mnp=No MAC Proxy, Dpdk=DPDK PMD Interface, Rfl=Receive Filtering Offload, Mon=Interface is Monitored
Uuf=Unknown Unicast Flood, Vof=VLAN insert/strip offload, Df=Drop New Flows, Proxy=MAC Requests Proxied Always
Mn=Mirror without Vlan Tag
vif0/3 PMD: tap240b8b45-f6
Vrf:1 Flags:PL3L2D QOS:-1 Ref:23
RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RX packets:0 bytes:0 errors:0
TX packets:580 bytes:47544 errors:0
TX port packets:580 errors:0 syscalls:580
Drops:0
root@cs-scale-02:~# vif --get 3
Vrouter Interface Table
Flags: P=Policy, X=Cross Connect, S=Service Chain, Mr=Receive Mirror
Mt=Transmit Mirror, Tc=Transmit Checksum Offload, L3=Layer 3, L2=Layer 2
D=DHCP, Vp=Vhost Physical, Pr=Promiscuous, Vnt=Native Vlan Tagged
Mnp=No MAC Proxy, Dpdk=DPDK PMD Interface, Rfl=Receive Filtering Offload, Mon=Interface is Monitored
Uuf=Unknown Unicast Flood, Vof=VLAN insert/strip offload, Df=Drop New Flows, Proxy=MAC Requests Proxied Always
Mn=Mirror without Vlan Tag
vif0/3 PMD: tap240b8b45-f6
Vrf:1 Flags:PL3L2D QOS:-1 Ref:23
RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
RX packets:0 bytes:0 errors:0
TX packets:582 bytes:47740 errors:0
TX port packets:582 errors:0 syscalls:582
Drops:0
Changed in juniperopenstack: | |
assignee: | nobody → Jeya ganesh babu J (jjeya) |
tags: |
added: qemu vrouter removed: jjeya |
information type: | Proprietary → Public |
tags: | added: blocker |
During a agent restart, the vif for the vm interface is deleted. This causes the stored feature list for the VM to be deleted as well. When agent comes up and the vif gets created, Qemu sends 0 for the feature list and this is causing communication issue. The Qemu feature storage code in dpdk vrouter needs to be revisited.