From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: [PATCH] mbuf: fix tunnel flags check Date: Thu, 16 Jul 2015 01:50:12 +0200 Message-ID: <1437004212-31646-1-git-send-email-thomas.monjalon@6wind.com> Cc: dev@dpdk.org To: helin.zhang@intel.com Return-path: Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com [209.85.212.179]) by dpdk.org (Postfix) with ESMTP id A9F26FFA for ; Thu, 16 Jul 2015 01:51:32 +0200 (CEST) Received: by widjy10 with SMTP id jy10so1575180wid.1 for ; Wed, 15 Jul 2015 16:51:32 -0700 (PDT) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" A packet is tunnelled if the tunnel type is identified or if it has an inner part. Fix also a typo in RTE_PTYPE_INNER_L3_MASK. Fixes: f295a00a2b44 ("mbuf: add definitions of unified packet types") Signed-off-by: Thomas Monjalon --- app/test-pmd/rxonly.c | 2 +- lib/librte_mbuf/rte_mbuf.h | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/test-pmd/rxonly.c b/app/test-pmd/rxonly.c index 41871d3..ee7fd8d 100644 --- a/app/test-pmd/rxonly.c +++ b/app/test-pmd/rxonly.c @@ -288,7 +288,7 @@ pkt_burst_receive(struct fwd_stream *fs) } /* inner L3 packet type */ - ptype = mb->packet_type & RTE_PTYPE_INNER_INNER_L3_MASK; + ptype = mb->packet_type & RTE_PTYPE_INNER_L3_MASK; switch (ptype) { case RTE_PTYPE_INNER_L3_IPV4: printf(" - Inner L3 type: IPV4"); diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 115c560..dbd9095 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -595,7 +595,7 @@ extern "C" { /** * Mask of inner layer 3 packet types. */ -#define RTE_PTYPE_INNER_INNER_L3_MASK 0x00f00000 +#define RTE_PTYPE_INNER_L3_MASK 0x00f00000 /** * TCP (Transmission Control Protocol) packet type. * It is used for inner packet only. @@ -689,7 +689,10 @@ extern "C" { #define RTE_ETH_IS_IPV6_HDR(ptype) ((ptype) & RTE_PTYPE_L3_IPV6) /* Check if it is a tunneling packet */ -#define RTE_ETH_IS_TUNNEL_PKT(ptype) ((ptype) & RTE_PTYPE_TUNNEL_MASK) +#define RTE_ETH_IS_TUNNEL_PKT(ptype) ((ptype) & (RTE_PTYPE_TUNNEL_MASK | \ + RTE_PTYPE_INNER_L2_MASK | \ + RTE_PTYPE_INNER_L3_MASK | \ + RTE_PTYPE_INNER_L4_MASK)) #endif /* RTE_NEXT_ABI */ /** -- 2.4.2