On 09/13/2016 06:54 AM, Nelson Chang wrote: > The codes add ethtool functions to set RX flows for HW LRO. Because the > HW LRO hardware can only recognize the destination IP of TCP/IP RX flows, > the ethtool command to add HW LRO flow is as below: > ethtool -N [devname] flow-type tcp4 dst-ip [ip_addr] loc [0~1] > > Otherwise, cause the hardware can set total four destination IPs, each > GMAC (GMAC1/GMAC2) can set two IPs separately at most. > > Signed-off-by: Nelson Chang <nelson.ch...@mediatek.com> > ---
> + > +static int mtk_set_features(struct net_device *dev, netdev_features_t > features) > +{ > + int err = 0; > + > + if (!((dev->features ^ features) & NETIF_F_LRO)) > + return 0; > + > + if (!(features & NETIF_F_LRO)) > + mtk_hwlro_netdev_disable(dev); you may want to implement a fix_features ndo operations which makes sure that NETIF_F_LRO is turned on in case a RX flow is programmed, otherwise, it may be confusing to the user that a flow was programmed, but no offload is happening. -- Florian