On Wed, Oct 1, 2025 at 8:45 AM Simon Horman <[email protected]> wrote: > > On Tue, Sep 30, 2025 at 04:23:52PM -0500, Sreedevi Joshi wrote: > > From: Erik Gabriel Carrillo <[email protected]> > > > > 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 <[email protected]> > > Co-developed-by: Sreedevi Joshi <[email protected]> > > Signed-off-by: Sreedevi Joshi <[email protected]> > > Reviewed-by: Przemek Kitszel <[email protected]> > > Reviewed-by: Aleksandr Loktionov <[email protected]> >
Tested-by: Mina Almasry <[email protected]> -- Thanks, Mina
