Message ID | 20210322154527.224886-1-razor@blackwall.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 0353b4a96b7a9f60fe20d1b3ebd4931a4085f91c |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net: bridge: when suppression is enabled exclude RARP packets | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net-next |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | warning | 2 maintainers not CCed: davem@davemloft.net kuba@kernel.org |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 10 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
Hello: This patch was applied to netdev/net-next.git (refs/heads/master): On Mon, 22 Mar 2021 17:45:27 +0200 you wrote: > From: Nikolay Aleksandrov <nikolay@nvidia.com> > > 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" > > [...] Here is the summary with links: - [net-next] net: bridge: when suppression is enabled exclude RARP packets https://git.kernel.org/netdev/net-next/c/0353b4a96b7a You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
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;