[PATCH nft,v2 00/16] vxlan, geneve, gre, gretap matching support

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

 



Hi,

The following patchset adds support for vxlan, geneve, gre and gretap.
This patchset includes tests and documentation update.

1) Add eval_proto_ctx() to prepare for multiple protocol context to
   track inner and outer headers for the evaluation path.

2) Add dl_proto_ctx() to deal with multiple protocol context to track
   inner and outer header for the delinearize path.

3) Add vxlan support. This includes initial infrastructure for the
   new in-kernel inner expression. A protocol description is added to payload
   and meta expressions.

4) Add tests/py for vxlan.

5) Add tests/shell for vxlan.

6) Update vxlan documentation in nft(8) manpage.

7) Annotate --debug=proto-ctx for easier debugging of inner and outer
   protocol tracking.

8) Add gre support.

9) Add gre tests.

10) Update gre documentation in nft(8) manpage.

11) Add geneve support.

12) Add tests/py for geneve.

13) Update geneve documentation in nft(8) manpage.

14) Add gretap support

15) Add tests/py for gretap.

16) Update gretap documentation in nft(8) manpage.

Pablo Neira Ayuso (16):
  src: add eval_proto_ctx()
  src: add dl_proto_ctx()
  src: add vxlan matching support
  tests: py: add vxlan tests
  tests: shell: add vxlan set tests
  doc: add vxlan matching expression
  src: display (inner) tag in --debug=proto-ctx
  src: add gre support
  tests: py: add gre tests
  doc: add gre matching expression
  src: add geneve matching support
  tests: py: add geneve tests
  doc: add geneve matching expression
  src: add gretap support
  tests: py: add gretap tests
  doc: add gretap matching expression

 doc/payload-expression.txt                   | 154 ++++++++++
 include/expression.h                         |   2 +
 include/linux/netfilter/nf_tables.h          |  27 ++
 include/netlink.h                            |  11 +-
 include/parser.h                             |   1 +
 include/payload.h                            |   4 +
 include/proto.h                              |  58 +++-
 include/rule.h                               |   3 +-
 src/evaluate.c                               | 286 ++++++++++++-----
 src/expression.c                             |   1 +
 src/meta.c                                   |  21 +-
 src/netlink.c                                |   2 +-
 src/netlink_delinearize.c                    | 308 ++++++++++++++++---
 src/netlink_linearize.c                      |  80 ++++-
 src/parser_bison.y                           | 115 +++++++
 src/payload.c                                | 142 +++++++--
 src/proto.c                                  | 133 +++++++-
 src/rule.c                                   |   3 +-
 src/scanner.l                                |  13 +-
 src/xt.c                                     |   8 +-
 tests/py/inet/geneve.t                       |  23 ++
 tests/py/inet/geneve.t.payload               | 114 +++++++
 tests/py/inet/gre.t                          |  22 ++
 tests/py/inet/gre.t.payload                  |  78 +++++
 tests/py/inet/gretap.t                       |  21 ++
 tests/py/inet/gretap.t.payload               |  87 ++++++
 tests/py/inet/vxlan.t                        |  23 ++
 tests/py/inet/vxlan.t.payload                | 114 +++++++
 tests/shell/testcases/sets/dumps/inner_0.nft |  18 ++
 tests/shell/testcases/sets/inner_0           |  25 ++
 30 files changed, 1721 insertions(+), 176 deletions(-)
 create mode 100644 tests/py/inet/geneve.t
 create mode 100644 tests/py/inet/geneve.t.payload
 create mode 100644 tests/py/inet/gre.t
 create mode 100644 tests/py/inet/gre.t.payload
 create mode 100644 tests/py/inet/gretap.t
 create mode 100644 tests/py/inet/gretap.t.payload
 create mode 100644 tests/py/inet/vxlan.t
 create mode 100644 tests/py/inet/vxlan.t.payload
 create mode 100644 tests/shell/testcases/sets/dumps/inner_0.nft
 create mode 100755 tests/shell/testcases/sets/inner_0

--
2.30.2




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

  Powered by Linux