From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3147DA0562; Fri, 19 Mar 2021 04:52:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1E1C7140E81; Fri, 19 Mar 2021 04:52:13 +0100 (CET) Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) by mails.dpdk.org (Postfix) with ESMTP id BE21F40143 for ; Fri, 19 Mar 2021 04:52:11 +0100 (CET) Received: by mail-qk1-f177.google.com with SMTP id o5so1604499qkb.0 for ; Thu, 18 Mar 2021 20:52:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nGNG95FisoRwswZGV9D0LyLwW4l+vKmH1bzVsxNOXFY=; b=QKWRYgE4tEqEltGMlgQsRYZBfJYs4MZZ+P0VuvcXfKp2Q5wepOmY48BUrjIRVNy9PY Df99M5GRlTB1jEDMs+aSGlDW7Aoe7uwO8mQHF5PWNzAcBXJkaTT6ym4CEe/rvp2hxwX5 XnoH0rO9uz5HmIfyl8rQ/4+/CKM0VpGsFBS20= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nGNG95FisoRwswZGV9D0LyLwW4l+vKmH1bzVsxNOXFY=; b=RLGqjhYiSnpcNQCk7PLHjtjpn1E5WOJQOP+084U5LesYmR7BmqN2NdvqNoSG3k4Pve svOqPDYcrdU0BDPCkp5PMjYQY8WKSFGCQ6wjVxaIUKhw29PKdeli7/zZtoJ5adCEWtj3 Mh2j+XMDYemf0rQ5PtZpXldX70gF0J34ZDEyGgUxmYXTG1botecbLU+YzzWTZB8HmwPw Lqc3J5f+METPLpbEL5duPl03/khMJfkmH+/OkmnMRIuvTnFFFG4nHeRE577ZKDxs/rOv NPFUXAGgikzuxSN9NkT+oF79T47vhifxmI75yFPJ6mG6Ia8NXepxUgmvnx2hKzuvkLSX 9Kug== X-Gm-Message-State: AOAM530zqX7WqBqZ4PicymUNeq+ruYmRuVvfMCFrVjgZfZSc9yd9cqKN NuOORxgP6Uxh06WIxift7TGeMtzFuiLTSXYQDyBB3g== X-Google-Smtp-Source: ABdhPJzZ4lJ4Nl1IxRI/WM4Fem4sp5TH4p/IGDDuePssmEZku9MFBYhU/Xpjb++DQ6OyrjVE7jSHtwUxllFBsKatq3o= X-Received: by 2002:a05:620a:749:: with SMTP id i9mr7912065qki.40.1616125931103; Thu, 18 Mar 2021 20:52:11 -0700 (PDT) MIME-Version: 1.0 References: <20210318195251.683450-1-lance.richardson@broadcom.com> In-Reply-To: <20210318195251.683450-1-lance.richardson@broadcom.com> From: Ajit Khaparde Date: Thu, 18 Mar 2021 20:51:55 -0700 Message-ID: To: Lance Richardson Cc: Somnath Kotur , dpdk-dev , dpdk stable Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000000e5ca005bddba476" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [dpdk-dev] [PATCH 1/1] net/bnxt: fix handling of null flow mask X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" --0000000000000e5ca005bddba476 Content-Type: text/plain; charset="UTF-8" On Thu, Mar 18, 2021 at 12:52 PM Lance Richardson wrote: > > When the mask field of an rte_flow pattern item is NULL, > the default mask for that item type should be used. > > Fixes: 5ef3b79fdfe6 ("net/bnxt: support flow filter ops") > Cc: stable@dpdk.org > > Signed-off-by: Lance Richardson Patch applied to dpdk-next-net-brcm. > --- > drivers/net/bnxt/bnxt_flow.c | 47 +++++++++++++++++++++++++++--------- > 1 file changed, 36 insertions(+), 11 deletions(-) > > diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c > index a8f5d91fc4..e3906b4779 100644 > --- a/drivers/net/bnxt/bnxt_flow.c > +++ b/drivers/net/bnxt/bnxt_flow.c > @@ -188,11 +188,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp, > PMD_DRV_LOG(DEBUG, "Parse inner header\n"); > break; > case RTE_FLOW_ITEM_TYPE_ETH: > - if (!item->spec || !item->mask) > + if (!item->spec) > break; > > eth_spec = item->spec; > - eth_mask = item->mask; > + > + if (item->mask) > + eth_mask = item->mask; > + else > + eth_mask = &rte_flow_item_eth_mask; > > /* Source MAC address mask cannot be partially set. > * Should be All 0's or all 1's. > @@ -281,7 +285,12 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp, > break; > case RTE_FLOW_ITEM_TYPE_VLAN: > vlan_spec = item->spec; > - vlan_mask = item->mask; > + > + if (item->mask) > + vlan_mask = item->mask; > + else > + vlan_mask = &rte_flow_item_vlan_mask; > + > if (en & en_ethertype) { > rte_flow_error_set(error, EINVAL, > RTE_FLOW_ERROR_TYPE_ITEM, > @@ -324,11 +333,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp, > case RTE_FLOW_ITEM_TYPE_IPV4: > /* If mask is not involved, we could use EM filters. */ > ipv4_spec = item->spec; > - ipv4_mask = item->mask; > > - if (!item->spec || !item->mask) > + if (!item->spec) > break; > > + if (item->mask) > + ipv4_mask = item->mask; > + else > + ipv4_mask = &rte_flow_item_ipv4_mask; > + > /* Only IP DST and SRC fields are maskable. */ > if (ipv4_mask->hdr.version_ihl || > ipv4_mask->hdr.type_of_service || > @@ -385,11 +398,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp, > break; > case RTE_FLOW_ITEM_TYPE_IPV6: > ipv6_spec = item->spec; > - ipv6_mask = item->mask; > > - if (!item->spec || !item->mask) > + if (!item->spec) > break; > > + if (item->mask) > + ipv6_mask = item->mask; > + else > + ipv6_mask = &rte_flow_item_ipv6_mask; > + > /* Only IP DST and SRC fields are maskable. */ > if (ipv6_mask->hdr.vtc_flow || > ipv6_mask->hdr.payload_len || > @@ -437,11 +454,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp, > break; > case RTE_FLOW_ITEM_TYPE_TCP: > tcp_spec = item->spec; > - tcp_mask = item->mask; > > - if (!item->spec || !item->mask) > + if (!item->spec) > break; > > + if (item->mask) > + tcp_mask = item->mask; > + else > + tcp_mask = &rte_flow_item_tcp_mask; > + > /* Check TCP mask. Only DST & SRC ports are maskable */ > if (tcp_mask->hdr.sent_seq || > tcp_mask->hdr.recv_ack || > @@ -482,11 +503,15 @@ bnxt_validate_and_parse_flow_type(struct bnxt *bp, > break; > case RTE_FLOW_ITEM_TYPE_UDP: > udp_spec = item->spec; > - udp_mask = item->mask; > > - if (!item->spec || !item->mask) > + if (!item->spec) > break; > > + if (item->mask) > + udp_mask = item->mask; > + else > + udp_mask = &rte_flow_item_udp_mask; > + > if (udp_mask->hdr.dgram_len || > udp_mask->hdr.dgram_cksum) { > rte_flow_error_set(error, > -- > 2.25.1 > --0000000000000e5ca005bddba476--