From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id 0CB841BB3D for ; Tue, 10 Apr 2018 18:37:12 +0200 (CEST) Received: by mail-wm0-f67.google.com with SMTP id r131so24542984wmb.2 for ; Tue, 10 Apr 2018 09:37:12 -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=Nnf7neaCTbyIxvPIpO/QqHKPUxyUQsx2vXEM/snqbvc=; b=dpgigVLHRbjY5mWyrwZ3sAhV8HukcNNfayNapA6e1zEwZe8wocJAF6I7wAd0D39DAy Gz+udf/rzD3pqht08oyfZcHpwiU+cFKoZAoL2WQ8boo1DpPjLzJAPidWODx0ylkIkEpv JPISd3uv03R4zssANANbaFTLUT8N2rrbq8VkQujEPiS854me3Yt2WK+513htQ0K9IM1D j+RgvsLLKQVtfq1kGemzpAduawmBi2JI7KJp0iTfmDhPV+KXEw2DT3Cposx2D5rHbRlJ nJCFvE1lq+8o7U6nFRXeVxtAlfnH9rYsSDsqX7VEBM6rENtk+sMnIdLrm1khd6gEyPd4 MGHg== 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=Nnf7neaCTbyIxvPIpO/QqHKPUxyUQsx2vXEM/snqbvc=; b=E5jOW7AlYhj5xKHrSvfXeTO/7Nb3fOQEu71sUuH/YduLlT8Jw4F0QBMzUO/4PRzX5A VWsG4dmEyfn9CTPkbPbHsTZmQ9UQt3d7JzrOxuSzIuDIzxH1ZXzZIw7c/F81GRg5f0bm TeF7lOrLt3CMNKlEXKsYYJh2omdeIyAd2DCurfih1IbAvyxY72VapU+d9e4+njegkc/K CDpkL/OSzQjBVhAXzcgF5G4cdbZPz2cos+BeCtEZJUG0Ydcya6SDVt4qq3NL7uiBdekn Z0vhgxHvaVVcQGTFeTG6DhmRx42LouupYeCMLVPJb9AS3MQMC2cQnZkYDF5pZFtdG30t vJZw== X-Gm-Message-State: ALQs6tAvmEPgznE+XfLhxF6NTUWyIa9NKUnewmlwWOMRI44lJyJRifX8 ZcXwWJ+HO9f14FCUeLsvg36qMw== X-Google-Smtp-Source: AIpwx4+DgvIH/zDLNqX4Js0NaExuwoRsDU/MGov0LBmzSP50AEH9B687Mp9VuE5K2heUhBZJrZnbtg== X-Received: by 10.28.109.80 with SMTP id i77mr155203wmc.46.1523378232773; Tue, 10 Apr 2018 09:37:12 -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 s65sm1829256wms.26.2018.04.10.09.37.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Apr 2018 09:37:12 -0700 (PDT) Date: Tue, 10 Apr 2018 18:36:58 +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: <20180410162022.9101-12-adrien.mazarguil@6wind.com> References: <20180406131736.19145-1-adrien.mazarguil@6wind.com> <20180410162022.9101-1-adrien.mazarguil@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180410162022.9101-1-adrien.mazarguil@6wind.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH v3 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: Tue, 10 Apr 2018 16:37:13 -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 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 f6ee28929..73d29ed32 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