Package: openvswitch-switch-dpdk Version: 2.15.0+ds1-2 Severity: important
-- System Information: Debian Release: 11.0 APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 5.10.0-7-amd64 (SMP w/40 CPU threads) Locale: LANG=zh_CN.UTF-8, LC_CTYPE=zh_CN.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/bash Init: systemd (via /run/systemd/system) Versions of packages openvswitch-switch-dpdk depends on: ii dpdk 20.11-7 ii libc6 2.31-12 ii libcap-ng0 0.7.9-2.2+b1 ii librte-eal21 20.11-7 ii librte-ethdev21 20.11-7 ii librte-mbuf21 20.11-7 ii librte-mempool21 20.11-7 ii librte-meter21 20.11-7 ii librte-vhost21 20.11-7 ii libssl1.1 1.1.1k-1 ii libunbound8 1.13.1-1 ii openvswitch-common 2.15.0+ds1-2 ii openvswitch-switch 2.15.0+ds1-2 openvswitch-switch-dpdk recommends no packages. openvswitch-switch-dpdk suggests no packages. -- no debconf information I created a br0 and add eth1 to it: ``` # ovs-vsctl show 56e6bee8-0467-4803-9306-fa5f1286745c Bridge br0 Port eth1 Interface eth1 Port br0 Interface br0 type: internal ovs_version: "2.15.0" ``` Then I try two ovs versions: ``` # switch ovs version to ovs-vswitchd update-alternatives --set ovs-vswitchd /usr/lib/openvswitch-common/ovs-vswitchd /etc/init.d/openvswitch-switch restart ip link set br0 up ip addr add 10.90.67.148/25 dev br0 ping 10.90.67.129 # network is ok # switch ovs version to ovs-vswitchd-dpdk, and I didn't enable dpdk. update-alternatives --set ovs-vswitchd /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk /etc/init.d/openvswitch-switch restart ip link set br0 up ip addr add 10.90.67.148/25 dev br0 ping 10.90.67.129 # unreachable ``` When using ovs-vswitchd-dpdk, there are some warnings in ovs-vswitchd.log: ``` 2021-06-07T10:36:26.790Z|00001|vlog|INFO|opened log file /var/log/openvswitch/ovs-vswitchd.log 2021-06-07T10:36:26.794Z|00002|ovs_numa|INFO|Discovered 20 CPU cores on NUMA node 0 2021-06-07T10:36:26.795Z|00003|ovs_numa|INFO|Discovered 20 CPU cores on NUMA node 1 2021-06-07T10:36:26.795Z|00004|ovs_numa|INFO|Discovered 2 NUMA nodes and 40 CPU cores 2021-06-07T10:36:26.795Z|00005|reconnect|INFO|unix:/var/run/openvswitch/db.sock: connecting... 2021-06-07T10:36:26.795Z|00006|reconnect|INFO|unix:/var/run/openvswitch/db.sock: connected 2021-06-07T10:36:26.799Z|00007|bridge|INFO|ovs-vswitchd (Open vSwitch) 2.15.0 2021-06-07T10:36:26.801Z|00008|dpdk|INFO|DPDK Disabled - Use other_config:dpdk-init to enable 2021-06-07T10:36:26.830Z|00009|ofproto_dpif|INFO|system@ovs-system: Datapath supports recirculation 2021-06-07T10:36:26.830Z|00010|ofproto_dpif|INFO|system@ovs-system: VLAN header stack length probed as 2 2021-06-07T10:36:26.830Z|00011|ofproto_dpif|INFO|system@ovs-system: MPLS label stack length probed as 3 2021-06-07T10:36:26.830Z|00012|ofproto_dpif|INFO|system@ovs-system: Datapath supports truncate action 2021-06-07T10:36:26.830Z|00013|ofproto_dpif|INFO|system@ovs-system: Datapath supports unique flow ids 2021-06-07T10:36:26.830Z|00014|ofproto_dpif|INFO|system@ovs-system: Datapath supports clone action 2021-06-07T10:36:26.831Z|00015|ofproto_dpif|INFO|system@ovs-system: Max sample nesting level probed as 10 2021-06-07T10:36:26.831Z|00016|ofproto_dpif|INFO|system@ovs-system: Datapath supports eventmask in conntrack action 2021-06-07T10:36:26.831Z|00017|ofproto_dpif|INFO|system@ovs-system: Datapath supports ct_clear action 2021-06-07T10:36:26.831Z|00018|ofproto_dpif|INFO|system@ovs-system: Max dp_hash algorithm probed to be 0 2021-06-07T10:36:26.831Z|00019|ofproto_dpif|INFO|system@ovs-system: Datapath supports check_pkt_len action 2021-06-07T10:36:26.831Z|00020|ofproto_dpif|INFO|system@ovs-system: Datapath supports timeout policy in conntrack action 2021-06-07T10:36:26.831Z|00021|ofproto_dpif|INFO|system@ovs-system: Datapath supports ct_state 2021-06-07T10:36:26.831Z|00022|ofproto_dpif|INFO|system@ovs-system: Datapath supports ct_zone 2021-06-07T10:36:26.831Z|00023|ofproto_dpif|INFO|system@ovs-system: Datapath supports ct_mark 2021-06-07T10:36:26.831Z|00024|ofproto_dpif|INFO|system@ovs-system: Datapath supports ct_label 2021-06-07T10:36:26.831Z|00025|ofproto_dpif|INFO|system@ovs-system: Datapath supports ct_state_nat 2021-06-07T10:36:26.831Z|00026|ofproto_dpif|INFO|system@ovs-system: Datapath supports ct_orig_tuple 2021-06-07T10:36:26.831Z|00027|ofproto_dpif|INFO|system@ovs-system: Datapath supports ct_orig_tuple6 2021-06-07T10:36:26.831Z|00028|ofproto_dpif|INFO|system@ovs-system: Datapath does not support IPv6 ND Extensions 2021-06-07T10:36:27.004Z|00029|bridge|INFO|bridge br0: added interface br0 on port 65534 2021-06-07T10:36:27.004Z|00030|bridge|INFO|bridge br0: added interface eth1 on port 1 2021-06-07T10:36:27.004Z|00031|bridge|INFO|bridge br0: using datapath ID 00001402ec974171 2021-06-07T10:36:27.005Z|00032|connmgr|INFO|br0: added service controller "punix:/var/run/openvswitch/br0.mgmt" 2021-06-07T10:36:37.007Z|00033|memory|INFO|353268 kB peak resident set size after 10.2 seconds 2021-06-07T10:36:37.007Z|00034|memory|INFO|handlers:29 ports:2 revalidators:11 rules:5 2021-06-07T10:36:40.160Z|00001|dpif(handler1)|WARN|system@ovs-system: failed to put[create] (Invalid argument) ufid:00000000-0000-0000-0000-000000000000 <empty> 2021-06-07T10:36:40.160Z|00002|ofproto_dpif_upcall(handler1)|INFO|received packet on unassociated datapath port 4294967295 2021-06-07T10:36:40.160Z|00003|dpif(handler1)|WARN|system@ovs-system: failed to put[create] (Invalid argument) ufid:00000000-0000-0000-0000-000000000000 <empty> 2021-06-07T10:36:40.160Z|00004|ofproto_dpif_upcall(handler1)|INFO|received packet on unassociated datapath port 4294967295 2021-06-07T10:36:40.160Z|00005|dpif(handler1)|WARN|system@ovs-system: failed to put[create] (Invalid argument) ufid:00000000-0000-0000-0000-000000000000 <empty> 2021-06-07T10:36:40.160Z|00006|ofproto_dpif_upcall(handler1)|INFO|received packet on unassociated datapath port 4294967295 2021-06-07T10:36:40.944Z|00007|dpif(handler1)|WARN|system@ovs-system: failed to put[create] (Invalid argument) ufid:00000000-0000-0000-0000-000000000000 <empty> 2021-06-07T10:36:40.944Z|00008|ofproto_dpif_upcall(handler1)|INFO|received packet on unassociated datapath port 4294967295 2021-06-07T10:36:47.703Z|00001|dpif(handler7)|WARN|system@ovs-system: failed to put[create] (Invalid argument) ufid:00000000-0000-0000-0000-000000000000 <empty> 2021-06-07T10:36:47.703Z|00002|ofproto_dpif_upcall(handler7)|INFO|received packet on unassociated datapath port 4294967295 2021-06-07T10:36:53.160Z|00003|dpif(handler7)|WARN|system@ovs-system: failed to put[create] (Invalid argument) ufid:00000000-0000-0000-0000-000000000000 <empty> ``` Also some logs in dmesg: ``` [321931.322617] openvswitch: netlink: Flow key attr not present in new flow. [321931.322691] openvswitch: netlink: Flow key attr not present in new flow. [321931.323034] openvswitch: netlink: Flow key attr not present in new flow. [321931.323118] openvswitch: netlink: Flow key attr not present in new flow. ``` At first I send this bug report to ovs-disscuss: https://mail.openvswitch.org/pipermail/ovs-discuss/2021-June/051215.html . Ben Pfaff replied: > Did you configure the dpdk version to use DPDK devices and the userspace > datapath? If you didn't, then these two versions of OVS were using the > same code in the same way, so it's puzzling why there would have been > any difference. Then I realized maybe this bug is only in debian. I found an e-mail in ovs-discuss mailing list: https://mail.openvswitch.org/pipermail/ovs-discuss/2014-June/034156.html I wondered if the kernel version didn't fit with ovs version. (but why openvswitch-switch can work?)