Toshiaki Makita
2014-Dec-11 02:04 UTC
[Bridge] [PATCH net-next] bridge: Add ability to always enable TSO/UFO
On 2014/12/11 4:50, David Miller wrote:> From: Toshiaki Makita <makita.toshiaki at lab.ntt.co.jp> > Date: Wed, 10 Dec 2014 11:43:14 +0900 > >> - features &= ~NETIF_F_ONE_FOR_ALL; >> + features &= ~NETIF_F_ONE_FOR_ALL | NETIF_F_GSO_SOFTWARE; > > I don't think this is the expression you intend to use.Thank you, but this is really my intended expression. "features &= ~NETIF_F_ONE_FOR_ALL" drops all of ONE_FOR_ALL bits including GSO_SOFTWARE. But I want to leave GSO_SOFTWARE bits here.> > I think you meant: > > features &= ~(NETIF_F_ONE_FOR_ALL | NETIF_F_GSO_SOFTWARE);ONE_FOR_ALL already includes GSO_SOFTWARE.> > Or: > > features = ~NETIF_F_ONE_FOR_ALL; > features |= NETIF_F_GSO_SOFTWARE;This way, users cannot drop TSO/UFO by ethtool. Thanks, Toshiaki Makita
David Miller
2014-Dec-11 02:13 UTC
[Bridge] [PATCH net-next] bridge: Add ability to always enable TSO/UFO
From: Toshiaki Makita <makita.toshiaki at lab.ntt.co.jp> Date: Thu, 11 Dec 2014 11:04:44 +0900> On 2014/12/11 4:50, David Miller wrote: >> From: Toshiaki Makita <makita.toshiaki at lab.ntt.co.jp> >> Date: Wed, 10 Dec 2014 11:43:14 +0900 >> >>> - features &= ~NETIF_F_ONE_FOR_ALL; >>> + features &= ~NETIF_F_ONE_FOR_ALL | NETIF_F_GSO_SOFTWARE; >> >> I don't think this is the expression you intend to use. > > Thank you, but this is really my intended expression. > > "features &= ~NETIF_F_ONE_FOR_ALL" drops all of ONE_FOR_ALL bits > including GSO_SOFTWARE. > But I want to leave GSO_SOFTWARE bits here.It is clearer to say this as: ~(NETIF_F_ONE_FOR_ALL & ~NETIF_F_GSO_SOFTWARE) Or create a new NETIF_F_* macro to express this idea succinctly.