Can't ping router with packet size greater than 1476 when ovs datapath_type set to netdev
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Setup:
Openstack origin/
[stack@localhost devstack]$ cat /etc/centos-release
CentOS Linux release 8.4.2105
[stack@localhost devstack]$ uname -a
Linux localhost.
x86_64 x86_64 GNU/Linux
[stack@localhost devstack]$
[stack@localhost devstack]$ git status
HEAD detached at origin/
ovs version (builded with DPDK)
[stack@localhost devstack]$ ovs-vswitchd --version
ovs-vswitchd (Open vSwitch) 2.13.4
DPDK 19.11.7
[stack@localhost devstack]$ cat /etc/neutron/
datapath_type = netdev
[stack@localhost devstack]$ cat /etc/neutron/
path_mtu = 9000
physical_
[stack@localhost devstack]$ cat /etc/neutron/
global_
Steps:
1. Setup hugepages, update flavor (hw:mem_
2. boot vm and try ping router and vice versa
br-int:
Bridge br-int
Controller "tcp:127.
fail_mode: secure
Port patch-tun
Port br-int
Port vhua5beaaae-c8
tag: 1
Port qr-c48b27ee-0f
tag: 1
Port int-br-ex
Port tap3b960ab3-6a
tag: 1
From VM:
[root@test-mtu ~]# ip a |grep mtu
1: lo: <LOOPBACK,
2: eth0: <BROADCAST,
[root@test-mtu ~]#
[root@test-mtu ~]# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.275 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.167 ms
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1035ms
rtt min/avg/max/mdev = 0.167/0.
[root@test-mtu ~]# ping 192.168.1.1 -s 2000
PING 192.168.1.1 (192.168.1.1) 2000(2028) bytes of data.
--- 192.168.1.1 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3086ms
[root@test-mtu ~]# ping 192.168.1.1 -c 5
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.139 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.154 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.144 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.153 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.146 ms
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 0.139/0.
[root@test-mtu ~]# ping 192.168.1.1 -c 5 -s 2000
PING 192.168.1.1 (192.168.1.1) 2000(2028) bytes of data.
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4084ms
[root@test-mtu ~]#
In ns:
[root@localhost ~]# ip a |grep mtu
1: lo: <LOOPBACK,
29: qr-c48b27ee-0f: <BROADCAST,
[root@localhost ~]#
# default packet size:
10:44:41.276140 IP 192.168.1.176 > localhost.
10:44:41.276176 IP localhost.
10:44:42.323564 IP 192.168.1.176 > localhost.
10:44:42.323594 IP localhost.
10:44:43.325048 IP 192.168.1.176 > localhost.
10:44:43.325075 IP localhost.
10:44:44.326474 IP 192.168.1.176 > localhost.
10:44:44.326501 IP localhost.
10:44:45.327838 IP 192.168.1.176 > localhost.
10:44:45.327865 IP localhost.
# packet size 2000
[root@localhost ~]# tcpdump -i qr-c48b27ee-0f icmp
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on qr-c48b27ee-0f, link-type EN10MB (Ethernet), capture size 262144 bytes
10:46:00.934011 IP 192.168.1.176 > localhost.
10:46:00.934046 IP localhost.
10:46:01.941013 IP 192.168.1.176 > localhost.
10:46:01.941051 IP localhost.
10:46:02.965045 IP 192.168.1.176 > localhost.
10:46:02.965072 IP localhost.
10:46:03.989043 IP 192.168.1.176 > localhost.
10:46:03.989083 IP localhost.
10:46:05.013079 IP 192.168.1.176 > localhost.
10:46:05.013108 IP localhost.
From ns:
[root@localhost ~]# ping 192.168.1.176 -c 2
PING 192.168.1.176 (192.168.1.176) 56(84) bytes of data.
64 bytes from 192.168.1.176: icmp_seq=1 ttl=64 time=0.193 ms
64 bytes from 192.168.1.176: icmp_seq=2 ttl=64 time=0.163 ms
--- 192.168.1.176 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1038ms
rtt min/avg/max/mdev = 0.163/0.
[root@localhost ~]# ping 192.168.1.176 -c 2 -s 2000
PING 192.168.1.176 (192.168.1.176) 2000(2028) bytes of data.
--- 192.168.1.176 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1060ms
[root@localhost ~]#
in vm:
08:51:37.228218 IP truncated-ip - 524 bytes missing! host-192-
08:51:38.245796 IP truncated-ip - 524 bytes missing! host-192-
The same issue if I try to ping dhcp server
If I set ovs datapath_
description: | updated |
Hi, thanks for the detailed bug description.
I checked and it works on master with datapath_type = system.
Tomorrow I try to build dpdk in my env.
In the meantime could you please check if ping with jumboframes works for other directions than router?