]> git.baikalelectronics.ru Git - kernel.git/commit
net: use indirect call wrappers at GRO transport layer
authorPaolo Abeni <pabeni@redhat.com>
Fri, 14 Dec 2018 10:51:59 +0000 (11:51 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Dec 2018 21:23:02 +0000 (13:23 -0800)
commit33d1589f98754f92c5fddecb9f0b2bf3e8b18a29
tree4a2e159b4ddfe4548de2b003bae3ca7d15f6a11b
parent4c82f1457144d61dc9980a22b8d02fa19725b1cc
net: use indirect call wrappers at GRO transport layer

This avoids an indirect call in the receive path for TCP and UDP
packets. TCP takes precedence on UDP, so that we have a single
additional conditional in the common case.

When IPV6 is build as module, all gro symbols except UDPv6 are
builtin, while the latter belong to the ipv6 module, so we
need some special care.

v1 -> v2:
 - adapted to INDIRECT_CALL_ changes
v2 -> v3:
 - fix build issue with CONFIG_IPV6=m

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/inet_common.h
net/ipv4/af_inet.c
net/ipv4/tcp_offload.c
net/ipv4/udp_offload.c
net/ipv6/ip6_offload.c
net/ipv6/tcpv6_offload.c
net/ipv6/udp_offload.c