[Intel-wired-lan] [PATCH iwl-net v2] i40e: Fix handling changed priv flags
Pucha, HimasekharX Reddy
himasekharx.reddy.pucha at intel.com
Thu Nov 7 15:16:03 UTC 2024
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of pegro at friiks.de
> Sent: 30 October 2024 22:52
> To: intel-wired-lan at lists.osuosl.org; Paul Menzel <pmenzel at molgen.mpg.de>; Nguyen, Anthony L <anthony.l.nguyen at intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel at intel.com>
> Cc: netdev at vger.kernel.org; Peter Große <pegro at friiks.de>
> Subject: [Intel-wired-lan] [PATCH iwl-net v2] i40e: Fix handling changed priv flags
>
> From: Peter Große <pegro at friiks.de>
>
> After assembling the new private flags on a PF, the operation to determine the changed flags uses the wrong bitmaps. Instead of xor-ing orig_flags with new_flags, it uses the still unchanged pf->flags, thus changed_flags is always 0.
>
> Fix it by using the correct bitmaps.
>
> The issue was discovered while debugging why disabling source pruning stopped working with release 6.7. Although the new flags will be copied to
> pf->flags later on in that function, disabling source pruning requires
> a reset of the PF, which was skipped due to this bug.
>
> Disabling source pruning:
> $ sudo ethtool --set-priv-flags eno1 disable-source-pruning on $ sudo ethtool --show-priv-flags eno1 Private flags for eno1:
> MFP : off
> total-port-shutdown : off
> LinkPolling : off
> flow-director-atr : on
> veb-stats : off
> hw-atr-eviction : off
> link-down-on-close : off
> legacy-rx : off
> disable-source-pruning: on
> disable-fw-lldp : off
> rs-fec : off
> base-r-fec : off
> vf-vlan-pruning : off
>
> Regarding reproducing:
>
> I observed the issue with a rather complicated lab setup, where
> * two VLAN interfaces are created on eno1
> * each with a different MAC address assigned
> * each moved into a separate namespace
> * both VLANs are bridged externally, so they form a single layer 2 network
>
> The external bridge is done via a channel emulator adding packet loss and delay and the application in the namespaces tries to send/receive traffic and measure the performance. Sender and receiver are > separated by namespaces, yet the network card "sees its own traffic" send back to it.
> To make that work, source pruning has to be disabled.
>
> Fixes: 70756d0a4727 ("i40e: Use DECLARE_BITMAP for flags and hw_features fields in i40e_pf")
> Signed-off-by: Peter Große <pegro at friiks.de>
> ---
> drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha at intel.com> (A Contingent worker at Intel)
More information about the Intel-wired-lan
mailing list