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().
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?
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 ?