Commit 7b60027b authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

netdevsim: create devlink and netdev instances in namespace

When user does create new netdevsim instance using sysfs bus file,
create the devlink instance and related netdev instance in the namespace
of the caller.
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8273fd84
...@@ -283,6 +283,7 @@ nsim_bus_dev_new(unsigned int id, unsigned int port_count) ...@@ -283,6 +283,7 @@ nsim_bus_dev_new(unsigned int id, unsigned int port_count)
nsim_bus_dev->dev.bus = &nsim_bus; nsim_bus_dev->dev.bus = &nsim_bus;
nsim_bus_dev->dev.type = &nsim_bus_dev_type; nsim_bus_dev->dev.type = &nsim_bus_dev_type;
nsim_bus_dev->port_count = port_count; nsim_bus_dev->port_count = port_count;
nsim_bus_dev->initial_net = current->nsproxy->net_ns;
err = device_register(&nsim_bus_dev->dev); err = device_register(&nsim_bus_dev->dev);
if (err) if (err)
......
...@@ -726,6 +726,7 @@ static struct nsim_dev *nsim_dev_create(struct nsim_bus_dev *nsim_bus_dev) ...@@ -726,6 +726,7 @@ static struct nsim_dev *nsim_dev_create(struct nsim_bus_dev *nsim_bus_dev)
devlink = devlink_alloc(&nsim_dev_devlink_ops, sizeof(*nsim_dev)); devlink = devlink_alloc(&nsim_dev_devlink_ops, sizeof(*nsim_dev));
if (!devlink) if (!devlink)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
devlink_net_set(devlink, nsim_bus_dev->initial_net);
nsim_dev = devlink_priv(devlink); nsim_dev = devlink_priv(devlink);
nsim_dev->nsim_bus_dev = nsim_bus_dev; nsim_dev->nsim_bus_dev = nsim_bus_dev;
nsim_dev->switch_id.id_len = sizeof(nsim_dev->switch_id.id); nsim_dev->switch_id.id_len = sizeof(nsim_dev->switch_id.id);
......
...@@ -220,6 +220,9 @@ struct nsim_bus_dev { ...@@ -220,6 +220,9 @@ struct nsim_bus_dev {
struct device dev; struct device dev;
struct list_head list; struct list_head list;
unsigned int port_count; unsigned int port_count;
struct net *initial_net; /* Purpose of this is to carry net pointer
* during the probe time only.
*/
unsigned int num_vfs; unsigned int num_vfs;
struct nsim_vf_config *vfconfigs; struct nsim_vf_config *vfconfigs;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment