cxgb4: Add T4 filter support
authorVipul Pandya <vipul@chelsio.com>
Mon, 10 Dec 2012 09:30:52 +0000 (09:30 +0000)
committerRoland Dreier <roland@purestorage.com>
Wed, 19 Dec 2012 17:28:19 +0000 (09:28 -0800)
commitf2b7e78dbc79e09fc1164b226adc03ed91a326cb
treef1ec25c2d5e09e89d6ef46e1e55676654cbfe357
parent5bd665f28db2b04a8d6fe277342479906fc60b62
cxgb4: Add T4 filter support

The T4 architecture is capable of filtering ingress packets at line rate
using the rule in TCAM. If packet hits a rule in the TCAM then it can be either
dropped or passed to the receive queues based on a rule settings.

This patch adds framework for managing filters and to use T4's filter
capabilities. It constructs a Firmware Filter Work Request which writes the
filter at a specified index to get the work done. It hosts shadow copy of
ingress filter entry to check field size limitations and save memory in the
case where the filter table is large.

Signed-off-by: Vipul Pandya <vipul@chelsio.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h
drivers/net/ethernet/chelsio/cxgb4/l2t.c
drivers/net/ethernet/chelsio/cxgb4/l2t.h
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h
drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h