Re: [PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-09 Thread Daniel Borkmann
On 11/07/2015 11:29 PM, David Miller wrote: From: Eric Dumazet Date: Sat, 07 Nov 2015 10:53:50 -0800 Well, imagine following scenario (a real one, as I use it all of time, thus how I discovered all trafgen traffic ends up on one slave only) Even if qdisc is bypassed

Re: [PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-09 Thread Daniel Borkmann
On 11/09/2015 04:11 AM, David Miller wrote: From: Daniel Borkmann Date: Sun, 08 Nov 2015 01:33:56 +0100 Hmm, yeah, on a (only quick) look, it seems this is mostly needed for the virtio_net related code in packet_snd() / packet_recvmsg(), not handled in RX/TX ring paths

Re: [PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-08 Thread David Miller
From: Daniel Borkmann Date: Sun, 08 Nov 2015 01:33:56 +0100 > Hmm, yeah, on a (only quick) look, it seems this is mostly needed for > the > virtio_net related code in packet_snd() / packet_recvmsg(), not > handled in > RX/TX ring paths actually. > > $ git grep -n gso_size

Re: [PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-07 Thread Eric Dumazet
On Fri, 2015-11-06 at 22:02 +0100, Daniel Borkmann wrote: > In tpacket_fill_skb() commit c1aad275b029 ("packet: set transport > header before doing xmit") and later on 40893fd0fd4e ("net: switch > to use skb_probe_transport_header()") was probing for a transport > header on the skb from a ring

Re: [PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-07 Thread David Miller
From: Eric Dumazet Date: Sat, 07 Nov 2015 04:42:56 -0800 > The if (!packet_use_direct_xmit(po)) test looks dubious. > > Setting transport header has nothing to do with bypassing qdisc ? > > This might lead to hard to debug problems, for drivers expecting > transport

Re: [PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-07 Thread Eric Dumazet
On Sat, 2015-11-07 at 10:53 -0800, Eric Dumazet wrote: > Well, imagine following scenario (a real one, as I use it all of time, > thus how I discovered all trafgen traffic ends up on one slave only) > > Even if qdisc is bypassed on the bond0, the current handling does not > prevent going to the

Re: [PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-07 Thread Eric Dumazet
On Sat, 2015-11-07 at 13:35 -0500, David Miller wrote: > From: Eric Dumazet > Date: Sat, 07 Nov 2015 04:42:56 -0800 > > > The if (!packet_use_direct_xmit(po)) test looks dubious. > > > > Setting transport header has nothing to do with bypassing qdisc ? > > > > This

Re: [PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-07 Thread Daniel Borkmann
On 11/07/2015 08:06 PM, Eric Dumazet wrote: On Sat, 2015-11-07 at 10:53 -0800, Eric Dumazet wrote: Well, imagine following scenario (a real one, as I use it all of time, thus how I discovered all trafgen traffic ends up on one slave only) Even if qdisc is bypassed on the bond0, the current

Re: [PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-07 Thread David Miller
From: Eric Dumazet Date: Sat, 07 Nov 2015 10:53:50 -0800 > Well, imagine following scenario (a real one, as I use it all of > time, thus how I discovered all trafgen traffic ends up on one slave > only) > > Even if qdisc is bypassed on the bond0, the current handling

[PATCH net 1/2] packet: do skb_probe_transport_header when we actually have data

2015-11-06 Thread Daniel Borkmann
In tpacket_fill_skb() commit c1aad275b029 ("packet: set transport header before doing xmit") and later on 40893fd0fd4e ("net: switch to use skb_probe_transport_header()") was probing for a transport header on the skb from a ring buffer slot, but at a time, where the skb has _not even_ been filled