]> git.baikalelectronics.ru Git - kernel.git/commit
net: Convert GRO SKB handling to list_head.
authorDavid Miller <davem@davemloft.net>
Sun, 24 Jun 2018 05:13:49 +0000 (14:13 +0900)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Jun 2018 02:33:04 +0000 (11:33 +0900)
commit70b78db93db22b54e170cb8dfc40d50759ebb38c
treeeb7393380a20d8ccaf8f94204fe2c15d2639a780
parentd912d3a6273fe3eece38441922e09533a58f3656
net: Convert GRO SKB handling to list_head.

Manage pending per-NAPI GRO packets via list_head.

Return an SKB pointer from the GRO receive handlers.  When GRO receive
handlers return non-NULL, it means that this SKB needs to be completed
at this time and removed from the NAPI queue.

Several operations are greatly simplified by this transformation,
especially timing out the oldest SKB in the list when gro_count
exceeds MAX_GRO_SKBS, and napi_gro_flush() which walks the queue
in reverse order.

Signed-off-by: David S. Miller <davem@davemloft.net>
24 files changed:
drivers/net/geneve.c
drivers/net/vxlan.c
include/linux/etherdevice.h
include/linux/netdevice.h
include/linux/skbuff.h
include/linux/udp.h
include/net/inet_common.h
include/net/tcp.h
include/net/udp.h
include/net/udp_tunnel.h
net/8021q/vlan.c
net/core/dev.c
net/core/skbuff.c
net/ethernet/eth.c
net/ipv4/af_inet.c
net/ipv4/esp4_offload.c
net/ipv4/fou.c
net/ipv4/gre_offload.c
net/ipv4/tcp_offload.c
net/ipv4/udp_offload.c
net/ipv6/esp6_offload.c
net/ipv6/ip6_offload.c
net/ipv6/tcpv6_offload.c
net/ipv6/udp_offload.c