On 2021-12-14 1:59 PM, Roi Dayan wrote:
On 2021-12-09 3:16 PM, Ilya Maximets wrote:
On 12/8/21 03:57, lin huang wrote:
From: linhuang <linhu...@ruijie.com.cn>
Userspace tunnel doesn't have a valid device in the kernel. So
get_ifindex() function (ioctl) always get error during
adding a port, deleting a port or updating a port status.
The info log is
"2021-08-29T09:17:39.830Z|00059|netdev_linux|INFO|ioctl(SIOCGIFINDEX)
on vxlan_sys_4789 device failed: No such device"
If there are a lot of userspace tunnel ports on a bridge, the
iface_refresh_netdev_status() function will spend a lot of time.
So ignore userspace tunnel port ioctl(SIOCGIFINDEX) operation, just
return -ENODEV.
Signed-off-by: Lin Huang <linhu...@ruijie.com.cn>
Test-by: Mike Pattrick <m...@redhat.com>
---
lib/netdev-vport.c | 6 ++++++
vswitchd/bridge.c | 2 ++
2 files changed, 8 insertions(+)
Applied. Thanks!
Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.openvswitch.org%2Fmailman%2Flistinfo%2Fovs-dev&data=04%7C01%7Croid%40nvidia.com%7C8865bff084424563a30308d9bb16357f%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637746526329615023%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=53XCrfcyaY1orDpnmjdf7FV5espcWKPElCMDJKVU5Jw%3D&reserved=0
Hi,
We encounter an offload issue with this commit that OVS doesn't add
rules to TC and keeps on with OVS dp.
To reproduce the issue, configure ovs with bridge and 2 ports,
restart openvswitch service and then do ping between the ports.
Removing/readding port to bridge or calling dpctl/dump-flows "fix" the
issue and ovs calls TC again.
From first look it's because br->ofproto->type is not the same pointer
usually set in netdev_ports_insert() which can be dpi_class->type or
static "system" and in the netdev_ports_* functions the code uses
pointer equal instead of strcmp() to check the type.
So netdev_ports_lookup() returns error now.
2021-12-14T10:56:18.240Z|00010|dpif_netlink(handler1)|ERR|XXX
parse_flow_put 2243 get port for type system ret (nil)
Even after changing all netdev_ports_* to use strcmp() and
netdev_ports_lookup() is ok and we do get to tc flow put.
Looks like we get an error from tc to offload. so checking this part
now.
2021-12-14T11:23:09.230Z|00035|dpif_netlink(handler1)|ERR|failed to
offload flow: No such device: enp8s0f0_0
So still looking on this but wanted to share about the behavior.
Thanks,
Roi
I forgot to mention but just to make it clear,
need to set hw-offload=true.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev