bridge: use rx_handler_data pointer to store net_bridge_port pointer
Register net_bridge_port pointer as rx_handler data pointer. As br_port is removed from struct net_device, another netdev priv_flag is added to indicate the device serves as a bridge port. Also rcuized pointers are now correctly dereferenced in br_fdb.c and in netfilter parts. Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
a35e2c1b6d
commit
f350a0a873
@@ -32,14 +32,15 @@ struct notifier_block br_device_notifier = {
|
||||
static int br_device_event(struct notifier_block *unused, unsigned long event, void *ptr)
|
||||
{
|
||||
struct net_device *dev = ptr;
|
||||
struct net_bridge_port *p = dev->br_port;
|
||||
struct net_bridge_port *p = br_port_get(dev);
|
||||
struct net_bridge *br;
|
||||
int err;
|
||||
|
||||
/* not a port of a bridge */
|
||||
if (p == NULL)
|
||||
if (!br_port_exists(dev))
|
||||
return NOTIFY_DONE;
|
||||
|
||||
p = br_port_get(dev);
|
||||
br = p->br;
|
||||
|
||||
switch (event) {
|
||||
|
Reference in New Issue
Block a user