mbox

[0/9] net/cxgbe: add support for offloading flows to HASH region

Message ID cover.1530295732.git.rahul.lakkireddy@chelsio.com (mailing list archive)
Headers

Message

Rahul Lakkireddy June 29, 2018, 6:12 p.m. UTC
  This series of patches add support to offload flows to HASH region
available on Chelsio T6 NICs. HASH region can only offload exact match
(maskless) flows and hence the masks must be all set for all match
items.

Patch 1 queries firmware for HASH filter support.

Patch 2 updates cxgbe_flow to decide whether to place flows in LE-TCAM
or HASH region based on supported hardware configuration and masks of
match items.

Patch 3 adds Compressed Local IP (CLIP) region support for offloading
IPv6 flows in HASH region. Also updates LE-TCAM region to use CLIP for
offloading IPv6 flows on Chelsio T6 NICs.

Patch 4 adds support for offloading flows to HASH region.

Patch 5 adds support for deleting flows in HASH region.

Patch 6 adds support to query hit and byte counters for offloaded flows
in HASH region.

Patch 7 adds support to flush filters in HASH region.

Patch 8 adds support to match flows based on physical ingress port.

Patch 9 adds support to redirect packets matching flows to specified
physical egress port without sending them to host.

Thanks,
Rahul

Shagun Agrawal (9):
  net/cxgbe: query firmware for HASH filter resources
  net/cxgbe: validate flows offloaded to HASH region
  net/cxgbe: add Compressed Local IP region
  net/cxgbe: add support to offload flows to HASH region
  net/cxgbe: add support to delete flows in HASH region
  net/cxgbe: add support to query hit counters for flows in HASH region
  net/cxgbe: add support to flush flows in HASH region
  net/cxgbe: add support to match on ingress physical port
  net/cxgbe: add support to redirect packets to egress physical port

 drivers/net/cxgbe/Makefile              |   1 +
 drivers/net/cxgbe/base/adapter.h        |  43 ++
 drivers/net/cxgbe/base/common.h         |  10 +
 drivers/net/cxgbe/base/t4_hw.c          |   7 +
 drivers/net/cxgbe/base/t4_msg.h         | 188 +++++++++
 drivers/net/cxgbe/base/t4_regs.h        |  12 +
 drivers/net/cxgbe/base/t4_tcb.h         |  26 ++
 drivers/net/cxgbe/base/t4fw_interface.h |  31 ++
 drivers/net/cxgbe/clip_tbl.c            | 195 +++++++++
 drivers/net/cxgbe/clip_tbl.h            |  31 ++
 drivers/net/cxgbe/cxgbe_compat.h        |  12 +
 drivers/net/cxgbe/cxgbe_filter.c        | 697 ++++++++++++++++++++++++++++++--
 drivers/net/cxgbe/cxgbe_filter.h        |  13 +-
 drivers/net/cxgbe/cxgbe_flow.c          | 151 ++++++-
 drivers/net/cxgbe/cxgbe_main.c          | 170 +++++++-
 drivers/net/cxgbe/cxgbe_ofld.h          |  66 ++-
 16 files changed, 1614 insertions(+), 39 deletions(-)
 create mode 100644 drivers/net/cxgbe/base/t4_tcb.h
 create mode 100644 drivers/net/cxgbe/clip_tbl.c
 create mode 100644 drivers/net/cxgbe/clip_tbl.h