From patchwork Mon Apr 3 16:14:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Iremonger, Bernard" X-Patchwork-Id: 23164 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 3FB332C6E; Mon, 3 Apr 2017 18:14:17 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 483D92B9B for ; Mon, 3 Apr 2017 18:14:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1491236055; x=1522772055; h=from:to:cc:subject:date:message-id; bh=KM7dbsz2alLHh2GgegtPXkljFEA6ZZl3Dy1jx0EQCXQ=; b=S07HBdAnOzSi4ItBuK8LwjluTwnnpRLU2gx1acmJcDHOBTwT4RFzR4eA 9n/W2i4fApEKAhGTBFtT4CHB6A11hA==; Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2017 09:14:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos; i="5.36,271,1486454400"; d="scan'208"; a="1150320745" Received: from sivswdev01.ir.intel.com (HELO localhost.localdomain) ([10.237.217.45]) by fmsmga002.fm.intel.com with ESMTP; 03 Apr 2017 09:14:13 -0700 From: Bernard Iremonger To: dev@dpdk.org, beilei.xing@intel.com Cc: wenzhuo.lu@intel.com, Bernard Iremonger Date: Mon, 3 Apr 2017 17:14:09 +0100 Message-Id: <1491236049-6747-1-git-send-email-bernard.iremonger@intel.com> X-Mailer: git-send-email 1.7.0.7 Subject: [dpdk-dev] [PATCH] net/i40e: fix eth pattern parsing 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Handle the following eth patterns: eth dst spec aa:bb:cc:dd:ee:ff eth dst mask ff:ff:ff:ff:ff:ff eth src spec aa:bb:cc:dd:ee:ff eth src mask ff:ff:ff:ff:ff:ff Fixes: d46e85af6b5c ("net/i40e: parse QinQ pattern") Signed-off-by: Bernard Iremonger --- drivers/net/i40e/i40e_flow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 9f541eaff..3fcd31036 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -1772,7 +1772,8 @@ i40e_flow_parse_qinq_pattern(__rte_unused struct rte_eth_dev *dev, case RTE_FLOW_ITEM_TYPE_ETH: eth_spec = (const struct rte_flow_item_eth *)item->spec; eth_mask = (const struct rte_flow_item_eth *)item->mask; - if (eth_spec && eth_mask) { + if ((eth_spec && eth_mask) || + (eth_spec || eth_mask)) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, item,