On Tue, Nov 03, 2020 at 06:36:30PM +0200, Julian Wiedmann wrote: > Given the various skb modifications in its xmit path, I wonder why > gianfar doesn't clear IFF_TX_SKB_SHARING.
Thanks for the hint Julian :) I'll try to see if it makes any difference. Just a wild guess, but maybe because the gianfar maintainer (or me) had no idea about the existence of the flag, and because IFF_SKB_TX_SHARED was added _after_ gianfar was already a thing (which it was since the beginning of git), which is insane to begin with? commit d8873315065f1f527c7c380402cf59b1e1d0ae36 Author: Neil Horman <[email protected]> Date: Tue Jul 26 06:05:37 2011 +0000 net: add IFF_SKB_TX_SHARED flag to priv_flags Pktgen attempts to transmit shared skbs to net devices, which can't be used by some drivers as they keep state information in skbs. This patch adds a flag marking drivers as being able to handle shared skbs in their tx path. Drivers are defaulted to being unable to do so, but calling ether_setup enables this flag, as 90% of the drivers calling ether_setup touch real hardware and can handle shared skbs. A subsequent patch will audit drivers to ensure that the flag is set properly Signed-off-by: Neil Horman <[email protected]> Reported-by: Jiri Pirko <[email protected]> CC: Robert Olsson <[email protected]> CC: Eric Dumazet <[email protected]> CC: Alexey Dobriyan <[email protected]> CC: David S. Miller <[email protected]> Signed-off-by: David S. Miller <[email protected]>
