diff options
author | Nikolay Aleksandrov <nikolay@cumulusnetworks.com> | 2016-08-31 15:36:51 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-09-02 07:48:33 +0200 |
commit | 8addd5e7d3a5c118a214a7794ae299787198aa25 (patch) | |
tree | 37adf8325e89d0b8548e0cfa9053a69acee2740f /net/bridge/br_private.h | |
parent | rtnetlink: fdb dump: optimize by saving last interface markers (diff) | |
download | linux-8addd5e7d3a5c118a214a7794ae299787198aa25.tar.xz linux-8addd5e7d3a5c118a214a7794ae299787198aa25.zip |
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_private.h')
-rw-r--r-- | net/bridge/br_private.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index 3d36493f4487..1b63177e0ccd 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -517,12 +517,17 @@ int br_fdb_external_learn_del(struct net_bridge *br, struct net_bridge_port *p, const unsigned char *addr, u16 vid); /* br_forward.c */ +enum br_pkt_type { + BR_PKT_UNICAST, + BR_PKT_MULTICAST, + BR_PKT_BROADCAST +}; int br_dev_queue_push_xmit(struct net *net, struct sock *sk, struct sk_buff *skb); void br_forward(const struct net_bridge_port *to, struct sk_buff *skb, bool local_rcv, bool local_orig); int br_forward_finish(struct net *net, struct sock *sk, struct sk_buff *skb); 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); /* br_if.c */ void br_port_carrier_check(struct net_bridge_port *p); |