diff options
author | Nikolay Aleksandrov <nikolay@cumulusnetworks.com> | 2016-08-31 15:36:51 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-09-01 22:48:33 -0700 |
commit | 8addd5e7d3a5c118a214a7794ae299787198aa25 (patch) | |
tree | 37adf8325e89d0b8548e0cfa9053a69acee2740f /net/bridge/br_forward.c | |
parent | d297653dd6f07afbe7e6c702a4bcd7615680002e (diff) | |
download | op-kernel-dev-8addd5e7d3a5c118a214a7794ae299787198aa25.zip op-kernel-dev-8addd5e7d3a5c118a214a7794ae299787198aa25.tar.gz |
net: bridge: change unicast boolean to exact pkt_type
Remove the unicast flag and introduce an exact pkt_type. That would help us
for the upcoming per-port multicast flood flag and also slightly reduce the
tests in the input fast path.
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_forward.c')
-rw-r--r-- | net/bridge/br_forward.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c index 32a02de..5de854e 100644 --- a/net/bridge/br_forward.c +++ b/net/bridge/br_forward.c @@ -176,7 +176,7 @@ out: /* called under rcu_read_lock */ void br_flood(struct net_bridge *br, struct sk_buff *skb, - bool unicast, bool local_rcv, bool local_orig) + enum br_pkt_type pkt_type, bool local_rcv, bool local_orig) { u8 igmp_type = br_multicast_igmp_type(skb); struct net_bridge_port *prev = NULL; @@ -184,7 +184,7 @@ void br_flood(struct net_bridge *br, struct sk_buff *skb, list_for_each_entry_rcu(p, &br->port_list, list) { /* Do not flood unicast traffic to ports that turn it off */ - if (unicast && !(p->flags & BR_FLOOD)) + if (pkt_type == BR_PKT_UNICAST && !(p->flags & BR_FLOOD)) continue; /* Do not flood to ports that enable proxy ARP */ |