linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Nikolay Aleksandrov <nikolay@nvidia.com>,
	Amer Abdalamer <amer@nvidia.com>,
	"David S . Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>,
	bridge@lists.linux-foundation.org, netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 4.19 12/32] net: bridge: when suppression is enabled exclude RARP packets
Date: Wed,  5 May 2021 12:39:44 -0400	[thread overview]
Message-ID: <20210505164004.3463707-12-sashal@kernel.org> (raw)
In-Reply-To: <20210505164004.3463707-1-sashal@kernel.org>

From: Nikolay Aleksandrov <nikolay@nvidia.com>

[ 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 <amer@nvidia.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 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 eb44ae05abaa..b52e70362268 100644
--- a/net/bridge/br_arp_nd_proxy.c
+++ b/net/bridge/br_arp_nd_proxy.c
@@ -158,7 +158,9 @@ void br_do_proxy_suppress_arp(struct sk_buff *skb, struct net_bridge *br,
 	if (br->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 = true;
 			return;
-- 
2.30.2


  parent reply	other threads:[~2021-05-05 17:11 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-05 16:39 [PATCH AUTOSEL 4.19 01/32] fs: dlm: fix debugfs dump Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 02/32] tipc: convert dest node's address to network order Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 03/32] ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 04/32] net: stmmac: Set FIFO sizes for ipq806x Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 05/32] i2c: bail out early when RDWR parameters are wrong Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 06/32] ALSA: hdsp: don't disable if not enabled Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 07/32] ALSA: hdspm: " Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 08/32] ALSA: rme9652: " Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 09/32] Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 10/32] Bluetooth: verify AMP hci_chan before amp_destroy Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 11/32] Bluetooth: initialize skb_queue_head at l2cap_chan_create() Sasha Levin
2021-05-05 16:39 ` Sasha Levin [this message]
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 13/32] Bluetooth: check for zapped sk before connecting Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 14/32] ip6_vti: proper dev_{hold|put} in ndo_[un]init methods Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 15/32] ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 16/32] i2c: Add I2C_AQ_NO_REP_START adapter quirk Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 17/32] mac80211: clear the beacon's CRC after channel switch Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 18/32] pinctrl: samsung: use 'int' for register masks in Exynos Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 19/32] cuse: prevent clone Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 20/32] selftests: Set CC to clang in lib.mk if LLVM is set Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 21/32] kconfig: nconf: stop endless search loops Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 22/32] sctp: Fix out-of-bounds warning in sctp_process_asconf_param() Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 23/32] powerpc/smp: Set numa node before updating mask Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 24/32] ASoC: rt286: Generalize support for ALC3263 codec Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 25/32] ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user() Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 26/32] samples/bpf: Fix broken tracex1 due to kprobe argument change Sasha Levin
2021-05-05 16:39 ` [PATCH AUTOSEL 4.19 27/32] powerpc/pseries: Stop calling printk in rtas_stop_self() Sasha Levin
2021-05-05 16:40 ` [PATCH AUTOSEL 4.19 28/32] wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt Sasha Levin
2021-05-05 16:40 ` [PATCH AUTOSEL 4.19 29/32] wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join Sasha Levin
2021-05-05 16:40 ` [PATCH AUTOSEL 4.19 30/32] powerpc/iommu: Annotate nested lock for lockdep Sasha Levin
2021-05-05 16:40 ` [PATCH AUTOSEL 4.19 31/32] net: ethernet: mtk_eth_soc: fix RX VLAN offload Sasha Levin
2021-05-05 16:40 ` [PATCH AUTOSEL 4.19 32/32] ia64: module: fix symbolizer crash on fdescr Sasha Levin

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=20210505164004.3463707-12-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=amer@nvidia.com \
    --cc=bridge@lists.linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nikolay@nvidia.com \
    --cc=stable@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).