Re: [v4 Patch 1/2] s2io: add dynamic LRO disable support
From: Stanislaw Gruszka <hidden>
Date: 2010-06-22 12:31:14
On Tue, 22 Jun 2010 12:44:40 +0100 Ben Hutchings [off-list ref] wrote:
On Tue, 2010-06-22 at 04:50 -0400, Amerigo Wang wrote:quoted
This patch adds dynamic LRO diable support for s2io net driver. (I don't have s2io card, so only did compiling test. Anyone who wants to test this is more than welcome.) This is based on Neil's initial work, and heavily modified based on Ramkrishna's suggestions.[...]quoted
+static int s2io_ethtool_set_flags(struct net_device *dev, u32 data) +{ + struct s2io_nic *sp = netdev_priv(dev); + int rc = 0; + int changed = 0; + + if (data & ~ETH_FLAG_LRO) + return -EOPNOTSUPP; + + if (data & ETH_FLAG_LRO) { + if (lro_enable) { + if (!(dev->features & NETIF_F_LRO)) { + dev->features |= NETIF_F_LRO; + changed = 1; + } + } else + rc = -EOPNOTSUPP;Should lro_enable=0 really prevent enabling it later? This seems unusual.
We are doing this in bnx2x. Current Amerigo patch change to the same behavior mlx4. For me that have sense - if you want to disallow LRO - use module option. In this case however lro_enable variable looks obsolete from times where there was no ethtool possibility to dynamic set/unset LRO. Perhaps it should be removed at all, but maybe not as part of that patch. Stanislaw