This series of patches add support to offload TC u32 filters onto Chelsio NICs.
Patch 1 moves current common filter code to separate files in order to provide a common api for performing packet classification and filtering in Chelsio NICs. Patch 2 enables filters for normal NIC configuration and implements common api for setting and deleting filters. Patches 3-5 add support for TC u32 offload via ndo_setup_tc. --- v2: Based on review and suggestions from Jiri Pirko <j...@resnulli.us>: - Replaced macros S and U with appropriate static helper functions. - Moved completion code for set and delete filters to respective functions cxgb4_set_filter() and cxgb4_del_filter(). Renamed the original functions to __cxgb4_set_filter() and __cxgb4_del_filter() in case synchronization is not required. - Dropped debugfs patch. - Merged code for inserting and deleting u32 filters into a single patch. - Reworked and fixed bugs with traversing the actions list. - Removed all unnecessary extra (). Rahul Lakkireddy (5): cxgb4: move common filter code to separate file cxgb4: add common api support for configuring filters cxgb4: add parser to translate u32 filters to internal spec cxgb4: add support for offloading u32 filters cxgb4: add support for drop and redirect actions drivers/net/ethernet/chelsio/cxgb4/Makefile | 2 +- drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 29 + drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c | 722 +++++++++++++++++++++ drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h | 48 ++ drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 338 ++-------- drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c | 485 ++++++++++++++ drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.h | 57 ++ .../ethernet/chelsio/cxgb4/cxgb4_tc_u32_parse.h | 294 +++++++++ drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 26 +- 9 files changed, 1720 insertions(+), 281 deletions(-) create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.h create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32_parse.h -- 2.5.3