• Kristian Evensen's avatar
    netfilter: conntrack: Flush connections with a given mark · 866476f3
    Kristian Evensen authored
    This patch adds support for selective flushing of conntrack mappings.
    By adding CTA_MARK and CTA_MARK_MASK to a delete-message, the mark (and
    mask) is checked before a connection is deleted while flushing.
    
    Configuring the flush is moved out of ctnetlink_del_conntrack(), and
    instead of calling nf_conntrack_flush_report(), we always call
    nf_ct_iterate_cleanup().  This enables us to only make one call from the
    new ctnetlink_flush_conntrack() and makes it easy to add more filter
    parameters.
    
    Filtering is done in the ctnetlink_filter_match()-function, which is
    also called from ctnetlink_dump_table(). ctnetlink_dump_filter has been
    renamed ctnetlink_filter, to indicated that it is no longer only used
    when dumping conntrack entries.
    
    Moreover, reject mark filters with -EOPNOTSUPP if no ct mark support is
    available.
    Signed-off-by: default avatarKristian Evensen <kristian.evensen@gmail.com>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    866476f3
nf_conntrack_netlink.c 78.9 KB