[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251120162813.37942-1-jakub.slepecki@intel.com>
Date: Thu, 20 Nov 2025 17:28:05 +0100
From: Jakub Slepecki <jakub.slepecki@...el.com>
To: intel-wired-lan@...ts.osuosl.org
Cc: linux-kernel@...r.kernel.org,
netdev@...r.kernel.org,
przemyslaw.kitszel@...el.com,
anthony.l.nguyen@...el.com,
michal.swiatkowski@...ux.intel.com,
jakub.slepecki@...el.com
Subject: [PATCH iwl-next 0/8] ice: in VEB, prevent "cross-vlan" traffic
Currently, packets that match MAC address of a VF will be sent to loopback
even if they would cross VLAN boundaries. Effectively, this drops them.
In this patch series, we aim to address this behaviour by adding MAC,VLAN
to complement what MAC-only filters do to select packets for loopback.
To reproduce the issue have E810 connected to another adapter, then:
ip l set $pfa vf 0 vlan 4
ip l set $pfa vf 1 vlan 7
ip l set $pfb vf 0 trust on spoof off vlan 4
ip l set $pfb vf 1 trust on spoof off vlan 7
ip l set $vfa0 netns $netns0 up
ip l set $vfa1 netns $netns1 up
ip netns exec $netns0 ip a add 10.0.0.1/24 dev $vfa0
ip netns exec $netns1 ip a add 10.0.0.2/24 dev $vfa1
ip l add $br type bridge
ip l set $vfb0 master $br up
ip l set $vfb1 master $br up
ip l set $br up
Where $pfa is the E810 and $pfb is its link partner. Send the packets
between $vfa0 and $vfa1. We expect to see ICMP packets at the $br.
Instead, ARP is unable to resolve the 10.0.0.1 because the reply is
stuck in the internal switch.
Jakub Slepecki (7):
ice: in dvm, use outer VLAN in MAC,VLAN lookup
ice: allow creating mac,vlan filters along mac filters
ice: do not check for zero mac when creating mac filters
ice: allow overriding lan_en, lb_en in switch
ice: update mac,vlan rules when toggling between VEB and VEPA
ice: add functions to query for vsi's pvids
ice: in VEB, prevent "cross-vlan" traffic from hitting loopback
Michal Swiatkowski (1):
ice: add mac vlan to filter API
drivers/net/ethernet/intel/ice/ice_fltr.c | 104 +++++++++++++++++-
drivers/net/ethernet/intel/ice/ice_fltr.h | 10 +-
drivers/net/ethernet/intel/ice/ice_lib.c | 56 ++++++++++
drivers/net/ethernet/intel/ice/ice_lib.h | 2 +
drivers/net/ethernet/intel/ice/ice_main.c | 46 ++++++--
drivers/net/ethernet/intel/ice/ice_switch.c | 79 +++++++++----
drivers/net/ethernet/intel/ice/ice_switch.h | 12 +-
drivers/net/ethernet/intel/ice/ice_vf_lib.c | 8 +-
.../net/ethernet/intel/ice/ice_vlan_mode.c | 12 ++
9 files changed, 285 insertions(+), 44 deletions(-)
--
2.43.0
Powered by blists - more mailing lists