• Florian Westphal's avatar
    netfilter: defrag: only register defrag functionality if needed · 834184b1
    Florian Westphal authored
    nf_defrag modules for ipv4 and ipv6 export an empty stub function.
    Any module that needs the defragmentation hooks registered simply 'calls'
    this empty function to create a phony module dependency -- modprobe will
    then load the defrag module too.
    
    This extends netfilter ipv4/ipv6 defragmentation modules to delay the hook
    registration until the functionality is requested within a network namespace
    instead of module load time for all namespaces.
    
    Hooks are only un-registered on module unload or when a namespace that used
    such defrag functionality exits.
    
    We have to use struct net for this as the register hooks can be called
    before netns initialization here from the ipv4/ipv6 conntrack module
    init path.
    
    There is no unregister functionality support, defrag will always be
    active once it was requested inside a net namespace.
    
    The reason is that defrag has impact on nft and iptables rulesets
    (without defrag we might see framents).
    Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    834184b1
xt_TPROXY.c 17.3 KB