]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/bridge/br.c
Merge branch 'master' into staging-next
[karo-tx-linux.git] / net / bridge / br.c
index ba780cc8e515d2dcd6424d627c286ec1ceb86a47..19311aafcf5a06e6ae7abaaf82527711573dc6d6 100644 (file)
 
 #include "br_private.h"
 
-static const struct stp_proto br_stp_proto = {
-       .rcv    = br_stp_rcv,
-};
+static void __net_exit br_net_exit(struct net *net)
+{
+       struct net_device *dev;
+       LIST_HEAD(list);
+
+       rtnl_lock();
+       for_each_netdev(net, dev)
+               if (dev->priv_flags & IFF_EBRIDGE)
+                       br_dev_delete(dev, &list);
+
+       unregister_netdevice_many(&list);
+       rtnl_unlock();
+
+}
 
 static struct pernet_operations br_net_ops = {
        .exit   = br_net_exit,
 };
 
+static const struct stp_proto br_stp_proto = {
+       .rcv    = br_stp_rcv,
+};
+
 static int __init br_init(void)
 {
        int err;