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]>
Reviewed-by: Simon Horman <[email protected]>
