From patchwork Wed Oct 2 23:25:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 60470 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 [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4513B1BFBE; Thu, 3 Oct 2019 01:26:26 +0200 (CEST) Received: from rnd-relay.smtp.broadcom.com (unknown [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id 64B9D1BF8D for ; Thu, 3 Oct 2019 01:26:10 +0200 (CEST) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id 7B4AC30C297; Wed, 2 Oct 2019 16:24:56 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 7B4AC30C297 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1570058696; bh=Rdc9alXsklOutLdsn8Jih5r7Ki61lJiln31FRszC3yg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RpWKT8g/TpOff4rBAMExBE9kOpnN9c84ov8LDB78KolBWuAc0k75jbr5IfKBUr1+H rAYwpxntnyIr39v8ykWXzhPQR11Xibu98fx+xfTqVV93ikZAzT/VkHEqu++o5Ee0V1 VG3c1JSq2dIKP/1dDWCqmd2f4Z3zOqMrwxSspWbU= Received: from localhost.localdomain (unknown [10.230.30.225]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id 8499B140069; Wed, 2 Oct 2019 16:26:08 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Rahul Gupta , Santoshkumar Karanappa Rastapur Date: Wed, 2 Oct 2019 16:25:51 -0700 Message-Id: <20191002232601.22715-11-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.20.1 (Apple Git-117) In-Reply-To: <20191002232601.22715-1-ajit.khaparde@broadcom.com> References: <20191002232601.22715-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 10/20] net/bnxt: allow only unicast MAC address filter creation 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" Check if the application is trying to create filters using broadcast and multicast MAC address and reject it. Signed-off-by: Ajit Khaparde Reviewed-by: Rahul Gupta Reviewed-by: Santoshkumar Karanappa Rastapur --- drivers/net/bnxt/bnxt_flow.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c index aedbd6d13b..cdfbb6c22f 100644 --- a/drivers/net/bnxt/bnxt_flow.c +++ b/drivers/net/bnxt/bnxt_flow.c @@ -219,6 +219,14 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp, } if (rte_is_broadcast_ether_addr(ð_mask->dst)) { + if (!rte_is_unicast_ether_addr(ð_spec->dst)) { + rte_flow_error_set(error, + EINVAL, + RTE_FLOW_ERROR_TYPE_ITEM, + item, + "DMAC is invalid"); + return -rte_errno; + } rte_memcpy(filter->dst_macaddr, ð_spec->dst, RTE_ETHER_ADDR_LEN); en |= use_ntuple ? @@ -233,6 +241,14 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp, } if (rte_is_broadcast_ether_addr(ð_mask->src)) { + if (!rte_is_unicast_ether_addr(ð_spec->src)) { + rte_flow_error_set(error, + EINVAL, + RTE_FLOW_ERROR_TYPE_ITEM, + item, + "SMAC is invalid"); + return -rte_errno; + } rte_memcpy(filter->src_macaddr, ð_spec->src, RTE_ETHER_ADDR_LEN); en |= use_ntuple ?