Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp249257pxj; Tue, 18 May 2021 02:25:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxDQgEO0RyqcSJi71gVTOzWs6KNyPi8P+U0ueD0E9qUB4WY6WxME0heskjA8HSi8Idr9Qft X-Received: by 2002:a05:6e02:11b3:: with SMTP id 19mr3396266ilj.41.1621329949589; Tue, 18 May 2021 02:25:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621329949; cv=none; d=google.com; s=arc-20160816; b=hcR8rabC4cuyoucbv6/aJ12fR6anOJAGLnHXldherUpRu5SzH5/vSEDGHc6nirq2hv n5ijB+DX0Y7LrOMRZaJGzfUHyGXRTa23WN0ByjZjlOW70Sz8wjSyURtMlWxzF0ZM0TYL 9IZ4htg+V5o8tynxztzp8/iZPtD7CO8POXRVHCtoiHj7rFB6DM7GXb12QNujAoLMUHsV 22CiGmXuUvNtQNQKX3CvABFyh0bD+MfWfuyu8C013xtslbt3nfspnarawfXhGNVfrXdV LejypCpwsIjSIDYC5IMHTaglI6dVwba9ytDMegfodTIcSZXEUyBX3vnzBM1OhQZNfiKx dpTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=krzyZvOuU6e/5T6T+VhnSs0BQX09e7KLdU2O7gNryp0=; b=ZeTUq1JwsccTut82YMlJYINtrxJraQwSRlKHC5TTx96xNm5K3gRICMo32Hvw65BbVw Bz7wIT8LJKWYAglOzhtoyp+JCLWc9yOXAR7ULsi9CCvWBE6nATNmINd5hFqOgZDb3zpZ 3fOpeiW8nG1rDa5uUZYrKbFUweelsBKCVu6akr9KljVvGwB52JjiMhtigGlaMzWaTRdF yOp0hyaFwI2bUKc9Tp3R1G/NQRTaXqgsi8GFDtzfPl8DFQthvdINPhFFesW5Xx5KyWid 3/DoBMvVVcPpOEyX6k5Vxjtgn6mcUeRluL9VjwVY4qM03arKaGFLLuO3zMb9gobYRjFj y41g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=nQ7eZBH9; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w9si21893773ilv.15.2021.05.18.02.25.36; Tue, 18 May 2021 02:25:49 -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=@linuxfoundation.org header.s=korg header.b=nQ7eZBH9; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242006AbhEQPGO (ORCPT + 99 others); Mon, 17 May 2021 11:06:14 -0400 Received: from mail.kernel.org ([198.145.29.99]:49086 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242473AbhEQO4p (ORCPT ); Mon, 17 May 2021 10:56:45 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8516A61483; Mon, 17 May 2021 14:25:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1621261530; bh=bx9BBY/AfT4RyPg1holEfsAsmhFrOH7twyygm48EmYU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nQ7eZBH9TyH7prELzfT0ewlZ67a5IFm2Hcl/a5oJ3sEkdMhYgkkkZBbZJjAGfcS+W tFWBzWnqUIVWJxyHJGSWqEHEj1ME6Ap2ZP2t1HerHC8IqPvdHtC6VJxyor0rjHIrn2 du4eIHYvO8aWJGeHqbMKWQdQw5e7LSRSl77hOZvQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Amer Abdalamer , Nikolay Aleksandrov , "David S. Miller" , Sasha Levin Subject: [PATCH 5.10 030/289] net: bridge: when suppression is enabled exclude RARP packets Date: Mon, 17 May 2021 15:59:15 +0200 Message-Id: <20210517140306.200790849@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210517140305.140529752@linuxfoundation.org> References: <20210517140305.140529752@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nikolay Aleksandrov [ Upstream commit 0353b4a96b7a9f60fe20d1b3ebd4931a4085f91c ] Recently we had an interop issue where RARP packets got suppressed with bridge neigh suppression enabled, but the check in the code was meant to suppress GARP. Exclude RARP packets from it which would allow some VMWare setups to work, to quote the report: "Those RARP packets usually get generated by vMware to notify physical switches when vMotion occurs. vMware may use random sip/tip or just use sip=tip=0. So the RARP packet sometimes get properly flooded by the vtep and other times get dropped by the logic" Reported-by: Amer Abdalamer Signed-off-by: Nikolay Aleksandrov Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- net/bridge/br_arp_nd_proxy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/bridge/br_arp_nd_proxy.c b/net/bridge/br_arp_nd_proxy.c index dfec65eca8a6..3db1def4437b 100644 --- a/net/bridge/br_arp_nd_proxy.c +++ b/net/bridge/br_arp_nd_proxy.c @@ -160,7 +160,9 @@ void br_do_proxy_suppress_arp(struct sk_buff *skb, struct net_bridge *br, if (br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED)) { if (p && (p->flags & BR_NEIGH_SUPPRESS)) return; - if (ipv4_is_zeronet(sip) || sip == tip) { + if (parp->ar_op != htons(ARPOP_RREQUEST) && + parp->ar_op != htons(ARPOP_RREPLY) && + (ipv4_is_zeronet(sip) || sip == tip)) { /* prevent flooding to neigh suppress ports */ BR_INPUT_SKB_CB(skb)->proxyarp_replied = 1; return; -- 2.30.2