• David S. Miller's avatar
    Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next · e8ed77df
    David S. Miller authored
    Pablo Neira Ayuso says:
    
    ====================
    Netfilter updates for net-next
    
    The following large patchset contains Netfilter updates for your
    net-next tree. My initial intention was to send you this in two goes but
    when I looked back twice I already had this burden on top of me.
    
    Several updates for IPVS from Marco Angaroni:
    
    1) Allow SIP connections originating from real-servers to be load
       balanced by the SIP persistence engine as is already implemented
       in the other direction.
    
    2) Release connections immediately for One-packet-scheduling (OPS)
       in IPVS, instead of making it via timer and rcu callback.
    
    3) Skip deleting conntracks for each one packet in OPS, and don't call
       nf_conntrack_alter_reply() since no reply is expected.
    
    4) Enable drop on exhaustion for OPS + SIP persistence.
    
    Miscelaneous conntrack updates from Florian Westphal, including fix for
    hash resize:
    
    5) Move conntrack generation counter out of conntrack pernet structure
       since this is only used by the init_ns to allow hash resizing.
    
    6) Use get_random_once() from packet path to collect hash random seed
        instead of our compound.
    
    7) Don't disable BH from ____nf_conntrack_find() for statistics,
       use NF_CT_STAT_INC_ATOMIC() instead.
    
    8) Fix lookup race during conntrack hash resizing.
    
    9) Introduce clash resolution on conntrack insertion for connectionless
       protocol.
    
    Then, Florian's netns rework to get rid of per-netns conntrack table,
    thus we use one single table for them all. There was consensus on this
    change during the NFWS 2015 and, on top of that, it has recently been
    pointed as a source of multiple problems from unpriviledged netns:
    
    11) Use a single conntrack hashtable for all namespaces. Include netns
        in object comparisons and make it part of the hash calculation.
        Adapt early_drop() to consider netns.
    
    12) Use single expectation and NAT hashtable for all namespaces.
    
    13) Use a single slab cache for all namespaces for conntrack objects.
    
    14) Skip full table scanning from nf_ct_iterate_cleanup() if the pernet
        conntrack counter tells us the table is empty (ie. equals zero).
    
    Fixes for nf_tables interval set element handling, support to set
    conntrack connlabels and allow set names up to 32 bytes.
    
    15) Parse element flags from element deletion path and pass it up to the
        backend set implementation.
    
    16) Allow adjacent intervals in the rbtree set type for dynamic interval
        updates.
    
    17) Add support to set connlabel from nf_tables, from Florian Westphal.
    
    18) Allow set names up to 32 bytes in nf_tables.
    
    Several x_tables fixes and updates:
    
    19) Fix incorrect use of IS_ERR_VALUE() in x_tables, original patch
        from Andrzej Hajda.
    
    And finally, miscelaneous netfilter updates such as:
    
    20) Disable automatic helper assignment by default. Note this proc knob
        was introduced by a9006892 ("netfilter: nf_ct_helper: allow to
        disable automatic helper assignment") 4 years ago to start moving
        towards explicit conntrack helper configuration via iptables CT
        target.
    
    21) Get rid of obsolete and inconsistent debugging instrumentation
        in x_tables.
    
    22) Remove unnecessary check for null after ip6_route_output().
    ====================
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e8ed77df
ip_vs_ctl.c 102 KB