This series of patches add support to offload tc flower onto Chelsio NICs. Patch 1 adds basic skeleton to prepare for offloading tc flower flows.
Patch 2 adds support to add/remove flows for offload. Flows can have accompanying masks. Following match and action are currently supported for offload: Match: ether-protocol, IPv4/IPv6 addresses, L4 ports (TCP/UDP) Action: drop, redirect to another port on the device. Patch 3 adds support to offload tc-flower flows having vlan actions: pop, push, and modify. Patch 4 adds support to fetch stats for the offloaded tc flower flows from hardware. Support for offloading more match and action types are to be followed in subsequent series. Thanks, Rahul --- v2: - Setting ftid to -1 not required after bitmap_find_free_region in cxgb4_get_free_ftid. - Direct return can be used as jumping to error path is not needed if flower entry allocation failed in cxgb4_tc_flower_replace. Same applies if flower entry not found in cxgb4_tc_flower_destroy. - Also, removed an extra return from cxgb4_tc_flower_destroy. - Avoid wrapping line for netdev_err message. Also, use consistent error message string. Kumar Sanghvi (4): cxgb4: add tc flower offload skeleton cxgb4: add basic tc flower offload support cxgb4: add support to offload action vlan cxgb4: fetch stats for offloaded tc flower flows drivers/net/ethernet/chelsio/cxgb4/Makefile | 4 +- drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 4 + drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c | 100 +++++ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 25 ++ .../net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c | 452 +++++++++++++++++++++ .../net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h | 66 +++ drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 3 + 7 files changed, 653 insertions(+), 1 deletion(-) create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h -- 2.14.1