• Florian Westphal's avatar
    xfrm: remove output2 indirection from xfrm_mode · 1de70830
    Florian Westphal authored
    similar to previous patch: no external module dependencies,
    so we can avoid the indirection by placing this in the core.
    
    This change removes the last indirection from xfrm_mode and the
    xfrm4|6_mode_{beet,tunnel}.c modules contain (almost) no code anymore.
    
    Before:
       text    data     bss     dec     hex filename
       3957     136       0    4093     ffd net/xfrm/xfrm_output.o
        587      44       0     631     277 net/ipv4/xfrm4_mode_beet.o
        649      32       0     681     2a9 net/ipv4/xfrm4_mode_tunnel.o
        625      44       0     669     29d net/ipv6/xfrm6_mode_beet.o
        599      32       0     631     277 net/ipv6/xfrm6_mode_tunnel.o
    After:
       text    data     bss     dec     hex filename
       5359     184       0    5543    15a7 net/xfrm/xfrm_output.o
        171      24       0     195      c3 net/ipv4/xfrm4_mode_beet.o
        171      24       0     195      c3 net/ipv4/xfrm4_mode_tunnel.o
        172      24       0     196      c4 net/ipv6/xfrm6_mode_beet.o
        172      24       0     196      c4 net/ipv6/xfrm6_mode_tunnel.o
    
    v2: fold the *encap_add functions into xfrm*_prepare_output
        preserve (move) output2 comment (Sabrina)
        use x->outer_mode->encap, not inner
        fix a build breakage on ppc (kbuild robot)
    Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
    Reviewed-by: default avatarSabrina Dubroca <sd@queasysnail.net>
    Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
    1de70830
xfrm4_mode_tunnel.c 882 Bytes