This series of patches add support to offload flows with destination MAC match item and VLAN push/pop/rewrite actions.
Patch 1 adds API to program and manage hardware Layer 2 Table (L2T). L2T holds destination node information to be used for VLAN rewrite. Patch 2 implements offloading VLAN push/pop/rewrite actions. Patch 3 adds API to program and manage hardware Multi Port Switch (MPS) table. MPS holds the destination MAC addresses to be matched against incoming packets. Patch 4 implements offloading destination MAC match item. Thanks, Rahul Shagun Agrawal (4): net/cxgbe: add API to program hardware layer 2 table net/cxgbe: add flow operations to offload vlan actions net/cxgbe: add API to program hardware MPS table net/cxgbe: add flow operations to match based on destination MAC address doc/guides/rel_notes/release_18_11.rst | 7 + drivers/net/cxgbe/Makefile | 2 + drivers/net/cxgbe/base/adapter.h | 4 + drivers/net/cxgbe/base/common.h | 7 + drivers/net/cxgbe/base/t4_hw.c | 108 ++++++++++++++ drivers/net/cxgbe/base/t4_msg.h | 40 ++++++ drivers/net/cxgbe/base/t4_regs.h | 8 ++ drivers/net/cxgbe/base/t4_tcb.h | 5 + drivers/net/cxgbe/base/t4fw_interface.h | 26 ++++ drivers/net/cxgbe/cxgbe_ethdev.c | 4 +- drivers/net/cxgbe/cxgbe_filter.c | 71 +++++++++- drivers/net/cxgbe/cxgbe_filter.h | 11 ++ drivers/net/cxgbe/cxgbe_flow.c | 90 +++++++++++- drivers/net/cxgbe/cxgbe_flow.h | 1 + drivers/net/cxgbe/cxgbe_main.c | 43 ++++-- drivers/net/cxgbe/l2t.c | 227 +++++++++++++++++++++++++++++ drivers/net/cxgbe/l2t.h | 57 ++++++++ drivers/net/cxgbe/meson.build | 2 + drivers/net/cxgbe/mps_tcam.c | 243 ++++++++++++++++++++++++++++++++ drivers/net/cxgbe/mps_tcam.h | 52 +++++++ 20 files changed, 987 insertions(+), 21 deletions(-) create mode 100644 drivers/net/cxgbe/l2t.c create mode 100644 drivers/net/cxgbe/l2t.h create mode 100644 drivers/net/cxgbe/mps_tcam.c create mode 100644 drivers/net/cxgbe/mps_tcam.h -- 2.14.1