mbox series

[00/20] ice/base: add parser module

Message ID 20210917110242.3127658-1-qi.z.zhang@intel.com (mailing list archive)
Headers
Series ice/base: add parser module |

Message

Qi Zhang Sept. 17, 2021, 11:02 a.m. UTC
  Add the parser module that can parse on a raw packet then figure
out the low-level metadata to program the hardware packet process
pipeline for flow offloading(Switch/FDIR/RSS). This is the pre-step
to enable a protocol-agnostic flow offloading solution for ice devices
that leverage Intel DDP technology.

Qi Zhang (20):
  net/ice/base: add parser create and destroy skeleton
  net/ice/base: init imem table for parser
  net/ice/base: init metainit table for parser
  net/ice/base: init parse graph cam table for parser
  net/ice/base: init boost TCAM table for parser
  net/ice/base: init ptype marker TCAM table for parser
  net/ice/base: init marker group table for parser
  net/ice/base: init protocol group table for parser
  net/ice/base: init flag redirect table for parser
  net/ice/base: init XLT key builder for parser
  net/ice/base: add parser runtime skeleton
  net/ice/base: add helper function for boost TCAM match
  net/ice/base: add helper functions for parse graph key matching
  net/ice/base: add helper function for ptype markers match
  net/ice/base: add helper function to redirect flags
  net/ice/base: add helper function to aggregate flags
  net/ice/base: add parser execution main loop
  net/ice/base: support double VLAN mode configure for parser
  net/ice/base: add tunnel port support for parser
  net/ice/base: add API for parser profile initialization

 drivers/net/ice/base/ice_bst_tcam.c    | 291 +++++++++
 drivers/net/ice/base/ice_bst_tcam.h    |  35 +
 drivers/net/ice/base/ice_common.h      |   1 +
 drivers/net/ice/base/ice_flex_pipe.c   |   4 +-
 drivers/net/ice/base/ice_flex_pipe.h   |   8 +
 drivers/net/ice/base/ice_flex_type.h   |   2 +
 drivers/net/ice/base/ice_flg_rd.c      |  76 +++
 drivers/net/ice/base/ice_flg_rd.h      |  17 +
 drivers/net/ice/base/ice_imem.c        | 244 +++++++
 drivers/net/ice/base/ice_imem.h        | 109 ++++
 drivers/net/ice/base/ice_metainit.c    | 143 ++++
 drivers/net/ice/base/ice_metainit.h    |  46 ++
 drivers/net/ice/base/ice_mk_grp.c      |  55 ++
 drivers/net/ice/base/ice_mk_grp.h      |  15 +
 drivers/net/ice/base/ice_parser.c      | 556 ++++++++++++++++
 drivers/net/ice/base/ice_parser.h      | 113 ++++
 drivers/net/ice/base/ice_parser_rt.c   | 867 +++++++++++++++++++++++++
 drivers/net/ice/base/ice_parser_rt.h   |  48 ++
 drivers/net/ice/base/ice_parser_util.h |  36 +
 drivers/net/ice/base/ice_pg_cam.c      | 374 +++++++++++
 drivers/net/ice/base/ice_pg_cam.h      |  74 +++
 drivers/net/ice/base/ice_proto_grp.c   | 108 +++
 drivers/net/ice/base/ice_proto_grp.h   |  23 +
 drivers/net/ice/base/ice_ptype_mk.c    |  76 +++
 drivers/net/ice/base/ice_ptype_mk.h    |  21 +
 drivers/net/ice/base/ice_tmatch.h      |  44 ++
 drivers/net/ice/base/ice_type.h        |   1 +
 drivers/net/ice/base/ice_xlt_kb.c      | 216 ++++++
 drivers/net/ice/base/ice_xlt_kb.h      |  34 +
 drivers/net/ice/base/meson.build       |  11 +
 30 files changed, 3646 insertions(+), 2 deletions(-)
 create mode 100644 drivers/net/ice/base/ice_bst_tcam.c
 create mode 100644 drivers/net/ice/base/ice_bst_tcam.h
 create mode 100644 drivers/net/ice/base/ice_flg_rd.c
 create mode 100644 drivers/net/ice/base/ice_flg_rd.h
 create mode 100644 drivers/net/ice/base/ice_imem.c
 create mode 100644 drivers/net/ice/base/ice_imem.h
 create mode 100644 drivers/net/ice/base/ice_metainit.c
 create mode 100644 drivers/net/ice/base/ice_metainit.h
 create mode 100644 drivers/net/ice/base/ice_mk_grp.c
 create mode 100644 drivers/net/ice/base/ice_mk_grp.h
 create mode 100644 drivers/net/ice/base/ice_parser.c
 create mode 100644 drivers/net/ice/base/ice_parser.h
 create mode 100644 drivers/net/ice/base/ice_parser_rt.c
 create mode 100644 drivers/net/ice/base/ice_parser_rt.h
 create mode 100644 drivers/net/ice/base/ice_parser_util.h
 create mode 100644 drivers/net/ice/base/ice_pg_cam.c
 create mode 100644 drivers/net/ice/base/ice_pg_cam.h
 create mode 100644 drivers/net/ice/base/ice_proto_grp.c
 create mode 100644 drivers/net/ice/base/ice_proto_grp.h
 create mode 100644 drivers/net/ice/base/ice_ptype_mk.c
 create mode 100644 drivers/net/ice/base/ice_ptype_mk.h
 create mode 100644 drivers/net/ice/base/ice_tmatch.h
 create mode 100644 drivers/net/ice/base/ice_xlt_kb.c
 create mode 100644 drivers/net/ice/base/ice_xlt_kb.h