From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id AB0D4A04DD;
	Tue, 20 Oct 2020 10:55:35 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 7D91BBCC6;
	Tue, 20 Oct 2020 10:49:32 +0200 (CEST)
Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com
 [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id D6258BADE
 for <dev@dpdk.org>; Tue, 20 Oct 2020 10:49:00 +0200 (CEST)
Received: from mx1-us1.ppe-hosted.com (unknown [10.7.65.60])
 by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id
 511896005F for <dev@dpdk.org>; Tue, 20 Oct 2020 08:48:59 +0000 (UTC)
Received: from us4-mdac16-62.ut7.mdlocal (unknown [10.7.66.61])
 by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id 4D5F72009A
 for <dev@dpdk.org>; Tue, 20 Oct 2020 08:48:59 +0000 (UTC)
X-Virus-Scanned: Proofpoint Essentials engine
Received: from mx1-us1.ppe-hosted.com (unknown [10.7.66.33])
 by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id DD37B1C0051
 for <dev@dpdk.org>; Tue, 20 Oct 2020 08:48:58 +0000 (UTC)
Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 92F19A80061
 for <dev@dpdk.org>; Tue, 20 Oct 2020 08:48:58 +0000 (UTC)
Received: from ukex01.SolarFlarecom.com (10.17.10.4) by
 ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id
 15.0.1497.2; Tue, 20 Oct 2020 09:48:50 +0100
Received: from opal.uk.solarflarecom.com (10.17.10.1) by
 ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id
 15.0.1497.2 via Frontend Transport; Tue, 20 Oct 2020 09:48:50 +0100
Received: from ukv-loginhost.uk.solarflarecom.com
 (ukv-loginhost.uk.solarflarecom.com [10.17.10.39])
 by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 09K8mnHp030800;
 Tue, 20 Oct 2020 09:48:49 +0100
Received: from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1])
 by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id 45E4E16176C;
 Tue, 20 Oct 2020 09:48:48 +0100 (BST)
From: Andrew Rybchenko <arybchenko@solarflare.com>
To: <y@solarflare.com>
CC: <dev@dpdk.org>, Ivan Malov <ivan.malov@oktetlabs.ru>
Date: Tue, 20 Oct 2020 09:47:38 +0100
Message-ID: <1603183709-23420-12-git-send-email-arybchenko@solarflare.com>
X-Mailer: git-send-email 1.8.3.1
In-Reply-To: <1603183709-23420-1-git-send-email-arybchenko@solarflare.com>
References: <1603183709-23420-1-git-send-email-arybchenko@solarflare.com>
MIME-Version: 1.0
Content-Type: text/plain
X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.6.1012-25736.003
X-TM-AS-Result: No-0.536400-8.000000-10
X-TMASE-MatchedRID: +AidzxpkJ3+sue+K4hesazIHIyLCTr7eaeMaKzvXUpljLp8Cm8vwFz6P
 hj6DfZCErdoLblq9S5o1LfSblo+MR6o9NRZVgWnangIgpj8eDcAZ1CdBJOsoY8RB0bsfrpPIcSq
 bxBgG0w76A+QMx7z2iD8dEiaE4JHrWJ6i68YdyAjyr+sULATnp3PO5AYP0oMY44ZxNlShMPEdJ/
 08jJP7VaAUDI3aKfuRQjcC+ZMyFdOTdSRXlCnjBIjjlF305EnAWUm8SESyzd/NBqGt1DPvvA==
X-TM-AS-User-Approved-Sender: Yes
X-TM-AS-User-Blocked-Sender: No
X-TMASE-Result: 10--0.536400-8.000000
X-TMASE-Version: SMEX-12.5.0.1300-8.6.1012-25736.003
X-MDID: 1603183739-S5SMsscN1fC2
X-PPE-DISP: 1603183739;S5SMsscN1fC2
Subject: [dpdk-dev] [PATCH 11/62] net/sfc: validate match spec in MAE backend
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

From: Ivan Malov <ivan.malov@oktetlabs.ru>

Validate the match specification resulting from pattern
parsing within MAE backend in RTE flow implementation.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
---
 drivers/net/sfc/sfc_mae.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c
index 53e141775a..7e4397762b 100644
--- a/drivers/net/sfc/sfc_mae.c
+++ b/drivers/net/sfc/sfc_mae.c
@@ -130,10 +130,18 @@ sfc_mae_rule_parse_pattern(struct sfc_adapter *sa,
 	if (rc != 0)
 		goto fail_parse_pattern;
 
+	if (!efx_mae_match_spec_is_valid(sa->nic, ctx_mae.match_spec_action)) {
+		rc = rte_flow_error_set(error, ENOTSUP,
+					RTE_FLOW_ERROR_TYPE_ITEM, NULL,
+					"Inconsistent pattern");
+		goto fail_validate_match_spec_action;
+	}
+
 	spec->match_spec = ctx_mae.match_spec_action;
 
 	return 0;
 
+fail_validate_match_spec_action:
 fail_parse_pattern:
 	efx_mae_match_spec_fini(sa->nic, ctx_mae.match_spec_action);
 
-- 
2.17.1