bridge: multicast_flood cleanup
[safe/jmp/linux-2.6] / net / bridge / br_notify.c
index 88d8ec7..1413b72 100644 (file)
@@ -35,9 +35,6 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v
        struct net_bridge_port *p = dev->br_port;
        struct net_bridge *br;
 
-       if (dev_net(dev) != &init_net)
-               return NOTIFY_DONE;
-
        /* not a port of a bridge */
        if (p == NULL)
                return NOTIFY_DONE;
@@ -85,6 +82,10 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v
        case NETDEV_UNREGISTER:
                br_del_if(br, dev);
                break;
+
+       case NETDEV_PRE_TYPE_CHANGE:
+               /* Forbid underlaying device to change its type. */
+               return NOTIFY_BAD;
        }
 
        /* Events that may cause spanning tree to refresh */