Commit f3a6ddf1 authored by Vlad Yasevich's avatar Vlad Yasevich Committed by David S. Miller

bridge: Introduce BR_PROMISC flag

Introduce a BR_PROMISC per-port flag that will help us track if the
current port is supposed to be in promiscuous mode or not.  For now,
always start in promiscuous mode.
Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarVlad Yasevich <vyasevic@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8db24af7
...@@ -238,7 +238,7 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br, ...@@ -238,7 +238,7 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br,
p->path_cost = port_cost(dev); p->path_cost = port_cost(dev);
p->priority = 0x8000 >> BR_PORT_BITS; p->priority = 0x8000 >> BR_PORT_BITS;
p->port_no = index; p->port_no = index;
p->flags = BR_LEARNING | BR_FLOOD; p->flags = BR_LEARNING | BR_FLOOD | BR_PROMISC;
br_init_port(p); br_init_port(p);
p->state = BR_STATE_DISABLED; p->state = BR_STATE_DISABLED;
br_stp_port_timer_init(p); br_stp_port_timer_init(p);
......
...@@ -175,6 +175,7 @@ struct net_bridge_port ...@@ -175,6 +175,7 @@ struct net_bridge_port
#define BR_LEARNING 0x00000020 #define BR_LEARNING 0x00000020
#define BR_FLOOD 0x00000040 #define BR_FLOOD 0x00000040
#define BR_AUTO_MASK (BR_FLOOD | BR_LEARNING) #define BR_AUTO_MASK (BR_FLOOD | BR_LEARNING)
#define BR_PROMISC 0x00000080
#ifdef CONFIG_BRIDGE_IGMP_SNOOPING #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
struct bridge_mcast_query ip4_query; struct bridge_mcast_query ip4_query;
...@@ -200,6 +201,7 @@ struct net_bridge_port ...@@ -200,6 +201,7 @@ struct net_bridge_port
}; };
#define br_auto_port(p) ((p)->flags & BR_AUTO_MASK) #define br_auto_port(p) ((p)->flags & BR_AUTO_MASK)
#define br_promisc_port(p) ((p)->flags & BR_PROMISC)
#define br_port_exists(dev) (dev->priv_flags & IFF_BRIDGE_PORT) #define br_port_exists(dev) (dev->priv_flags & IFF_BRIDGE_PORT)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment