[VLAN]: Simplify vlan unregistration
[deliverable/linux.git] / net / 8021q / vlan_netlink.c
index 6cdd1e015e2d6f17dfaa419e1a7b49428d88cd91..9ee63583ed27455e7e3119fa4fdd887a37a43bac 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/kernel.h>
 #include <linux/netdevice.h>
 #include <linux/if_vlan.h>
+#include <net/net_namespace.h>
 #include <net/netlink.h>
 #include <net/rtnetlink.h>
 #include "vlan.h"
@@ -112,7 +113,7 @@ static int vlan_newlink(struct net_device *dev,
 
        if (!tb[IFLA_LINK])
                return -EINVAL;
-       real_dev = __dev_get_by_index(nla_get_u32(tb[IFLA_LINK]));
+       real_dev = __dev_get_by_index(&init_net, nla_get_u32(tb[IFLA_LINK]));
        if (!real_dev)
                return -ENODEV;
 
@@ -136,11 +137,6 @@ static int vlan_newlink(struct net_device *dev,
        return register_vlan_dev(dev);
 }
 
-static void vlan_dellink(struct net_device *dev)
-{
-       unregister_vlan_device(dev);
-}
-
 static inline size_t vlan_qos_map_size(unsigned int n)
 {
        if (n == 0)
@@ -225,7 +221,7 @@ struct rtnl_link_ops vlan_link_ops __read_mostly = {
        .validate       = vlan_validate,
        .newlink        = vlan_newlink,
        .changelink     = vlan_changelink,
-       .dellink        = vlan_dellink,
+       .dellink        = unregister_vlan_dev,
        .get_size       = vlan_get_size,
        .fill_info      = vlan_fill_info,
 };
This page took 0.029459 seconds and 5 git commands to generate.