[dpdk-dev] [PATCH 0/7] cxgbe: add support to offload flows via rte_flow
Rahul Lakkireddy
rahul.lakkireddy at chelsio.com
Fri Jun 8 19:58:10 CEST 2018
This series add basic support to offload flows to Chelsio T5/T6 NICs
via rte_flow API. Chelsio NICs can support wildcard (maskfull) filters
and exact (maskless) filters. Filters can be created in two regions
available on Chelsio NICs. The smaller LE-TCAM region can support both
maskfull and maskless filters; whereas, the larger HASH region can
support only maskless filters. This series adds support for LE-TCAM
region. Support for HASH region will be added in subsequent series.
This series adds support for:
<match item>: IPv4, IPv6, TCP, and UDP.
<action>: Drop, Queue, and Count.
Support for more match items and actions will be added in subsequent
series.
Patch 1 queries firmware for available filtering resources in the
underlying device and adds table to manage these resources.
Patch 2 introduces rte_flow skeleton and implementes validate
operation.
Patch 3 exports control queue needed for communicating filter
create/delete requests with firmware.
Patch 4 adds firmware API to create filter work requests for
creating/deleting filters and implements flow create operation.
Patch 5 adds flow destroy operation.
Patch 6 adds flow query operation to get filter hit and byte counts.
Patch 7 adds flow flush operation to delete all filters under specified
port.
Thanks,
Rahul
Shagun Agrawal (7):
net/cxgbe: query firmware for filter resources
net/cxgbe: parse and validate flows
net/cxgbe: add control queue to communicate filter requests
net/cxgbe: implement flow create operation
net/cxgbe: implement flow destroy operation
net/cxgbe: implement flow query operation
net/cxgbe: implement flow flush operation
doc/guides/nics/cxgbe.rst | 1 +
doc/guides/nics/features/cxgbe.ini | 1 +
doc/guides/rel_notes/release_18_08.rst | 5 +
drivers/net/cxgbe/Makefile | 2 +
drivers/net/cxgbe/base/adapter.h | 63 +++
drivers/net/cxgbe/base/common.h | 17 +
drivers/net/cxgbe/base/t4_hw.c | 234 +++++++++++
drivers/net/cxgbe/base/t4_hw.h | 4 +
drivers/net/cxgbe/base/t4_msg.h | 22 +
drivers/net/cxgbe/base/t4_regs.h | 16 +
drivers/net/cxgbe/base/t4fw_interface.h | 221 ++++++++++
drivers/net/cxgbe/cxgbe.h | 3 +
drivers/net/cxgbe/cxgbe_ethdev.c | 5 +
drivers/net/cxgbe/cxgbe_filter.c | 609 +++++++++++++++++++++++++++
drivers/net/cxgbe/cxgbe_filter.h | 226 ++++++++++
drivers/net/cxgbe/cxgbe_flow.c | 702 ++++++++++++++++++++++++++++++++
drivers/net/cxgbe/cxgbe_flow.h | 42 ++
drivers/net/cxgbe/cxgbe_main.c | 184 +++++++++
drivers/net/cxgbe/cxgbe_ofld.h | 27 ++
drivers/net/cxgbe/sge.c | 197 ++++++++-
20 files changed, 2580 insertions(+), 1 deletion(-)
create mode 100644 drivers/net/cxgbe/cxgbe_filter.c
create mode 100644 drivers/net/cxgbe/cxgbe_filter.h
create mode 100644 drivers/net/cxgbe/cxgbe_flow.c
create mode 100644 drivers/net/cxgbe/cxgbe_flow.h
create mode 100644 drivers/net/cxgbe/cxgbe_ofld.h
--
2.14.1
More information about the dev
mailing list