DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <arybchenko@solarflare.com>
To: <dev@dpdk.org>
Subject: [dpdk-dev] [PATCH 09/23] net/sfc: conditionally compile support for tunnel packets
Date: Thu, 19 Apr 2018 12:36:52 +0100	[thread overview]
Message-ID: <1524137826-5675-10-git-send-email-arybchenko@solarflare.com> (raw)
In-Reply-To: <1524137826-5675-1-git-send-email-arybchenko@solarflare.com>

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 <arybchenko@solarflare.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
---
 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

  parent reply	other threads:[~2018-04-19 11:37 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-19 11:36 [dpdk-dev] [PATCH 00/23] net/sfc: support equal stride super-buffer Rx mode Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 01/23] net/sfc/base: update autogenerated MCDI and TLV headers Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 02/23] net/sfc/base: make RxQ type data an union Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 03/23] net/sfc/base: detect equal stride super-buffer support Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 04/23] net/sfc/base: support equal stride super-buffer Rx mode Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 05/23] net/sfc/base: add equal stride super-buffer prefix layout Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 06/23] net/sfc: factor out function to push Rx doorbell Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 07/23] net/sfc: prepare EF10 Rx event parser to be reused Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 08/23] net/sfc: move EF10 Rx event parser to shared header Andrew Rybchenko
2018-04-19 11:36 ` Andrew Rybchenko [this message]
2018-04-19 11:36 ` [dpdk-dev] [PATCH 10/23] net/sfc: allow one Rx queue entry carry many packet buffers Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 11/23] net/sfc: allow to take mbuf pool into account when sizing Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 12/23] net/sfc: support equal stride super-buffer Rx mode Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 13/23] net/sfc: support callback to check if mempool is supported Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 14/23] net/sfc: check mempool when equal stride super-buffer used Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 15/23] net/sfc: support DPDK firmware variant Andrew Rybchenko
2018-04-19 11:36 ` [dpdk-dev] [PATCH 16/23] net/sfc: add Rx descriptor wait timeout Andrew Rybchenko
2018-04-19 11:37 ` [dpdk-dev] [PATCH 17/23] net/sfc: support flow marks in equal stride super-buffer Rx Andrew Rybchenko
2018-04-19 11:37 ` [dpdk-dev] [PATCH 18/23] net/sfc/base: get actions MARK and FLAG support Andrew Rybchenko
2018-04-19 11:37 ` [dpdk-dev] [PATCH 19/23] net/sfc/base: support MARK and FLAG actions in filters Andrew Rybchenko
2018-04-19 11:37 ` [dpdk-dev] [PATCH 20/23] net/sfc/base: get max supported value for action MARK Andrew Rybchenko
2018-04-19 11:37 ` [dpdk-dev] [PATCH 21/23] net/sfc: make processing of flow rule actions more uniform Andrew Rybchenko
2018-04-19 11:37 ` [dpdk-dev] [PATCH 22/23] net/sfc: support MARK and FLAG actions in flow API Andrew Rybchenko
2018-04-19 11:37 ` [dpdk-dev] [PATCH 23/23] doc: advertise equal stride super-buffer Rx mode support in net/sfc Andrew Rybchenko
2018-04-26 22:47 ` [dpdk-dev] [PATCH 00/23] net/sfc: support equal stride super-buffer Rx mode Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1524137826-5675-10-git-send-email-arybchenko@solarflare.com \
    --to=arybchenko@solarflare.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).