From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Rybchenko Subject: [PATCH 18/23] net/sfc/base: get actions MARK and FLAG support Date: Thu, 19 Apr 2018 12:37:01 +0100 Message-ID: <1524137826-5675-19-git-send-email-arybchenko@solarflare.com> References: <1524137826-5675-1-git-send-email-arybchenko@solarflare.com> Mime-Version: 1.0 Content-Type: text/plain Cc: Roman Zhukov To: Return-path: Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 4498C5B32 for ; Thu, 19 Apr 2018 13:37:15 +0200 (CEST) In-Reply-To: <1524137826-5675-1-git-send-email-arybchenko@solarflare.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Roman Zhukov Filter actions MARK and FLAG are supported on Medford2 by DPDK firmware variant. Signed-off-by: Roman Zhukov Signed-off-by: Andrew Rybchenko --- drivers/net/sfc/base/ef10_nic.c | 10 ++++++++++ drivers/net/sfc/base/efx.h | 3 +++ drivers/net/sfc/base/siena_nic.c | 3 +++ 3 files changed, 16 insertions(+) diff --git a/drivers/net/sfc/base/ef10_nic.c b/drivers/net/sfc/base/ef10_nic.c index 35b719a..b28226d 100644 --- a/drivers/net/sfc/base/ef10_nic.c +++ b/drivers/net/sfc/base/ef10_nic.c @@ -1294,6 +1294,16 @@ ef10_get_datapath_caps( */ encp->enc_rx_scale_l4_hash_supported = B_TRUE; } + /* Check if the firmware supports "FLAG" and "MARK" filter actions */ + if (CAP_FLAGS2(req, FILTER_ACTION_FLAG)) + encp->enc_filter_action_flag_supported = B_TRUE; + else + encp->enc_filter_action_flag_supported = B_FALSE; + + if (CAP_FLAGS2(req, FILTER_ACTION_MARK)) + encp->enc_filter_action_mark_supported = B_TRUE; + else + encp->enc_filter_action_mark_supported = B_FALSE; #undef CAP_FLAGS1 #undef CAP_FLAGS2 diff --git a/drivers/net/sfc/base/efx.h b/drivers/net/sfc/base/efx.h index b334cc5..cd0e6f8 100644 --- a/drivers/net/sfc/base/efx.h +++ b/drivers/net/sfc/base/efx.h @@ -1293,6 +1293,9 @@ typedef struct efx_nic_cfg_s { /* Firmware support for extended MAC_STATS buffer */ uint32_t enc_mac_stats_nstats; boolean_t enc_fec_counters; + /* Firmware support for "FLAG" and "MARK" filter actions */ + boolean_t enc_filter_action_flag_supported; + boolean_t enc_filter_action_mark_supported; } efx_nic_cfg_t; #define EFX_PCI_FUNCTION_IS_PF(_encp) ((_encp)->enc_vf == 0xffff) diff --git a/drivers/net/sfc/base/siena_nic.c b/drivers/net/sfc/base/siena_nic.c index 15aa06b..b703369 100644 --- a/drivers/net/sfc/base/siena_nic.c +++ b/drivers/net/sfc/base/siena_nic.c @@ -172,6 +172,9 @@ siena_board_cfg( encp->enc_mac_stats_nstats = MC_CMD_MAC_NSTATS; + encp->enc_filter_action_flag_supported = B_FALSE; + encp->enc_filter_action_mark_supported = B_FALSE; + return (0); fail2: -- 2.7.4