netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH nft 0/9] concat support
@ 2015-06-05 13:42 Patrick McHardy
  2015-06-05 13:42 ` [PATCH nft 1/9] eval: prohibit variable sized types in concat expressions Patrick McHardy
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Patrick McHardy @ 2015-06-05 13:42 UTC (permalink / raw)
  To: pablo; +Cc: netfilter-devel

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-06-05 13:42 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-05 13:42 [PATCH nft 0/9] concat support Patrick McHardy
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

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