netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


             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).