On Wed, Sep 18, 2019 at 12:13:26PM -0400, Willem de Bruijn wrote: > On Wed, Sep 18, 2019 at 3:25 AM Steffen Klassert > <steffen.klass...@secunet.com> wrote: > > > > This patch extends UDP GRO to support fraglist GRO/GSO > > by using the previously introduced infrastructure. > > All UDP packets that are not targeted to a GRO capable > > UDP sockets are going to fraglist GRO now (local input > > and forward). > > > > Signed-off-by: Steffen Klassert <steffen.klass...@secunet.com> > > > > @@ -419,7 +460,7 @@ struct sk_buff *udp_gro_receive(struct list_head *head, > > struct sk_buff *skb, > > (skb->ip_summed != CHECKSUM_PARTIAL && > > NAPI_GRO_CB(skb)->csum_cnt == 0 && > > !NAPI_GRO_CB(skb)->csum_valid)) > > - goto out_unlock; > > + goto out; > > > > /* mark that this skb passed once through the tunnel gro layer */ > > NAPI_GRO_CB(skb)->encap_mark = 1; > > @@ -446,8 +487,7 @@ struct sk_buff *udp_gro_receive(struct list_head *head, > > struct sk_buff *skb, > > skb_gro_postpull_rcsum(skb, uh, sizeof(struct udphdr)); > > pp = call_gro_receive_sk(udp_sk(sk)->gro_receive, sk, head, skb); > > > > -out_unlock: > > - rcu_read_unlock(); > > +out: > > skb_gro_flush_final(skb, pp, flush); > > return pp; > > } > > This probably belongs in patch 1?
Yes, apparently :)