[dpdk-dev] [PATCH] mbuf: fix tunnel flags check
Thomas Monjalon
thomas.monjalon at 6wind.com
Thu Jul 16 01:50:12 CEST 2015
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 <thomas.monjalon at 6wind.com>
---
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
More information about the dev
mailing list