mbox series

[nft,v2,0/3] Introduce support for concatenated ranges

Message ID cover.1574353687.git.sbrivio@redhat.com
Headers show
Series Introduce support for concatenated ranges | expand

Message

Stefano Brivio Nov. 21, 2019, 5:10 p.m. UTC
This is the counterpart of kernel series:
  nftables: Set implementation for arbitrary concatenation of ranges

and it has a UAPI dependency on kernel patch:
  [PATCH nf-next 1/8] nf_tables: Support for subkeys, set with multiple ranged fields

Patch 1/3 adds support for NFT_SET_SUBKEY: these new netlink
attributes specify the length of fields within concatenations,
and they are needed by set implementations in the kernel to
figure out where single fields start and stop.

Patch 2/3 introduces new key data semantics needed to represent
arbitrary concatenation of ranges with minimal UAPI modifications,
as well as required changes in lexer and expression evaluation.

Patch 3/3 adds test cases for operations on the new set type.

I'm not updating the UAPI header copy in this series, please
let me know if I'd better do that.

v2: changes listed in messages for 2/3 and 3/3

Stefano Brivio (3):
  src: Add support for and export NFT_SET_SUBKEY attributes
  src: Add support for concatenated set ranges
  tests: Introduce test for set with concatenated ranges

 include/expression.h                          |   2 +
 include/rule.h                                |   7 +
 src/evaluate.c                                |  25 ++-
 src/mnl.c                                     |   4 +
 src/netlink.c                                 |  99 ++++++++---
 src/parser_bison.y                            |  89 ++++------
 src/rule.c                                    |  10 +-
 src/segtree.c                                 | 117 +++++++++++++
 .../testcases/sets/0041concatenated_ranges_0  | 162 ++++++++++++++++++
 9 files changed, 417 insertions(+), 98 deletions(-)
 create mode 100755 tests/shell/testcases/sets/0041concatenated_ranges_0