From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f195.google.com (mail-wr0-f195.google.com [209.85.128.195]) by dpdk.org (Postfix) with ESMTP id 8086D8D38 for ; Thu, 19 Apr 2018 12:17:02 +0200 (CEST) Received: by mail-wr0-f195.google.com with SMTP id d19-v6so12523954wre.1 for ; Thu, 19 Apr 2018 03:17:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=+yd9ln5aftRi7OQ1QlFzHSR4duyBH0XuAEbe9gD8WdA=; b=IdHtypkSS45n4ykeEKe3gWiNaKwX3aIheeBnHvn1JwKYO6tuv1dgqky3z3K4lPJl/Q j/wxOCvpbeuFH1RGMkjzK7CROhqF5TF1vxUenGUUdrltB5LvuZpi8ncE/IIMkNwRDVau 2A25gjjeZRCZ9cH2RtDIjd0+TjP0400l/K50fmK3MyS9/YhrsDKpbA/7cDav4wYdJpQq jAlnVeA3QYNEDI/gD2yCUwSRySVG8w72f7ALS++R0/mgNR7XpquVjgH4jNtpF/nVD2fg O0uCLZqJsAu1IISfPe8UKgc3lNUknTao1wq334HAxx6uP3eHco6VtajZXUNaFu0nh4JV y/bQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=+yd9ln5aftRi7OQ1QlFzHSR4duyBH0XuAEbe9gD8WdA=; b=gfvZnwjkENUDlK0bjUl+lQZLMMaUxiivAeK4J7zMbZbGTlPRC8HykcttpqCVYxfZNg diG/BR08SvC9X+Uw/lqlB9kdhBaklsWy6BS2r4XV5i2zdLTinfl8n3ZQ16cuPwHE4llp AO95ElfRNbr8bW+bRWgL/2Bl4uilagsEReU7zsMEOOQM8GIf3whx/QvCpmUqFGfgemCx 6lkLDlwyKjjNGTzk4/5xlwYejWeJ3LAnQiqrCvWcxq2wfR3uvBkibet+397G894Aa35L E/pESuNCnDRHg65HVtXvTiktb9tAAjNDAblqj7rje0Med6YZrTVluZ9MbNVN/0h8PbJJ hqTQ== X-Gm-Message-State: ALQs6tCM9wWIe2hkklJVDvzSqm6WkhokDS9OmmjFKp0epQ0tIR/Cyvs9 mTK1HJq+KUTW7nSpLWychjffc5zmc0I= X-Google-Smtp-Source: AIpwx494ogAXlGo4s/hhtzypQb/0pGyJPWcUhNGCMgYCwUpteJCGq4BTgq0USzeSC4XlBeFtyMpzdw== X-Received: by 2002:adf:b8eb:: with SMTP id c40-v6mr3894547wrg.170.1524133022314; Thu, 19 Apr 2018 03:17:02 -0700 (PDT) Received: from 6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id k11sm4037258wmi.35.2018.04.19.03.17.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 Apr 2018 03:17:01 -0700 (PDT) Date: Thu, 19 Apr 2018 12:16:48 +0200 From: Adrien Mazarguil To: Thomas Monjalon , Ferruh Yigit , dev@dpdk.org Cc: Wenzhuo Lu , Jingjing Wu , Ajit Khaparde , Somnath Kotur , John Daley , Hyong Youb Kim , Beilei Xing , Qi Zhang , Konstantin Ananyev , Nelio Laranjeiro , Yongseok Koh , Tomasz Duszynski , Dmitri Epshtein , Natalie Samsonov , Jianbo Liu , Andrew Rybchenko , Pascal Mazon Message-ID: <20180419100848.6178-12-adrien.mazarguil@6wind.com> References: <20180416150525.2817-1-adrien.mazarguil@6wind.com> <20180419100848.6178-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180419100848.6178-1-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH v5 11/16] ethdev: limit default VLAN TCI mask in flow API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Apr 2018 10:17:02 -0000 VLAN TCI is a 16-bit field broken down as PCP (3b), DEI (1b) and VID (12b). The default mask used by PMDs for the VLAN pattern when one isn't provided by the application comprises the entire TCI, which is problematic because most devices only support VID matching. This forces applications to always provide a mask limited to the VID part in order to successfully apply a flow rule with a VLAN pattern item. Moreover, applications rarely want to match PCP and DEI intentionally. Given the above and since VID is what is commonly referred to when talking about VLAN, this commit excludes PCP and DEI from the default mask. Signed-off-by: Adrien Mazarguil Acked-by: Andrew Rybchenko Cc: Ferruh Yigit Cc: Thomas Monjalon Cc: Wenzhuo Lu Cc: Jingjing Wu Cc: Ajit Khaparde Cc: Somnath Kotur Cc: John Daley Cc: Hyong Youb Kim Cc: Beilei Xing Cc: Qi Zhang Cc: Konstantin Ananyev Cc: Nelio Laranjeiro Cc: Yongseok Koh Cc: Tomasz Duszynski Cc: Dmitri Epshtein Cc: Natalie Samsonov Cc: Jianbo Liu Cc: Andrew Rybchenko Cc: Pascal Mazon --- v3 changes: These changes were previously mistakenly made part of the previous patch ("ethdev: refine TPID handling in flow API") from which they were split following Andrew's rightful comment [1]. [1] http://dpdk.org/ml/archives/dev/2018-April/095870.html --- doc/guides/prog_guide/rte_flow.rst | 2 +- lib/librte_ether/rte_flow.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst index fd317b48c..c62a80566 100644 --- a/doc/guides/prog_guide/rte_flow.rst +++ b/doc/guides/prog_guide/rte_flow.rst @@ -806,7 +806,7 @@ preceding pattern item. - ``tci``: tag control information. - ``inner_type``: inner EtherType or TPID. -- Default ``mask`` matches TCI only. +- Default ``mask`` matches the VID part of TCI only (lower 12 bits). Item: ``IPV4`` ^^^^^^^^^^^^^^ diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_flow.h index 8e50384d0..513734dce 100644 --- a/lib/librte_ether/rte_flow.h +++ b/lib/librte_ether/rte_flow.h @@ -493,7 +493,7 @@ struct rte_flow_item_vlan { /** Default mask for RTE_FLOW_ITEM_TYPE_VLAN. */ #ifndef __cplusplus static const struct rte_flow_item_vlan rte_flow_item_vlan_mask = { - .tci = RTE_BE16(0xffff), + .tci = RTE_BE16(0x0fff), .inner_type = RTE_BE16(0x0000), }; #endif -- 2.11.0