Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp856234ybt; Fri, 19 Jun 2020 15:59:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzez4k4FnFgrUe+wyF76DaAjNGBrceyUSqtas/O9lyLyclDMmqjauSsC0VKAg05XS9RA/Dk X-Received: by 2002:a17:906:aad8:: with SMTP id kt24mr5297793ejb.527.1592607599722; Fri, 19 Jun 2020 15:59:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592607599; cv=none; d=google.com; s=arc-20160816; b=IpH13pJ+MS6kx9b0GsUyrxRKxWvyAvRJGtmjBQ3p/7ut1UpCqamhpBikT1tOpcm1lb NO8mh2G79qfeSVo0eaFNV6dZvN3D8mUB2lMNOlekblyf+NB4GJz3ibbW3jSXUEvIjKqi SjNJqtMQSfxGUT23TAgroRVXN45uLgJxaGcO8/yiOZHH40yDUvVxkGoKaOK0xNU3s0On MT8bu/7f9LGwKGUj/ernm6CDOdDgyQo9n7uZiRsKeShBbdUaAvh6v9O03Xuz7uZ+/ho0 THL1xMhhB1sODzq16u8CHYelkDJ3dsrBdqlB/GVWd4mTIBKApvxqTul9Cy/wGih5pGiR l/Fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Q4CszMwtcw1SblxMmi7It/vKHESEPb1+h1oaP5mbsts=; b=iax5/+h+qLspJbMTEWMgt1Javn1XOg9LroHuR0wCijFgaKSgkgWRp8OjzzMcPqNuVx NoKKhxYvfCwY2W+Dw4kJTa5NSL104IgLF7DvzmS0tG1p5xvKCtCuktOkBC2VpU+XBNch TluMhr9++wORAgq1axMeBxoV7bIvhLHFgJVjBqq/lhFpq8tTFnPERe8vbWuvyoAe5lYm R8JaSLDajoMsgaInkgai7w67T31Z05ltjOS91vhA2y7hiiFW6GpviZonWeaVdkQhssYQ dAZDx9++o6Ti8A7vYrMQZtzqapvt8riw2mW6mJC95gjefEjfX3vi+FnWttUrinASOs1S +FVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=fZ8G0b14; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g22si4562449ejp.270.2020.06.19.15.59.37; Fri, 19 Jun 2020 15:59:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=fZ8G0b14; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2393507AbgFSP0q (ORCPT + 99 others); Fri, 19 Jun 2020 11:26:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:56526 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2393323AbgFSPYs (ORCPT ); Fri, 19 Jun 2020 11:24:48 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4177621548; Fri, 19 Jun 2020 15:24:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592580287; bh=eOVkGPntmgbzqzVQPZ/DrGmskgQIENMcJlIIL7Bcsro=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fZ8G0b14P80kFXRpXZQGqUlDs5JtMxaCcCWpmR2rF2/EYGh5Ct8HET51q1/ZUrTFY GTfJ4NugQI/Kt/EV4xrnBD6d2Gwyj9Ql1YxrCgWvip6NTCEGXdJMHGOV+YTFTmaC4q y0oFWVpBw/1EsQDNOfoKcFI0ZCuUb8pqTHHto6BY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Erez Shitrit , Alex Vesker , Saeed Mahameed , Sasha Levin Subject: [PATCH 5.7 193/376] net/mlx5e: IPoIB, Drop multicast packets that this interface sent Date: Fri, 19 Jun 2020 16:31:51 +0200 Message-Id: <20200619141719.490234962@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200619141710.350494719@linuxfoundation.org> References: <20200619141710.350494719@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Erez Shitrit [ Upstream commit 8b46d424a743ddfef8056d5167f13ee7ebd1dcad ] After enabled loopback packets for IPoIB, we need to drop these packets that this HCA has replicated and came back to the same interface that sent them. Fixes: 4c6c615e3f30 ("net/mlx5e: IPoIB, Add PKEY child interface nic profile") Signed-off-by: Erez Shitrit Reviewed-by: Alex Vesker Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c index e2beb89c1832..b69957be653a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c @@ -1501,6 +1501,7 @@ out: #ifdef CONFIG_MLX5_CORE_IPOIB +#define MLX5_IB_GRH_SGID_OFFSET 8 #define MLX5_IB_GRH_DGID_OFFSET 24 #define MLX5_GID_SIZE 16 @@ -1514,6 +1515,7 @@ static inline void mlx5i_complete_rx_cqe(struct mlx5e_rq *rq, struct net_device *netdev; struct mlx5e_priv *priv; char *pseudo_header; + u32 flags_rqpn; u32 qpn; u8 *dgid; u8 g; @@ -1535,7 +1537,8 @@ static inline void mlx5i_complete_rx_cqe(struct mlx5e_rq *rq, tstamp = &priv->tstamp; stats = &priv->channel_stats[rq->ix].rq; - g = (be32_to_cpu(cqe->flags_rqpn) >> 28) & 3; + flags_rqpn = be32_to_cpu(cqe->flags_rqpn); + g = (flags_rqpn >> 28) & 3; dgid = skb->data + MLX5_IB_GRH_DGID_OFFSET; if ((!g) || dgid[0] != 0xff) skb->pkt_type = PACKET_HOST; @@ -1544,9 +1547,15 @@ static inline void mlx5i_complete_rx_cqe(struct mlx5e_rq *rq, else skb->pkt_type = PACKET_MULTICAST; - /* TODO: IB/ipoib: Allow mcast packets from other VFs - * 68996a6e760e5c74654723eeb57bf65628ae87f4 + /* Drop packets that this interface sent, ie multicast packets + * that the HCA has replicated. */ + if (g && (qpn == (flags_rqpn & 0xffffff)) && + (memcmp(netdev->dev_addr + 4, skb->data + MLX5_IB_GRH_SGID_OFFSET, + MLX5_GID_SIZE) == 0)) { + skb->dev = NULL; + return; + } skb_pull(skb, MLX5_IB_GRH_BYTES); -- 2.25.1