cxgb4: add support for offloading u32 filters
authorRahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Tue, 20 Sep 2016 11:43:09 +0000 (17:13 +0530)
committerDavid S. Miller <davem@davemloft.net>
Thu, 22 Sep 2016 05:40:01 +0000 (01:40 -0400)
commitd8931847488d250e27d8f18ca6b7373e9f981d7a
tree7e9a62753e2383b4ec81b0f5cdbf83fa35c15374
parent2e8aad7bf20323c6ef0beec859a77c94a082c55d
cxgb4: add support for offloading u32 filters

Add support for offloading u32 filter onto hardware.  Links are stored
in a jump table to perform necessary jumps to match TCP/UDP header.
When inserting rules in the linked bucket, the TCP/UDP match fields
in the corresponding entry of the jump table are appended to the filter
rule before insertion.  If a link is deleted, then all corresponding
filters associated with the link are also deleted.  Also enable
hardware tc offload as a supported feature.

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/Makefile
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c [new file with mode: 0644]
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.h [new file with mode: 0644]
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32_parse.h