From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] mbuf: fix tunnel flags check Date: Thu, 16 Jul 2015 11:07:15 +0200 Message-ID: <7940373.JSzZk48P3I@xps13> References: <1437004212-31646-1-git-send-email-thomas.monjalon@6wind.com> <28177519.UZIomONHXn@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: "Zhang, Helin" Return-path: Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) by dpdk.org (Postfix) with ESMTP id E98F66A87 for ; Thu, 16 Jul 2015 11:08:26 +0200 (CEST) Received: by wgxm20 with SMTP id m20so53006397wgx.3 for ; Thu, 16 Jul 2015 02:08:26 -0700 (PDT) In-Reply-To: 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" 2015-07-16 00:36, Zhang, Helin: > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > > 2015-07-15 23:57, Zhang, Helin: > > > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > > > > 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 > > |...] > > > > /* 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)) > > > > > > Could you help to explain more of why here? > > > My understanding is that if an inner one can be recognized, there must be a > > tunnel type there. > > > > Not always. > > It was my comment in mlx4 patch: > > http://dpdk.org/ml/archives/dev/2015-July/021702.html > > Currently we can know that mlx4 has detected a tunnel but don't know which > > one. > > I'd suggest to do more in mlx4 driver, rather than adding more checks in this macro. > If it can detect the inner l2/l3 type, the driver should tell it is a tunneled packet. > If it cannot know which tunnel it is, I'd suggest to add one more tunnel type of > RTE_PTYPE_TUNNEL_UNKNOWN. > Two reasons: > - PMD should tell enough info to high level caller or application. It should be clear enough. RTE_PTYPE_TUNNEL_UNKNOWN doesn't make it clearer, IMHO. > - Adding more checks in those macro results in more cpu cycles for other NICs to check > the packet types. Not sure. It only extends the mask to check. It shouldn't add more cpu cycle.