Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp141633pxj; Mon, 17 May 2021 23:21:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxE4bdb1xRWxMkouZVR7oyR1xEJzXMsMeC3mrFiQv35GnAT9mtxNJ5Vfxn+e1ugJpFO75Ai X-Received: by 2002:a50:fc82:: with SMTP id f2mr2674377edq.102.1621318875583; Mon, 17 May 2021 23:21:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621318875; cv=none; d=google.com; s=arc-20160816; b=LvII916s9ksgwgkNL6xtpxddE+RjQU4TkxiNkv2/I3fMjkX6SF5rCLR+kHYeb0hRmU qM9XXhv5TNeLVK0/ShtUETK2ZK5b3PiGBkzM3t5FSS3IG/gNQPpa64DHxcAw5LKgL3aI WCGh6LoAl0PU1ZfDAl4Fs/X2u6dnNv4Gfd/tueSaT+fwzdRykUdkczQD3j0QtNmKVBig ig8EEitMIHe2QyTZ9Efb+W3YBbjRXl6kSd/WNx0nQyStYNi6qR+gX+9gHhZnaKkkVDi7 wXkTy2HVAL6nlnaxWgp4Eb+ED3JPk7nwnbEqVjlz2eT+ocRJ3PFT7vGIRFtiV/xi4YKN bvAw== 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=nyVFMGKjqY/YjZN8dWIdneAUYfSePu0VmjTrvmdL9ZY=; b=PxVlMh9ZrtBqowxKofg/gst3lPmqKZfmGfpWdWgYmo6p3tlhmPnNQI405Wcd+Khpny X5FtHeHTNhrlFkV5Yl2iwHmFGbV3h7iu/8iCKAJhpbhKeoG0gGe0HCQF9EUOjR7IDnZh b9dUAgIyth0mVStZP8rZLS0K9e9E8vDYUz0/Uk5NG6foPx1QWYQU4xc28SqgwAYDhsvP eGdtq7433JPDGez8v6qygv43Rk/TBMFR66EarLd7cQ+xPejukSHnp+AULIm0MYkZQWZp MAhtwQO6YV5J6qVIkU86GUvkuij+TR02ZIlAFCvzLzKqO0TwBA3uGPJDwWWbtBTzibo5 KWFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=jJqZxRsy; 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 y11si6092243edv.23.2021.05.17.23.20.51; Mon, 17 May 2021 23:21:15 -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=jJqZxRsy; 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 S242130AbhEQOt5 (ORCPT + 99 others); Mon, 17 May 2021 10:49:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:50944 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240131AbhEQOmP (ORCPT ); Mon, 17 May 2021 10:42:15 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 87ABC61950; Mon, 17 May 2021 14:19:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1621261179; bh=nz3Z5sM/05N+UqtzH9mUGxRGExsUafPLfAvtce1O0Ms=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jJqZxRsy/oIDdqdGcBxrbvIZucngZ9DvWQ2ZWEuw7PXXUHZMjmAGZRZn1yBdREzNK VufU/Q821z9Q8c5zlYoyU8bBFeoeH/Pr4wdDvhehXTJCR061tXJUmFKKdp0vf0f1lf dg04Vbv7vItQGncEl9WzDoCzRloZfgTswaq49J/o= 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.4 018/141] net: bridge: when suppression is enabled exclude RARP packets Date: Mon, 17 May 2021 16:01:10 +0200 Message-Id: <20210517140243.376432625@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210517140242.729269392@linuxfoundation.org> References: <20210517140242.729269392@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 b18cdf03edb3..c4e0f4777df5 100644 --- a/net/bridge/br_arp_nd_proxy.c +++ b/net/bridge/br_arp_nd_proxy.c @@ -155,7 +155,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