mirror of https://gitee.com/openkylin/linux.git
l2tp: set name_assign_type for devices created by l2tp_eth.c
Export naming scheme used when creating l2tpeth interfaces (/sys/class/net/<iface>/name_assign_type). This let userspace know if the device's name has been generated automatically or defined manually. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr> Acked-by: James Chapman <jchapman@katalix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e0ee84ded7
commit
c39855febc
|
@ -258,6 +258,7 @@ static void l2tp_eth_adjust_mtu(struct l2tp_tunnel *tunnel,
|
|||
|
||||
static int l2tp_eth_create(struct net *net, u32 tunnel_id, u32 session_id, u32 peer_session_id, struct l2tp_session_cfg *cfg)
|
||||
{
|
||||
unsigned char name_assign_type;
|
||||
struct net_device *dev;
|
||||
char name[IFNAMSIZ];
|
||||
struct l2tp_tunnel *tunnel;
|
||||
|
@ -281,8 +282,11 @@ static int l2tp_eth_create(struct net *net, u32 tunnel_id, u32 session_id, u32 p
|
|||
goto out;
|
||||
}
|
||||
strlcpy(name, cfg->ifname, IFNAMSIZ);
|
||||
} else
|
||||
name_assign_type = NET_NAME_USER;
|
||||
} else {
|
||||
strcpy(name, L2TP_ETH_DEV_NAME);
|
||||
name_assign_type = NET_NAME_ENUM;
|
||||
}
|
||||
|
||||
session = l2tp_session_create(sizeof(*spriv), tunnel, session_id,
|
||||
peer_session_id, cfg);
|
||||
|
@ -291,7 +295,7 @@ static int l2tp_eth_create(struct net *net, u32 tunnel_id, u32 session_id, u32 p
|
|||
goto out;
|
||||
}
|
||||
|
||||
dev = alloc_netdev(sizeof(*priv), name, NET_NAME_UNKNOWN,
|
||||
dev = alloc_netdev(sizeof(*priv), name, name_assign_type,
|
||||
l2tp_eth_dev_setup);
|
||||
if (!dev) {
|
||||
rc = -ENOMEM;
|
||||
|
|
Loading…
Reference in New Issue