On 05/06, Stanislav Fomichev wrote: > On 05/06, Cosmin Ratiu wrote: > > __netdev_update_features() expects the netdevice to be ops-locked, but > > it gets called recursively on the lower level netdevices to sync their > > features, and nothing locks those. > > > > This commit fixes that, with the assumption that it shouldn't be possible > > for both higher-level and lover-level netdevices to require the instance > > lock, because that would lead to lock dependency warnings. > > > > Without this, playing with higher level (e.g. vxlan) netdevices on top > > of netdevices with instance locking enabled can run into issues: > > Mentioning vxlan is a bit confusing here; it shouldn't let you flip lro (I > think). Which upper are you testing against? > > Trying to understand if we can cover this case in the selftests. > netdevsim also doesn't expose F_LRO feature... (yet?)
Ok, yeah, I can see it with the teaming on top of netdevsim and the following patch applied. Might try to send a testcase to cover this and the promisc part that I missed. Acked-by: Stanislav Fomichev <[email protected]> diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c index 2aa999345fe1..af545d42961c 100644 --- a/drivers/net/netdevsim/netdev.c +++ b/drivers/net/netdevsim/netdev.c @@ -881,11 +881,13 @@ static void nsim_setup(struct net_device *dev) NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HW_CSUM | + NETIF_F_LRO | NETIF_F_TSO; dev->hw_features |= NETIF_F_HW_TC | NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HW_CSUM | + NETIF_F_LRO | NETIF_F_TSO; dev->max_mtu = ETH_MAX_MTU; dev->xdp_features = NETDEV_XDP_ACT_HW_OFFLOAD;
