On Friday, December 12/01/17, 2017 at 07:16:38 -0800, Alexander Duyck wrote: > On Fri, Dec 1, 2017 at 6:59 AM, Ganesh Goudar <ganes...@chelsio.com> wrote: > > GRO is not supported by Chelsio HW when rx_csum is disabled. > > Update the netdev features flag when rx_csum is modified. > > > > Signed-off-by: Arjun Vynipadath <ar...@chelsio.com> > > Signed-off-by: Ganesh Goudar <ganes...@chelsio.com> > > --- > > drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c > > b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c > > index b48361c..8e993ac 100644 > > --- a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c > > +++ b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c > > @@ -1114,6 +1114,10 @@ static int cxgb4vf_change_mtu(struct net_device > > *dev, int new_mtu) > > static netdev_features_t cxgb4vf_fix_features(struct net_device *dev, > > netdev_features_t features) > > { > > + /* Disable GRO, if RX_CSUM is disabled */ > > + if (!(features & NETIF_F_RXCSUM)) > > + features &= ~NETIF_F_GRO; > > + > > /* > > * Since there is no support for separate rx/tx vlan accel > > * enable/disable make sure tx flag is always in same state as rx. > > Wouldn't it make more sense to just put this in netdev_fix_features? I > would thing GRO cannot be supported on any device if RX_CSUM is > disabled since GRO depends on checksum validation from the hardware > before it can aggregate the frame. > > - Alex Makes sense, but let us see what others has to say.
Ganesh