From: Patrick McHardy <kaber@trash.net>
To: pablo@netfilter.org
Cc: netfilter-devel@vger.kernel.org
Subject: [PATCH nft 0/9] concat support
Date: Fri, 5 Jun 2015 15:42:42 +0200 [thread overview]
Message-ID: <1433511771-4620-1-git-send-email-kaber@trash.net> (raw)
The following patches add support for concatenations to nft.
The series begins by changing register allocation to take the real size
of an expression into account and allocate an approriate number of 32
bit registers. This is however only done when concatenations are actually
used, so in all other cases we'll continue to use 128 bit registers
for compatibility.
The next part is delinearization, which maps the new registers numbers
appropriately and changes individual expression reconstruction to build
concat expression when indicated by the LHS and RHS sizes.
The final patch changes set element delinearization to reconstruct the
concat expression in set elements when indicated by the key type of the
set.
Patrick McHardy (9):
eval: prohibit variable sized types in concat expressions
headers: sync headers for new register values
netlink: pass expression to register allocation/release functions
netlink_linearize: use NFT_REG32 values internally
netlink_linearize: generate concat expressions
netlink: pad constant concat sub-expressions
netlink_delinearize: introduce register translation helper
netlink_delinearize: handle relational and lookup concat expressions
netlink: handle concat expressions in set data
include/linux/netfilter/nf_tables.h | 34 +++++++++-
include/netlink.h | 15 +++++
src/datatype.c | 5 +-
src/evaluate.c | 7 ++
src/netlink.c | 46 ++++++++++---
src/netlink_delinearize.c | 130 ++++++++++++++++++++++++++++++++----
src/netlink_linearize.c | 105 ++++++++++++++++++++---------
7 files changed, 288 insertions(+), 54 deletions(-)
--
2.1.0
next reply other threads:[~2015-06-05 13:42 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-05 13:42 Patrick McHardy [this message]
2015-06-05 13:42 ` [PATCH nft 1/9] eval: prohibit variable sized types in concat expressions Patrick McHardy
2015-06-05 13:42 ` [PATCH nft 2/9] headers: sync headers for new register values Patrick McHardy
2015-06-05 13:42 ` [PATCH nft 3/9] netlink: pass expression to register allocation/release functions Patrick McHardy
2015-06-05 13:42 ` [PATCH nft 4/9] netlink_linearize: use NFT_REG32 values internally Patrick McHardy
2015-06-05 13:42 ` [PATCH nft 5/9] netlink_linearize: generate concat expressions Patrick McHardy
2015-06-05 13:42 ` [PATCH nft 6/9] netlink: pad constant concat sub-expressions Patrick McHardy
2015-06-05 13:42 ` [PATCH nft 7/9] netlink_delinearize: introduce register translation helper Patrick McHardy
2015-06-05 13:42 ` [PATCH nft 8/9] netlink_delinearize: handle relational and lookup concat expressions Patrick McHardy
2015-06-05 13:42 ` [PATCH nft 9/9] netlink: handle concat expressions in set data Patrick McHardy
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=1433511771-4620-1-git-send-email-kaber@trash.net \
--to=kaber@trash.net \
--cc=netfilter-devel@vger.kernel.org \
--cc=pablo@netfilter.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).