CC13: DPDK vrouter fragments packets >= 1500 from non-DPDK workloads

Bug #1795834 reported by Bernhard Koessler
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R5.0
New
High
Saurabh
Trunk
New
High
Saurabh

Bug Description

In a CC13/Contrail 5.0.1 setup with Intel X710 Fortville NICs, for non-DPDK workloads, the DPDK vrouter fragments packets with default 1500 MTU and above despite vrouter/vhost MTU being set to 9000.

# vifdump on vif 0/0
17:38:55 | (vrouter-agent-dpdk)[root@overcloud63m-compdpdk-25 /]$ vifdump vif0/0 -nvv host 100.64.128.3
17:38:55 | vif0/0 PCI: 0000:00:00.0 (Speed 20000, Duplex 0)
# packet from SDN-GW to VM
17:39:45 | 15:39:45.686691 IP (tos 0x0, ttl 64, id 47127, offset 0, flags [none], proto UDP (17), length 1560)
17:39:45 | 100.64.128.3.56632 > 100.64.144.61.6635: [no cksum] UDP, length 1532
# packet from VM to SDN-GW
17:39:45 | 15:39:45.687314 IP (tos 0x0, ttl 64, id 27886, offset 0, flags [none], proto UDP (17), length 1492, bad cksum 0 (->2f6a)!)
17:39:45 | 100.64.144.61.49969 > 100.64.128.3.6635: [no cksum] UDP, length 1464
17:39:45 | 15:39:45.687326 IP (tos 0x0, ttl 64, id 27886, offset 0, flags [none], proto UDP (17), length 120, bad cksum 0 (->34c6)!)
17:39:45 | 100.64.144.61.49969 > 100.64.128.3.6635: [no cksum] UDP, length 92

# config
[root@overcloud63m-compdpdk-25 ~]# ifconfig vhost0
vhost0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000
        inet 100.64.144.61 netmask 255.255.248.0 broadcast 100.64.151.255
        inet6 fe80::6a05:caff:fe41:ffe0 prefixlen 64 scopeid 0x20<link>
        ether 68:05:ca:41:ff:e0 txqueuelen 1000 (Ethernet)
        RX packets 26076733 bytes 1839255148 (1.7 GiB)
        RX errors 0 dropped 0 overruns 0 frame 0
        TX packets 1476132 bytes 97125795 (92.6 MiB)
        TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@overcloud63m-compdpdk-25 ~]# ip l | grep -i mtu
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT group default qlen 1000
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT group default qlen 1000
4: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
5: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
8: ens5f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000
9: enp0s20u1u5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
10: ens5f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000
11: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
14: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP mode DEFAULT group default qlen 1000
15: vlan303@bond1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP mode DEFAULT group default qlen 1000
16: vlan304@bond1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP mode DEFAULT group default qlen 1000
17: bond0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
18: vhost0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000

[root@overcloud63m-compdpdk-25 ~]# cat /etc/sysconfig/network-scripts/ifcfg-vhost0
# This file is autogenerated by os-net-config
DEVICE=vhost0
ONBOOT=yes
HOTPLUG=no
NM_CONTROLLED=no
PEERDNS=no
MTU=9000
BOOTPROTO=static
IPADDR=100.64.144.61
NETMASK=255.255.248.0
DEVICETYPE=vhost
TYPE=dpdk
BIND_INT=0000:06:00.0,0000:06:00.1
BOND_MODE=4
BOND_POLICY=layer3+4
DRIVER=vfio-pci
CPU_LIST=0xe00000e
VLAN_ID=301

# contrail-status
17:43:14 | [root@overcloud63m-compdpdk-25 ~]# contrail-status
17:43:15 | Pod Service Original Name State Status
17:43:15 | vrouter agent contrail-vrouter-agent running Up 2 days
17:43:15 | vrouter agent-dpdk contrail-vrouter-agent-dpdk running Up 8 days
17:43:15 | vrouter nodemgr contrail-nodemgr running Up 2 days
17:43:15 |
17:43:15 | vrouter DPDK module is PRESENT
17:43:15 | == Contrail vrouter ==
17:43:15 | nodemgr: active
17:43:15 | agent: active
17:43:15 |

# vif list
17:41:07 | (vrouter-agent-dpdk)[root@overcloud63m-compdpdk-25 /]$ vif --list
17:41:07 | Vrouter Interface Table
17:41:07 |
17:41:07 | Flags: P=Policy, X=Cross Connect, S=Service Chain, Mr=Receive Mirror
17:41:07 | Mt=Transmit Mirror, Tc=Transmit Checksum Offload, L3=Layer 3, L2=Layer 2
17:41:07 | D=DHCP, Vp=Vhost Physical, Pr=Promiscuous, Vnt=Native Vlan Tagged
17:41:07 | Mnp=No MAC Proxy, Dpdk=DPDK PMD Interface, Rfl=Receive Filtering Offload, Mon=Interface is Monitored
17:41:07 | Uuf=Unknown Unicast Flood, Vof=VLAN insert/strip offload, Df=Drop New Flows, L=MAC Learning Enabled
17:41:07 | Proxy=MAC Requests Proxied Always, Er=Etree Root, Mn=Mirror without Vlan Tag, Ig=Igmp Trap Enabled
17:41:07 |
17:41:07 | vif0/0 PCI: 0000:00:00.0 (Speed 20000, Duplex 0)
17:41:07 | Type:Physical HWaddr:68:05:ca:41:ff:e0 IPaddr:0.0.0.0
17:41:07 | Vrf:0 Mcast Vrf:65535 Flags:TcL3L2VpEr QOS:-1 Ref:183
17:41:07 | RX device packets:148760677 bytes:100772950203 errors:2
17:41:07 | RX port packets:22096245 errors:0
17:41:07 | RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17:41:07 | RX packets:21872441 bytes:5047649117 errors:0
17:41:07 | TX packets:13461281 bytes:4024415957 errors:0
17:41:07 | Drops:1426580
17:41:07 | TX port packets:13376148 errors:86652
17:41:07 | TX device packets:128200703 bytes:22037988996 errors:0
17:41:07 |
17:41:07 | vif0/1 PMD: vhost0
17:41:07 | Type:Host HWaddr:68:05:ca:41:ff:e0 IPaddr:100.64.144.61
17:41:07 | Vrf:0 Mcast Vrf:65535 Flags:L3DEr QOS:-1 Ref:17
17:41:07 | RX device packets:325655 bytes:19709666 errors:0
17:41:07 | RX queue packets:325655 errors:0
17:41:07 | RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17:41:07 | RX packets:325655 bytes:19709666 errors:0
17:41:07 | TX packets:7513215 bytes:522931356 errors:0
17:41:07 | Drops:0
17:41:07 | TX queue packets:6625285 errors:887930
17:41:07 | TX device packets:6625263 bytes:435257461 errors:0
17:41:07 |
17:41:07 | vif0/2 Socket: unix
17:41:07 | Type:Agent HWaddr:00:00:5e:00:01:00 IPaddr:0.0.0.0
17:41:07 | Vrf:65535 Mcast Vrf:65535 Flags:L3Er QOS:-1 Ref:3
17:41:07 | RX port packets:1731003 errors:0
17:41:07 | RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17:41:07 | RX packets:1731003 bytes:297731006 errors:0
17:41:07 | TX packets:4281847 bytes:661636460 errors:0
17:41:07 | Drops:0
17:41:07 |
17:41:07 | vif0/3 PMD: tapf8e31b10-43
17:41:07 | Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:87.140.203.126
17:41:07 | Vrf:2 Mcast Vrf:2 Flags:PL3L2DEr QOS:-1 Ref:20
17:41:07 | RX port packets:63302 errors:0 syscalls:1
17:41:07 | RX queue packets:51539 errors:0
17:41:07 | RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17:41:07 | RX packets:63302 bytes:8483331 errors:0
17:41:07 | TX packets:38552 bytes:8532265 errors:0
17:41:07 | Drops:88746
17:41:07 | TX port packets:37676 errors:22 syscalls:37415

Tags: dpdk vrouter cc13
Revision history for this message
Bernhard Koessler (bkoessler) wrote :
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.