@@ -2447,6 +2447,7 @@ struct net_device *dev_get_by_name(struct net *net, const char *name);
struct net_device *dev_get_by_name_rcu(struct net *net, const char *name);
struct net_device *__dev_get_by_name(struct net *net, const char *name);
int dev_alloc_name(struct net_device *dev, const char *name);
+int dev_alloc_name_ns(struct net *net, struct net_device *dev, const char *name);
int dev_open(struct net_device *dev);
void dev_close(struct net_device *dev);
void dev_close_many(struct list_head *head, bool unlink);
@@ -1109,9 +1109,9 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf)
return p ? -ENFILE : -EEXIST;
}
-static int dev_alloc_name_ns(struct net *net,
- struct net_device *dev,
- const char *name)
+int dev_alloc_name_ns(struct net *net,
+ struct net_device *dev,
+ const char *name)
{
char buf[IFNAMSIZ];
int ret;
@@ -1122,6 +1122,7 @@ static int dev_alloc_name_ns(struct net *net,
strlcpy(dev->name, buf, IFNAMSIZ);
return ret;
}
+EXPORT_SYMBOL(dev_alloc_name_ns);
/**
* dev_alloc_name - allocate a name for a device
dev_alloc_name_ns and dev_get_valid_name now do exactly the same thing. Let's expose this functionality as dev_alloc_name_ns (obviously, a core function like this won't return an invalid name...). Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> --- include/linux/netdevice.h | 1 + net/core/dev.c | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-)