Hello,
I'm using OVS 3.3.0 (linuxmint newest release)
in switchdev mode in the following config :
ConnectX4 card (PSID: MT_2190110032, tried several firmware versions).
The card is connected to a trunk port and accepts VLANs=100..117
IP subnet for VLAN=XXX is : 192.168.XXX.0/24
There are 32 VFs configured, and active VFs are in access port mode.
Port PVID varies with VF, like so:
47: ens1f0np0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq
master ovs-system state UP mode DEFAULT group default qlen 1000
link/ether 50:xx:xx:xx:xx:58 brd ff:ff:ff:ff:ff:ff
vf 0 link/ether 4a:55:42:4f:fe:02 brd ff:ff:ff:ff:ff:ff, vlan
101, spoof checking off, link-state auto, trust off, query_rss off
vf 1 link/ether 4a:55:42:4f:fe:06 brd ff:ff:ff:ff:ff:ff, vlan
100, spoof checking off, link-state auto, trust off, query_rss off
vf 2 link/ether 4a:55:42:4f:fe:0a brd ff:ff:ff:ff:ff:ff, vlan
101, spoof checking off, link-state auto, trust off, query_rss off
vf 3 link/ether 4a:55:42:4f:fe:0e brd ff:ff:ff:ff:ff:ff, vlan
106, spoof checking off, link-state auto, trust off, query_rss off
vf 4 link/ether 4a:55:42:4f:fe:12 brd ff:ff:ff:ff:ff:ff, vlan
108, spoof checking off, link-state auto, trust off, query_rss off
vf 5 link/ether 4a:55:42:4f:fe:16 brd ff:ff:ff:ff:ff:ff, vlan
110, spoof checking off, link-state auto, trust off, query_rss off
vf 6 link/ether 4a:55:42:4f:fe:1a brd ff:ff:ff:ff:ff:ff, vlan
111, spoof checking off, link-state auto, trust off, query_rss off
vf 7 link/ether 4a:55:42:4f:fe:1e brd ff:ff:ff:ff:ff:ff, vlan
113, spoof checking off, link-state auto, trust off, query_rss off
vf 8 link/ether 4a:55:42:4f:c6:03 brd ff:ff:ff:ff:ff:ff, vlan
101, spoof checking off, link-state auto, trust off, query_rss off
vf 9 link/ether 4a:55:42:4f:fe:26 brd ff:ff:ff:ff:ff:ff, vlan
113, spoof checking off, link-state auto, trust off, query_rss off
vf 10 link/ether 4a:55:42:4f:fe:2a brd ff:ff:ff:ff:ff:ff, vlan
110, spoof checking off, link-state auto, trust off, query_rss off
vf 11 link/ether 4a:55:42:4f:fe:2e brd ff:ff:ff:ff:ff:ff, vlan
101, spoof checking off, link-state auto, trust off, query_rss off
vf 12 link/ether 4a:55:42:4f:fe:32 brd ff:ff:ff:ff:ff:ff, vlan
101, spoof checking off, link-state auto, trust off, query_rss off
vf 13 link/ether 4a:55:42:4f:fe:36 brd ff:ff:ff:ff:ff:ff, vlan
111, spoof checking off, link-state auto, trust off, query_rss off
vf 14 link/ether 4a:55:42:4f:fe:3a brd ff:ff:ff:ff:ff:ff, vlan
113, spoof checking off, link-state auto, trust off, query_rss off
In switchdev mode OVS vswitch works correctly with the above
config, excepting ARP traffic - all ARP requests from _all_ VLANS
are available on _all_ VFs (as untagged packets).
For instance, in a VM with 7 mapped VFs (vf1..7), on each interface
I can see (here ARP packets from VLANs 110 and 111) :
22:19:11.447627 18:xx:xx:xx:xx:63 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 60: Request who-has 192.168.111.56 tell 192.168.111.3,
length 46
22:19:12.069076 fc:xx:xx:xx:xx:6e > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 60: Request who-has 192.168.110.3 tell 0.0.0.0, length 46
22:19:12.069123 fc:xx:xx:xx:xx:6e > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 60: Request who-has 192.168.110.3 tell 0.0.0.0, length 46
22:19:12.111608 18:xx:xx:xx:xx:3f > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 60: Request who-has 192.168.111.56 tell 192.168.111.2,
length 46
Surprisingly, this ARP traffic propagation across VLANs does not break
other IP traffic, as only the correct VLAN sends ARP reply.
Other protocols (UDP/TCP/IP) seem to be OK.
ARP traffic on a VF port in trunk/hybrid mode is correct.
When I change mode to legacy, ARP traffic on access ports is properly
separated between different VLANs.
I tried to pinpoint the exact culprit, but to no avail.
It could be mlx5 f/w, OVS or more likely my setup (I'm new to OVS).
I would appreciate any hints or suggestions how to solve this puzzle.
best regards,
Jurek
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss