[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1431557008.27831.27.camel@edumazet-glaptop2.roam.corp.google.com>
Date: Wed, 13 May 2015 15:43:28 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: Alexei Starovoitov <ast@...mgrid.com>
Cc: Florian Westphal <fw@...len.de>,
Daniel Borkmann <daniel@...earbox.net>, davem@...emloft.net,
jhs@...atatu.com, netdev@...r.kernel.org
Subject: Re: [PATCH net-next v2] net: core: set and refine qdisc pkt len
before tc_classify
On Wed, 2015-05-13 at 15:27 -0700, Alexei Starovoitov wrote:
> On 5/13/15 2:38 PM, Eric Dumazet wrote:
> >
> > One possibility would be to set it in GRO engine.
> >
> > But then we would have to set qdisc_skb_cb(skb)->pkt_len = skb->len for
> > non GRO packets.
> >
> > Also note the DODGY thing might be not needed for ingress,
> > and I am not sure we can currently deliver UDP aggregated packets.
>
> yeah, current qdisc_pkt_len_init() is certainly TX oriented.
> I'm not sure we can use tcp_hdrlen(skb) on RX which is called as
> part of qdisc_pkt_len_init().
We can, because GRO leave transport header set at the right place.
> I think it's probably better to take Florian's V1 with:
> qdisc_skb_cb(skb)->pkt_len = skb->len;
> to fix immediate breakage of act police and then proceed further?
Yes.
> Like doing qdisc_skb_cb(skb)->pkt_len = skb->len inside GRO engine
> is probably not possible, since cb is used by napi_gro_cb ?
Everything is possible ;)
At the time tcp_gro_complete() is called, we certainly can overwrite
NAPI_GRO_CB(skb)->frag0, with good documentation and BUILD_BUG_ON()
safet nets.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists