diff mbox series

[net-next,1/8] netdevsim: add more hw_features

Message ID b918dc4dd76410a57f7516a855f66b0a2bd58326.1730929545.git.sd@queasysnail.net
State New
Headers show
Series macsec: inherit lower device's features and TSO limits when offloading | expand

Commit Message

Sabrina Dubroca Nov. 6, 2024, 11:13 p.m. UTC
netdevsim currently only set HW_TC in its hw_features, but other
features should also be present to better reflect the behavior of real
HW.

In my macsec offload testing, this ends up as HW_CSUM being missing
from hw_features, so it doesn't stick in wanted_features when offload
is turned off. Then HW_CSUM (and thus TSO, thanks to
netdev_fix_features) is not automatically turned back on when offload
is re-enabled.

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
---
 drivers/net/netdevsim/netdev.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Simon Horman Nov. 11, 2024, 12:15 p.m. UTC | #1
On Thu, Nov 07, 2024 at 12:13:27AM +0100, Sabrina Dubroca wrote:
> netdevsim currently only set HW_TC in its hw_features, but other
> features should also be present to better reflect the behavior of real
> HW.
> 
> In my macsec offload testing, this ends up as HW_CSUM being missing
> from hw_features, so it doesn't stick in wanted_features when offload
> is turned off. Then HW_CSUM (and thus TSO, thanks to
> netdev_fix_features) is not automatically turned back on when offload
> is re-enabled.
> 
> Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>

Reviewed-by: Simon Horman <horms@kernel.org>
diff mbox series

Patch

diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c
index cad85bb0cf54..0be47fed4efc 100644
--- a/drivers/net/netdevsim/netdev.c
+++ b/drivers/net/netdevsim/netdev.c
@@ -663,7 +663,11 @@  static void nsim_setup(struct net_device *dev)
 			 NETIF_F_FRAGLIST |
 			 NETIF_F_HW_CSUM |
 			 NETIF_F_TSO;
-	dev->hw_features |= NETIF_F_HW_TC;
+	dev->hw_features |= NETIF_F_HW_TC |
+			    NETIF_F_SG |
+			    NETIF_F_FRAGLIST |
+			    NETIF_F_HW_CSUM |
+			    NETIF_F_TSO;
 	dev->max_mtu = ETH_MAX_MTU;
 	dev->xdp_features = NETDEV_XDP_ACT_HW_OFFLOAD;
 }