[PATCH 0/7 nft] Add nftables tunnel expr, stmt and object support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch series add nftables tunnel expression, statement and object
support. The implementation was splitted in multiple patches to ease the
review process. All the tests are passing and no memory leaks were
detected with valgrind enabled.

Please notice this series requires the following patches:

* libnftnl:
  - https://lore.kernel.org/netfilter-devel/20250527193420.9860-1-fmancera@xxxxxxx/T/#t

* Linux kernel (already applied on net-next):
  - https://lore.kernel.org/netfilter-devel/20250521094108.23690-1-fmancera@xxxxxxx/T/#u

Fernando Fernandez Mancera (4):
  tunnel: add vxlan support
  tunnel: add geneve support
  tunnel: add tunnel object and statement json support
  tests: add tunnel shell and python tests

Pablo Neira Ayuso (3):
  src: add tunnel template support
  tunnel: add erspan support
  src: add tunnel statement and expression support

 Makefile.am                                   |   2 +
 include/expression.h                          |   6 +
 include/json.h                                |   1 +
 include/parser.h                              |   1 +
 include/rule.h                                |  49 ++++
 include/tunnel.h                              |  37 +++
 src/cache.c                                   |   2 +
 src/evaluate.c                                |  30 +++
 src/expression.c                              |   1 +
 src/json.c                                    |  99 +++++++-
 src/mnl.c                                     |  77 ++++++
 src/netlink.c                                 | 121 +++++++++
 src/netlink_delinearize.c                     |  17 ++
 src/netlink_linearize.c                       |  14 ++
 src/parser_bison.y                            | 236 +++++++++++++++++-
 src/parser_json.c                             | 190 ++++++++++++++
 src/rule.c                                    | 178 ++++++++++++-
 src/scanner.l                                 |  24 +-
 src/statement.c                               |   1 +
 src/tunnel.c                                  |  94 +++++++
 tests/py/netdev/tunnel.t                      |   7 +
 tests/py/netdev/tunnel.t.json                 |  45 ++++
 tests/py/netdev/tunnel.t.json.payload         |  12 +
 tests/py/netdev/tunnel.t.payload              |  12 +
 tests/shell/features/tunnel.nft               |  17 ++
 tests/shell/testcases/sets/0075tunnel_0       |  75 ++++++
 .../sets/dumps/0075tunnel_0.json-nft          | 171 +++++++++++++
 .../testcases/sets/dumps/0075tunnel_0.nft     |  63 +++++
 28 files changed, 1568 insertions(+), 14 deletions(-)
 create mode 100644 include/tunnel.h
 create mode 100644 src/tunnel.c
 create mode 100644 tests/py/netdev/tunnel.t
 create mode 100644 tests/py/netdev/tunnel.t.json
 create mode 100644 tests/py/netdev/tunnel.t.json.payload
 create mode 100644 tests/py/netdev/tunnel.t.payload
 create mode 100644 tests/shell/features/tunnel.nft
 create mode 100755 tests/shell/testcases/sets/0075tunnel_0
 create mode 100644 tests/shell/testcases/sets/dumps/0075tunnel_0.json-nft
 create mode 100644 tests/shell/testcases/sets/dumps/0075tunnel_0.nft

-- 
2.49.0





[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux