xfrm: make xfrm modes builtin
authorFlorian Westphal <fw@strlen.de>
Fri, 29 Mar 2019 20:16:31 +0000 (21:16 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Mon, 8 Apr 2019 07:15:17 +0000 (09:15 +0200)
commit4c145dce26013763490df88f2473714f5bc7857d
tree4c04664251930847a954536f24e0a5f9bcb08768
parent733a5fac2f15b55b9059230d098ed04341d2d884
xfrm: make xfrm modes builtin

after previous changes, xfrm_mode contains no function pointers anymore
and all modules defining such struct contain no code except an init/exit
functions to register the xfrm_mode struct with the xfrm core.

Just place the xfrm modes core and remove the modules,
the run-time xfrm_mode register/unregister functionality is removed.

Before:

    text    data     bss      dec filename
    7523     200    2364    10087 net/xfrm/xfrm_input.o
   40003     628     440    41071 net/xfrm/xfrm_state.o
15730338 6937080 4046908 26714326 vmlinux

    7389     200    2364    9953  net/xfrm/xfrm_input.o
   40574     656     440   41670  net/xfrm/xfrm_state.o
15730084 6937068 4046908 26714060 vmlinux

The xfrm*_mode_{transport,tunnel,beet} modules are gone.

v2: replace CONFIG_INET6_XFRM_MODE_* IS_ENABLED guards with CONFIG_IPV6
    ones rather than removing them.

Signed-off-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
20 files changed:
include/net/xfrm.h
net/ipv4/Kconfig
net/ipv4/Makefile
net/ipv4/ip_vti.c
net/ipv4/xfrm4_mode_beet.c [deleted file]
net/ipv4/xfrm4_mode_transport.c [deleted file]
net/ipv4/xfrm4_mode_tunnel.c [deleted file]
net/ipv6/Kconfig
net/ipv6/Makefile
net/ipv6/ip6_vti.c
net/ipv6/xfrm6_mode_beet.c [deleted file]
net/ipv6/xfrm6_mode_ro.c [deleted file]
net/ipv6/xfrm6_mode_transport.c [deleted file]
net/ipv6/xfrm6_mode_tunnel.c [deleted file]
net/xfrm/xfrm_input.c
net/xfrm/xfrm_interface.c
net/xfrm/xfrm_output.c
net/xfrm/xfrm_policy.c
net/xfrm/xfrm_state.c
tools/testing/selftests/net/config