[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aN1MSIO27C24q-gL@horms.kernel.org>
Date: Wed, 1 Oct 2025 16:44:08 +0100
From: Simon Horman <horms@...nel.org>
To: Sreedevi Joshi <sreedevi.joshi@...el.com>
Cc: intel-wired-lan@...ts.osuosl.org, netdev@...r.kernel.org,
Erik Gabriel Carrillo <erik.g.carrillo@...el.com>,
Przemek Kitszel <przemyslaw.kitszel@...el.com>,
Aleksandr Loktionov <aleksandr.loktionov@...el.com>
Subject: Re: [PATCH v2 iwl-net 2/2] idpf: fix issue with ethtool -n command
display
On Tue, Sep 30, 2025 at 04:23:52PM -0500, Sreedevi Joshi wrote:
> From: Erik Gabriel Carrillo <erik.g.carrillo@...el.com>
>
> When ethtool -n is executed on an interface to display the flow steering
> rules, "rxclass: Unknown flow type" error is generated.
>
> The flow steering list maintained in the driver currently stores only the
> location and q_index but other fields of the ethtool_rx_flow_spec are not
> stored. This may be enough for the virtchnl command to delete the entry.
> However, when the ethtool -n command is used to query the flow steering
> rules, the ethtool_rx_flow_spec returned is not complete causing the
> error below.
>
> Resolve this by storing the flow spec (fsp) when rules are added and
> returning the complete flow spec when rules are queried.
>
> Also, change the return value from EINVAL to ENOENT when flow steering
> entry is not found during query by location or when deleting an entry.
>
> Add logic to detect and reject duplicate filter entries at the same
> location and change logic to perform upfront validation of all error
> conditions before adding flow rules through virtchnl. This avoids the
> need for additional virtchnl delete messages when subsequent operations
> fail, which was missing in the original upstream code.
>
> Example:
> Before the fix:
> ethtool -n eth1
> 2 RX rings available
> Total 2 rules
>
> rxclass: Unknown flow type
> rxclass: Unknown flow type
>
> After the fix:
> ethtool -n eth1
> 2 RX rings available
> Total 2 rules
>
> Filter: 0
> Rule Type: TCP over IPv4
> Src IP addr: 10.0.0.1 mask: 0.0.0.0
> Dest IP addr: 0.0.0.0 mask: 255.255.255.255
> TOS: 0x0 mask: 0xff
> Src port: 0 mask: 0xffff
> Dest port: 0 mask: 0xffff
> Action: Direct to queue 0
>
> Filter: 1
> Rule Type: UDP over IPv4
> Src IP addr: 10.0.0.1 mask: 0.0.0.0
> Dest IP addr: 0.0.0.0 mask: 255.255.255.255
> TOS: 0x0 mask: 0xff
> Src port: 0 mask: 0xffff
> Dest port: 0 mask: 0xffff
> Action: Direct to queue 0
>
> Fixes: ada3e24b84a0 ("idpf: add flow steering support")
> Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo@...el.com>
> Co-developed-by: Sreedevi Joshi <sreedevi.joshi@...el.com>
> Signed-off-by: Sreedevi Joshi <sreedevi.joshi@...el.com>
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
Reviewed-by: Simon Horman <horms@...nel.org>
Powered by blists - more mailing lists