mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 05:44:11 +00:00
bridge: Reorder neighbor suppression check when flooding
The bridge does not flood ARP / NS packets for which a reply was sent to bridge ports that have neighbor suppression enabled. Subsequent patches are going to add per-{Port, VLAN} neighbor suppression, which is going to make it more expensive to check whether neighbor suppression is enabled since a VLAN lookup will be required. Therefore, instead of unnecessarily performing this lookup for every packet, only perform it for ARP / NS packets for which a reply was sent. Signed-off-by: Ido Schimmel <idosch@nvidia.com> Acked-by: Nikolay Aleksandrov <razor@blackwall.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1cf3fe1c37
commit
013a7ce81d
1 changed files with 2 additions and 2 deletions
|
@ -224,8 +224,8 @@ void br_flood(struct net_bridge *br, struct sk_buff *skb,
|
|||
/* Do not flood to ports that enable proxy ARP */
|
||||
if (p->flags & BR_PROXYARP)
|
||||
continue;
|
||||
if ((p->flags & (BR_PROXYARP_WIFI | BR_NEIGH_SUPPRESS)) &&
|
||||
BR_INPUT_SKB_CB(skb)->proxyarp_replied)
|
||||
if (BR_INPUT_SKB_CB(skb)->proxyarp_replied &&
|
||||
(p->flags & (BR_PROXYARP_WIFI | BR_NEIGH_SUPPRESS)))
|
||||
continue;
|
||||
|
||||
prev = maybe_deliver(prev, p, skb, local_orig);
|
||||
|
|
Loading…
Reference in a new issue