From: Pablo Neira Ayuso <pablo@netfilter.org>
To: netfilter-devel@vger.kernel.org
Subject: [PATCH nf-next 0/7] nf_tables set enhancements
Date: Wed, 18 Jan 2017 18:30:06 +0100 [thread overview]
Message-ID: <1484760613-17236-1-git-send-email-pablo@netfilter.org> (raw)
Hi,
The following patches contains enhancements for the set infrastructure:
1) Introduce memory scalability notation for sets, this is useful in
case that userspace provides no explicit number of elements for this
set and to break ties if the set selection routine finds two backends
providing similar runtime performance which is now possible with hash
and the new bitmap set type.
2) Add new bitmap set type that represents an element using two bits. In
order to reduce memory consumption, this set type is selected if the key
size is smaller than 16 bit. For 8 bit keys, the bitmap consumes 66
bytes. For 16 bit keys, the bitmap takes 16388 bytes.
Comments welcome, thanks.
Pablo Neira Ayuso (7):
netfilter: nf_tables: pass netns to set->ops->remove()
netfilter: nf_tables: use struct nft_set_iter in set element flush
netfilter: nf_tables: rename deactivate_one() to flush()
netfilter: nf_tables: add flush field to struct nft_set_iter
netfilter: nf_tables: rename struct nft_set_estimate class field
netfilter: nf_tables: add space notation to sets
netfilter: nf_tables: add bitmap set type
include/net/netfilter/nf_tables.h | 18 ++-
net/netfilter/Kconfig | 6 +
net/netfilter/Makefile | 1 +
net/netfilter/nf_tables_api.c | 49 +++---
net/netfilter/nft_set_bitmap.c | 314 ++++++++++++++++++++++++++++++++++++++
net/netfilter/nft_set_hash.c | 14 +-
net/netfilter/nft_set_rbtree.c | 14 +-
7 files changed, 378 insertions(+), 38 deletions(-)
create mode 100644 net/netfilter/nft_set_bitmap.c
--
2.1.4
next reply other threads:[~2017-01-18 17:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-18 17:30 Pablo Neira Ayuso [this message]
2017-01-18 17:30 ` [PATCH nf-next 1/7] netfilter: nf_tables: pass netns to set->ops->remove() Pablo Neira Ayuso
2017-01-18 17:30 ` [PATCH nf-next 2/7] netfilter: nf_tables: use struct nft_set_iter in set element flush Pablo Neira Ayuso
2017-01-18 17:30 ` [PATCH nf-next 3/7] netfilter: nf_tables: rename deactivate_one() to flush() Pablo Neira Ayuso
2017-01-18 17:30 ` [PATCH nf-next 4/7] netfilter: nf_tables: add flush field to struct nft_set_iter Pablo Neira Ayuso
2017-01-18 17:30 ` [PATCH nf-next 5/7] netfilter: nf_tables: rename struct nft_set_estimate class field Pablo Neira Ayuso
2017-01-18 17:30 ` [PATCH nf-next 6/7] netfilter: nf_tables: add space notation to sets Pablo Neira Ayuso
2017-01-18 17:30 ` [PATCH nf-next 7/7] netfilter: nf_tables: add bitmap set type Pablo Neira Ayuso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1484760613-17236-1-git-send-email-pablo@netfilter.org \
--to=pablo@netfilter.org \
--cc=netfilter-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).