From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Rybchenko Subject: [PATCH 09/23] net/sfc: conditionally compile support for tunnel packets Date: Thu, 19 Apr 2018 12:36:52 +0100 Message-ID: <1524137826-5675-10-git-send-email-arybchenko@solarflare.com> References: <1524137826-5675-1-git-send-email-arybchenko@solarflare.com> Mime-Version: 1.0 Content-Type: text/plain 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 AD23A5B32 for ; Thu, 19 Apr 2018 13:37:14 +0200 (CEST) Received: from webmail.solarflare.com (webmail.solarflare.com [12.187.104.26]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1-us4.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with ESMTPS id AA734B40068 for ; Thu, 19 Apr 2018 11:37:13 +0000 (UTC) Received: from uklogin.uk.solarflarecom.com (uklogin.uk.solarflarecom.com [10.17.10.10]) by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id w3JBb9nh000688 for ; Thu, 19 Apr 2018 12:37:09 +0100 Received: from uklogin.uk.solarflarecom.com (localhost.localdomain [127.0.0.1]) by uklogin.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id w3JBb9n6005732 for ; Thu, 19 Apr 2018 12:37:09 +0100 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" Equal stride super-buffer Rx datapath does not support tunnels, code to parse tunnel packet types and inner checksum offload is not required and it is important to be able to compile it out on build time to avoid extra CPU load. Cutting of tunnels support relies on compiler optimizaitons to be able to drop extra checks and branches if tun_ptype is always 0. Signed-off-by: Andrew Rybchenko Reviewed-by: Ivan Malov --- drivers/net/sfc/sfc_ef10_rx.c | 2 ++ drivers/net/sfc/sfc_ef10_rx_ev.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/drivers/net/sfc/sfc_ef10_rx.c b/drivers/net/sfc/sfc_ef10_rx.c index 7560891..5ec82db 100644 --- a/drivers/net/sfc/sfc_ef10_rx.c +++ b/drivers/net/sfc/sfc_ef10_rx.c @@ -25,6 +25,8 @@ #include "sfc_dp_rx.h" #include "sfc_kvargs.h" #include "sfc_ef10.h" + +#define SFC_EF10_RX_EV_ENCAP_SUPPORT 1 #include "sfc_ef10_rx_ev.h" #define sfc_ef10_rx_err(dpq, ...) \ diff --git a/drivers/net/sfc/sfc_ef10_rx_ev.h b/drivers/net/sfc/sfc_ef10_rx_ev.h index 774a789..9054fb9 100644 --- a/drivers/net/sfc/sfc_ef10_rx_ev.h +++ b/drivers/net/sfc/sfc_ef10_rx_ev.h @@ -37,6 +37,7 @@ sfc_ef10_rx_ev_to_offloads(const efx_qword_t rx_ev, struct rte_mbuf *m, if (unlikely(EFX_TEST_QWORD_BIT(rx_ev, ESF_DZ_RX_PARSE_INCOMPLETE_LBN))) goto done; +#if SFC_EF10_RX_EV_ENCAP_SUPPORT switch (EFX_QWORD_FIELD(rx_ev, ESF_EZ_RX_ENCAP_HDR)) { default: /* Unexpected encapsulation tag class */ @@ -58,6 +59,7 @@ sfc_ef10_rx_ev_to_offloads(const efx_qword_t rx_ev, struct rte_mbuf *m, tun_ptype = RTE_PTYPE_TUNNEL_NVGRE; break; } +#endif if (tun_ptype == 0) { ip_csum_err_bit = ESF_DZ_RX_IPCKSUM_ERR_LBN; -- 2.7.4