From: Tom Herbert <t...@herbertland.com> Date: Tue, 5 Apr 2016 08:22:48 -0700
> This patch set adds GRO functions (gro_receive and gro_complete) to UDP > sockets and removes udp_offload infrastructure. > > Add GRO functions (gro_receive and gro_complete) to UDP sockets. In > udp_gro_receive and udp_gro_complete a socket lookup is done instead of > looking up the port number in udp_offloads. If a socket is found and > there are GRO functions for it then those are called. This feature > allows binding GRO functions to more than just a port number. > Eventually, we will be able to use this technique to allow application > defined GRO for an application protocol by attaching BPF porgrams to UDP > sockets for doing GRO. > > In order to implement these functions, we added exported > udp6_lib_lookup_skb and udp4_lib_lookup_skb functions in ipv4/udp.c and > ipv6/udp.c. Also, inet_iif and references to skb_dst() were changed to > check that dst is set in skbuf before derefencing. In the GRO path there > is now a UDP socket lookup performed before dst is set, to the get the > device in that case we simply use skb->dev. > > Tested: > > Ran various combinations of VXLAN and GUE TCP_STREAM and TCP_RR tests. > Did not see any material regression. Series applied thanks Tom.