From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0064.outbound.protection.outlook.com [104.47.1.64]) by dpdk.org (Postfix) with ESMTP id 040BC200 for ; Tue, 5 Jun 2018 02:13:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DfAAK10ieQ3Z83SJ4QgUczGE775AAPaxET7idh27Vuk=; b=GasH9vaHjCptbQsuTY2uWP4vzv7NCYxr9mnyYCAw7Tc8wuUpXalf+AUafroxR9w4SH2vdqPXfMptRXWDS9IgSFFExOnhh6ulnNoElG2poAcWlnvqJm83JBHuaLnLvzyMSouav77vh0ftWQIa6x2jthml4MkNMBhzjCnu/zAPQ3Y= Received: from mellanox.com (209.116.155.178) by AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.11; Tue, 5 Jun 2018 00:13:02 +0000 From: Yongseok Koh To: yliu@fridaylinux.org Cc: stable@dpdk.org, shahafs@mellanox.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Date: Mon, 4 Jun 2018 17:10:58 -0700 Message-Id: <20180605001129.13184-37-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180605001129.13184-1-yskoh@mellanox.com> References: <20180605001129.13184-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: CO1PR15CA0060.namprd15.prod.outlook.com (2603:10b6:101:1f::28) To AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM5PR0501MB2036; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 3:qqKPi2Mu0Zw4aLv0t+6cQkxx4I16KI1q80YnUWdUXYrUcOXHlJW+Escge9MrSMEQ4Btk8JNrId4vh4thT9f/atERiwaG0xR2Ic8v1JCLtfn6lqijU1k6gKHrdZevxouQhCh0dFRfrVYN9/wlvhFufullYxrn5noD09RIY/GiaOCjIxYtTg2+Of93U8RmsIqsPRWW0vOOqTKFDx4P/iybiHpRlmW4hynbT8l5qYPICTZTXpRWjWGx2Q4+EDlaJeuF; 25:mvySvVHZ/KTd/cKlpr88DDotX0Av3WIB4b0argSJ3Mldjd/4NojWcu2bjqOyQdcne7cy9M2mUq0HH0ngPI8FHpPitxz+5srHeZ4/hOhEnQ3E7i/sWXZnBnxBkCh7dkGpCwRx/l0XZQSrz7bZnE8wi7WRpV0WIzc3JeyWXjn3g5eJNdUy/2XyavjoHoEJUV+YokE3MELaH9tCyif7Mc62TOtTfMGOQBD/JHRwblok38zqprhBgg9J7H2xvilvGZb83x0NCnoT/WHho3prLTOXx/NUVjHyX3al2tSjKbMArj/UJRiQVDUHcKfLzA38q1CSkfahiCd4ijV1T5yvbt5K/w==; 31:Raw7WRGS9RsHzNZDyPs1H82y8px0wEGN4Ud7qx0JHZqbaV/cqUJwV/jEX1Ohyb0qwKQ4/nQJcMtXEHZblbXXmlbI1L6tBqOHuKzh2lQEeHJCZFyN9b5dFhGEfpjpr5kWd+PK9K3aZJg1nMvmGHzrfD+z6E5aMXSATfwrg6NwM9O8lH4TGHePibTPp1idDhK2kmyeBD9zvMTTaIQ0OLQoKbt5sWEbVVpg1/FGCBFbOZM= X-MS-TrafficTypeDiagnostic: AM5PR0501MB2036: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 20:9v7+krH1TI4qMALUGsqzpXNcCoc9RFfWTLjjoTP2CjBxYq68faWLmlGtCW8iTdGjA+N/oGu7nHoX4gpI+D/NFRlgCqvZkUbH2qCJkvxFsjrhDqka9M4XNEskwWibpqllWrrfwDWSRbv7eFqura27CoQh2tn+1/peg0dt1Whcq6lIE6S+r+NhTLclFEviof5T0Mo45eZh9/tRfLo3Nr0vYzbCXW+iYxTaWWRMqXMgWK452DvlbWBEjOFYEnvSZ/CUjP2cebK1OsHNAmJYsw/MVdNE437V1dg4CzzFB0slfM7Ez3PhR30G/GObxbg/ngFVQnU3RL0WkaTGIUgV1ZqTlPmm9tz8mTiVU2cDWCdXw/5vhCyIGGfTHwAATYWmWy/DNd7h2d0oVzwADO8CKC2G2OinyIzhzAhtmxPWHpgcwA92sarQjsZQUjSMNPIkTmutXyidtxxbaA7PDJ2uA+AKeUtHGVEyyyyYx3G3AWmwUouzH8pAqJCg0ZMggPsSHAOK; 4:68qocJAyu/3+PHHfJ8ukoV0TStsL0FvFU1p2mHlKosBWruvvKfWOg+SKKDR8IiiCGg3ZNDXkKPJjMA1P3pquG4TKHwhrhtEEWujmD2U5nIgF8oORj+JhMlgs2SBCnEdH/sOmVDw8AKBUrEeqCc9gnzfH5UZImcMovBgH2xONqv6YA11UGmcAfIsI0dxjJosXoUiqzaJ51Zo1R12PFTEDK02NP8QmR9BQatxnXRYKZVdKEzzPIvP4x/beZl/a+HdwpYk4QbTsMHMeoTn+yYp3wg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:AM5PR0501MB2036; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2036; X-Forefront-PRVS: 0694C54398 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(1496009)(39380400002)(366004)(396003)(39860400002)(346002)(376002)(189003)(199004)(478600001)(81156014)(76176011)(7696005)(956004)(2361001)(50226002)(305945005)(2616005)(50466002)(47776003)(486006)(97736004)(5660300001)(6666003)(2351001)(106356001)(8936002)(186003)(81166006)(52116002)(6116002)(476003)(6916009)(23676004)(386003)(446003)(11346002)(59450400001)(66066001)(26005)(3846002)(8676002)(16526019)(1076002)(25786009)(21086003)(86362001)(2870700001)(53936002)(4326008)(2906002)(316002)(55016002)(36756003)(105586002)(69596002)(68736007)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2036; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjA1MDFNQjIwMzY7MjM6aXpDRlBSZmNqYmQrVmttZllKeG1uZ1NG?= =?utf-8?B?L2xDbHZKcmNuMHhkSmZ6RE5pZmVlWjZWS3hRRmRtUFhUcHJlMWdSVFhKYXRZ?= =?utf-8?B?SWdENmYwUkkvNnpUQWJmUy9IRjdEaTRPOXpsQ2o5MWhVYVNyKzZmOUpNWnJJ?= =?utf-8?B?U29PNmdWc2tDaDhCRi8valREZzg3V3pqR1kyWENJNU0va2ladGM2V085bEVy?= =?utf-8?B?bG5sSkRDdGI1V0kzNUxqM3AvK3hsRXVrZitSc3c2STNudnVSb01XMFRkRGh3?= =?utf-8?B?SnR1WVJORzl0RW9MczYzRTFuVzlaUEI5M3RqUW9SaDc1Z0FhSVNHV29sMjc1?= =?utf-8?B?blpqcDdTZHE4Mk1UcmVvV1F0clJVOEhKT3JkTlROcWd4WnNrbGdJakZiS1ps?= =?utf-8?B?TTlyZHNSbU00NDNUckxWZkd5U3Q0aC9XcSswTFFpSFlubEV2ZktIaENTRk1E?= =?utf-8?B?UUhZYUt5NmdVU1V5Q3hQaTRzVi9UTjRaZExwVjBNTlBqVGozMnZCZkpsa3E5?= =?utf-8?B?aTBERUwreGZNRHUyZ1JIT3g4TkhrSUszSU1mUHgxWDJFYXpoWWpvd1FLSVpU?= =?utf-8?B?VXhubFY3ejBwUWZFRmkydXo1Yi9qTnlsVnllcFdkbGNRU1htenZqNWo2WHBn?= =?utf-8?B?V2pxSUdMUGZYZEg3cUltczFHNzNCQ2RkWEpWVmd0V3luRk9rRUJlMmxSRFMw?= =?utf-8?B?R0c4Y1BJQi9BNmI0VFZPcHFrcVpFVVdqQUUwbjYxM2xqRzB6bUMzZVlEcjVR?= =?utf-8?B?S2FmT0JvZnhxaExrUklHdnNGZ2ZQR0ZpbUkyQUNubVI1R2JDWHcvcmlzZnYw?= =?utf-8?B?OEt0ZGJXN1pmRVJkbHd2anRodTVKSVpVaFk4OEN5anpDbElSZ1ByS0tKSS8v?= =?utf-8?B?TmFWc2RHQ001ekx3WmgyUHpya3phcWdodm5NQzJvZHVQK0ZRZVhLRlZJOEsr?= =?utf-8?B?VWFnbllyWjdpUEk4RUh5bUgvRGdDZmVHSW5pNWl4NG1oYzRLbjllTHNZTUh5?= =?utf-8?B?WDNWQUN0WFZqKzNGRXRqQ1ZGbjN0Mkh4S0h5M2x3dzdtejVaWDNNTlphVEo3?= =?utf-8?B?dmp1QVh5MVZGTThJWHAvL2d5dGZqdWJzdmxDWVhsMWlxdkFkZFVKRXZHYW8r?= =?utf-8?B?ZVllYU40aHczZmFtS1daaHErZjQ4VlR3azBQOXEveDBjRzlqRlVITlM1ZkdC?= =?utf-8?B?YnJvVC83Q21KQUlZYytDWWo3dEVhMDBKN1pBS0JLVCs2VUxEQnk2STFGMTVR?= =?utf-8?B?dkJvbHZnT29lb0xwUTlITFY2aFV1MHBucTdCbEllUlUya3ZsSlkzQUY2bE10?= =?utf-8?B?dVg3N2dFdFdVbzZQbXBDREVMd3FsT3R2eCtNKzNYNVlhY2xBdHdXekxjdmRD?= =?utf-8?B?K1QwRDJWWldrbmpwbWFBa3MxMHQ0Y2s5SlJmdWtqbU92OU5qNStIWmdoYUhu?= =?utf-8?B?Mm1EcjJJcGZDM0d0TU92N21ab1YzL0dwSTUwTWZQQVJnQ1NRVFlHQkx3UXNa?= =?utf-8?B?TzRlMXA1ekNDTFl0SUdTVHN3ZE9XR0tCdFp0SUZqNFdraGJibmQxQTh4VmF3?= =?utf-8?B?anViaDVFb1VMelIrRGZIQVJPL1QyemxSR2NML0FoY2oyQXVtTC9MZ25BZEQ0?= =?utf-8?B?dXBncEdPazYybVdGRmdEYkdiUmZPN1U5aDgwbi82SE1EMGpHdHN0dzlibHpV?= =?utf-8?B?ajQxMEQxSWhlZFFSLzdKVkVpbGIrdFdpVXFwa24xN3RmMmN5YnBHVXpqYVQ2?= =?utf-8?B?elhwYThQMS9TVFB0YmNVdjZ3PT0=?= X-Microsoft-Antispam-Message-Info: we2ISYbgN74uVSTJahXKT0wGYufh4+qZO1Sz/zc1nF3hTWcYXNhdsgF9+ZkU125jOHEM7rUO/Jvt2ltIbSqyigjUJ1CGtfAZ80cYrHH9CIbnAvtJY/KZiLlmsH19vBvls3mtI2BN3FwIS4ISvm8X/BKNE/iDQogi3s0tcwmgriT/TAGLXqBSjLylnmXDJBfg X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 6:ptHrJ8NPyRDXhTv73cjsyhrykdIn6rG9F+uPR2r2+rnfseq+hsyLqzA6qQCMPzbjAJr+Pi/FIee9P/H8xi5mYN8mn7Ki2zV7XrX8jbHDBXp+XVC0TxolWSLL4VJMT+rJO+YtaLEjkWUaMIWNZkEs/beNaFotDCMC+XjEXydWXeqU6JG07396YylwSYqv4+JFfo26TCsFpV9Ah5syvxZ4xnyqFcW4nuHrPgNRHxqM3L/RwxMmJIF8TKvjHcOOQmKNT+uYKONFG9WRyeZKC+7fjH107Ij4/n7ynjtC6KAfofBjrEf+UO6PwxZK/QSp0uqSw+JewMWCocf/R5pZfTOg9yQMsJ8mkGWuJ9a0WJQiDtg4nD0gy6yIQGtG2ZIZQUsUNVbijpimuC1I7F1xFEZFHyexjn5zDamWYsKI/xfgtPj9fVaSKy1C2t+kxfcyyC4g35+iAdeOLWNb/81ccrbT2Q==; 5:PaVKrgWkkCabkd+CoWAoW77oujXNltdwGnNHj4OSxskI8wKv7OX5FCX/Bntf9xttrcVSaOfBGYtk6jFQnBMrDSd83NybGgGQJ0BxtEUtpNKvZbp6x+NdljxZ5uJxIr4wJQ06gcuoRgTAnJtYATFidMRFQG5caCVGHvoZy3ATd1U=; 24:VL5ln1NB4zPJICH85IQReCIBp0cc75dgvoIupfgHoTYzQBcR3poFb3hdsh2GVRy8IbHIRHxzeJ+YyHf2ZSrE34aD73f5mEZQ93OZ3dH2Q2g= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036; 7:Vzi/sL6Ek37XToqDOfdHK86xkzXg1UT3qMVTyk2hMXye0sAAFQ1gPxGa46ElSWJ/akMT2bFDTcuXJhKd3Ow2AlLNblrNINM2PI138eSV9BuD6LBCCHsf6begzGfjn5oZZVmUDJpO0be9OZT08CJPJQABFqKymMxdIYWwjyPgjum5317r/Ovd+pu41LrEOsVXEkCSatcs/1QuS3Tr80SztYyNRO0AeZaduO1fUZDIWT9sWjZiiVwkvNu44JBz+9Yt X-MS-Office365-Filtering-Correlation-Id: 9ce14391-4054-4280-a33c-08d5ca791b4b X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2018 00:13:02.6837 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9ce14391-4054-4280-a33c-08d5ca791b4b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2036 Subject: [dpdk-stable] [PATCH 36/67] net/mlx5: refuse empty VLAN flow specification X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jun 2018 00:13:05 -0000 From: NĂ©lio Laranjeiro [ upstream commit 0b1edd21cd78c48e944489231707cbd9a59273ec ] Verbs specification doesn't help to distinguish between packets having an VLAN and those which do not have, this ends by having flow rule which does not react as the user expects e.g. flow create 0 ingress pattern eth / vlan / end action queue index 0 / end flow create 0 ingress pattern eth / end action queue index 1 / end are colliding in Verbs definition as in both rule are matching packets with or without VLAN. For this reason, the VLAN specification must not be empty, otherwise the PMD has to refuse it. Signed-off-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_flow.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index c5111de7b..444b92484 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -1344,9 +1344,18 @@ mlx5_flow_create_vlan(const struct rte_flow_item *item, eth->val.vlan_tag = spec->tci; eth->mask.vlan_tag = mask->tci; eth->val.vlan_tag &= eth->mask.vlan_tag; + /* + * From verbs perspective an empty VLAN is equivalent + * to a packet without VLAN layer. + */ + if (!eth->mask.vlan_tag) + goto error; } + return 0; } - return 0; +error: + return rte_flow_error_set(data->error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, + item, "VLAN cannot be empty"); } /** -- 2.11.0