linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Selvin Xavier <selvin.xavier@broadcom.com>
To: dledford@redhat.com, jgg@nvidia.com
Cc: linux-rdma@vger.kernel.org, Selvin Xavier <selvin.xavier@broadcom.com>
Subject: [PATCH for-next 11/12] RDMA/bnxt_re: Check if the vlan is valid before reporting
Date: Sun, 12 Sep 2021 11:15:25 -0700	[thread overview]
Message-ID: <1631470526-22228-12-git-send-email-selvin.xavier@broadcom.com> (raw)
In-Reply-To: <1631470526-22228-1-git-send-email-selvin.xavier@broadcom.com>

When VF is configured with default vlan, HW strips the vlan from
the packet and driver receives it in Rx completion. VLAN needs to
be reported for UD work completion only if the vlan is configured
on the host. Add a check for valid vlan in the UD receive path.

Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
index 1cbc7e1..935dbce 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -3364,8 +3364,11 @@ static void bnxt_re_process_res_ud_wc(struct bnxt_re_qp *qp,
 				      struct ib_wc *wc,
 				      struct bnxt_qplib_cqe *cqe)
 {
+	struct bnxt_re_dev *rdev;
+	u16 vlan_id = 0;
 	u8 nw_type;
 
+	rdev = qp->rdev;
 	wc->opcode = IB_WC_RECV;
 	wc->status = __rc_to_ib_wc_status(cqe->status);
 
@@ -3377,9 +3380,12 @@ static void bnxt_re_process_res_ud_wc(struct bnxt_re_qp *qp,
 		memcpy(wc->smac, cqe->smac, ETH_ALEN);
 		wc->wc_flags |= IB_WC_WITH_SMAC;
 		if (cqe->flags & CQ_RES_UD_FLAGS_META_FORMAT_VLAN) {
-			wc->vlan_id = (cqe->cfa_meta & 0xFFF);
-			if (wc->vlan_id < 0x1000)
-				wc->wc_flags |= IB_WC_WITH_VLAN;
+			vlan_id = (cqe->cfa_meta & 0xFFF);
+		}
+		/* Mark only if vlan_id is non zero */
+		if (vlan_id && bnxt_re_check_if_vlan_valid(rdev, vlan_id)) {
+			wc->vlan_id = vlan_id;
+			wc->wc_flags |= IB_WC_WITH_VLAN;
 		}
 		nw_type = (cqe->flags & CQ_RES_UD_FLAGS_ROCE_IP_VER_MASK) >>
 			   CQ_RES_UD_FLAGS_ROCE_IP_VER_SFT;
-- 
2.5.5


  parent reply	other threads:[~2021-09-12 18:15 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-12 18:15 [PATCH for-next 00/12] RDMA/bnxt_re: Driver update Selvin Xavier
2021-09-12 18:15 ` [PATCH for-next 01/12] RDMA/bnxt_re: Add extended statistics counters Selvin Xavier
2021-09-13 10:45   ` Leon Romanovsky
2021-09-12 18:15 ` [PATCH for-next 02/12] RDMA/bnxt_re: Update statistics counter name Selvin Xavier
2021-09-13 10:45   ` Leon Romanovsky
2021-09-12 18:15 ` [PATCH for-next 03/12] RDMA/bnxt_re: Use separate response buffer for stat_ctx_free Selvin Xavier
2021-09-13 10:46   ` Leon Romanovsky
2021-09-12 18:15 ` [PATCH for-next 04/12] RDMA/bnxt_re: Reduce the delay in polling for hwrm command completion Selvin Xavier
2021-09-13 10:49   ` Leon Romanovsky
2021-09-12 18:15 ` [PATCH for-next 05/12] RDMA/bnxt_re: Support multiple page sizes Selvin Xavier
2021-09-13 10:51   ` Leon Romanovsky
2021-09-12 18:15 ` [PATCH for-next 06/12] RDMA/bnxt_re: Suppress unwanted error messages Selvin Xavier
2021-09-13 10:52   ` Leon Romanovsky
2021-09-12 18:15 ` [PATCH for-next 07/12] RDMA/bnxt_re: Fix query SRQ failure Selvin Xavier
2021-09-13 10:55   ` Leon Romanovsky
2021-09-13 11:10     ` Selvin Xavier
2021-09-12 18:15 ` [PATCH for-next 08/12] RDMA/bnxt_re: Fix FRMR issue with single page MR allocation Selvin Xavier
2021-09-13 10:57   ` Leon Romanovsky
2021-09-12 18:15 ` [PATCH for-next 09/12] RDMA/bnxt_re: Use GFP_KERNEL in non atomic context Selvin Xavier
2021-09-13 11:10   ` Leon Romanovsky
2021-09-13 11:15     ` Selvin Xavier
2021-09-12 18:15 ` [PATCH for-next 10/12] RDMA/bnxt_re: Correct FRMR size calculation Selvin Xavier
2021-09-13 11:11   ` Leon Romanovsky
2021-09-12 18:15 ` Selvin Xavier [this message]
2021-09-12 18:15 ` [PATCH for-next 12/12] MAINTAINERS: Update Broadcom RDMA maintainers Selvin Xavier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1631470526-22228-12-git-send-email-selvin.xavier@broadcom.com \
    --to=selvin.xavier@broadcom.com \
    --cc=dledford@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=linux-rdma@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).