diff mbox series

[net-next,v3,12/15] netdevsim: register port netdevices into net of device

Message ID 20191003094940.9797-13-jiri@resnulli.us
State Accepted
Delegated to: David Miller
Headers show
Series devlink: allow devlink instances to change network namespace | expand

Commit Message

Jiri Pirko Oct. 3, 2019, 9:49 a.m. UTC
From: Jiri Pirko <jiri@mellanox.com>

Register newly created port netdevice into net namespace
that the parent device belongs to.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
---
 drivers/net/netdevsim/netdev.c    | 1 +
 drivers/net/netdevsim/netdevsim.h | 5 +++++
 2 files changed, 6 insertions(+)

Comments

Jakub Kicinski Oct. 3, 2019, 11:21 p.m. UTC | #1
On Thu,  3 Oct 2019 11:49:37 +0200, Jiri Pirko wrote:
> From: Jiri Pirko <jiri@mellanox.com>
> 
> Register newly created port netdevice into net namespace
> that the parent device belongs to.
> 
> Signed-off-by: Jiri Pirko <jiri@mellanox.com>

Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>

> diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c
> index 0740940f41b1..2908e0a0d6e1 100644
> --- a/drivers/net/netdevsim/netdev.c
> +++ b/drivers/net/netdevsim/netdev.c
> @@ -290,6 +290,7 @@ nsim_create(struct nsim_dev *nsim_dev, struct nsim_dev_port *nsim_dev_port)
>  	if (!dev)
>  		return ERR_PTR(-ENOMEM);
>  
> +	dev_net_set(dev, nsim_dev_net(nsim_dev));
>  	ns = netdev_priv(dev);
>  	ns->netdev = dev;
>  	ns->nsim_dev = nsim_dev;
> diff --git a/drivers/net/netdevsim/netdevsim.h b/drivers/net/netdevsim/netdevsim.h
> index 702d951fe160..198ca31cec94 100644
> --- a/drivers/net/netdevsim/netdevsim.h
> +++ b/drivers/net/netdevsim/netdevsim.h
> @@ -164,6 +164,11 @@ struct nsim_dev {
>  	struct devlink_region *dummy_region;
>  };
>  
> +static inline struct net *nsim_dev_net(struct nsim_dev *nsim_dev)
> +{
> +	return devlink_net(priv_to_devlink(nsim_dev));
> +}

Slight overkill to have a single-use helper for this? ;)

>  int nsim_dev_init(void);
>  void nsim_dev_exit(void);
>  int nsim_dev_probe(struct nsim_bus_dev *nsim_bus_dev);
Jiri Pirko Oct. 4, 2019, 6:20 a.m. UTC | #2
Fri, Oct 04, 2019 at 01:21:21AM CEST, jakub.kicinski@netronome.com wrote:
>On Thu,  3 Oct 2019 11:49:37 +0200, Jiri Pirko wrote:
>> From: Jiri Pirko <jiri@mellanox.com>
>> 
>> Register newly created port netdevice into net namespace
>> that the parent device belongs to.
>> 
>> Signed-off-by: Jiri Pirko <jiri@mellanox.com>
>
>Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
>
>> diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c
>> index 0740940f41b1..2908e0a0d6e1 100644
>> --- a/drivers/net/netdevsim/netdev.c
>> +++ b/drivers/net/netdevsim/netdev.c
>> @@ -290,6 +290,7 @@ nsim_create(struct nsim_dev *nsim_dev, struct nsim_dev_port *nsim_dev_port)
>>  	if (!dev)
>>  		return ERR_PTR(-ENOMEM);
>>  
>> +	dev_net_set(dev, nsim_dev_net(nsim_dev));
>>  	ns = netdev_priv(dev);
>>  	ns->netdev = dev;
>>  	ns->nsim_dev = nsim_dev;
>> diff --git a/drivers/net/netdevsim/netdevsim.h b/drivers/net/netdevsim/netdevsim.h
>> index 702d951fe160..198ca31cec94 100644
>> --- a/drivers/net/netdevsim/netdevsim.h
>> +++ b/drivers/net/netdevsim/netdevsim.h
>> @@ -164,6 +164,11 @@ struct nsim_dev {
>>  	struct devlink_region *dummy_region;
>>  };
>>  
>> +static inline struct net *nsim_dev_net(struct nsim_dev *nsim_dev)
>> +{
>> +	return devlink_net(priv_to_devlink(nsim_dev));
>> +}
>
>Slight overkill to have a single-use helper for this? ;)

I wanted the code to be nice, also it is aligned with what mlxsw is
doing.


>
>>  int nsim_dev_init(void);
>>  void nsim_dev_exit(void);
>>  int nsim_dev_probe(struct nsim_bus_dev *nsim_bus_dev);
>
diff mbox series

Patch

diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c
index 0740940f41b1..2908e0a0d6e1 100644
--- a/drivers/net/netdevsim/netdev.c
+++ b/drivers/net/netdevsim/netdev.c
@@ -290,6 +290,7 @@  nsim_create(struct nsim_dev *nsim_dev, struct nsim_dev_port *nsim_dev_port)
 	if (!dev)
 		return ERR_PTR(-ENOMEM);
 
+	dev_net_set(dev, nsim_dev_net(nsim_dev));
 	ns = netdev_priv(dev);
 	ns->netdev = dev;
 	ns->nsim_dev = nsim_dev;
diff --git a/drivers/net/netdevsim/netdevsim.h b/drivers/net/netdevsim/netdevsim.h
index 702d951fe160..198ca31cec94 100644
--- a/drivers/net/netdevsim/netdevsim.h
+++ b/drivers/net/netdevsim/netdevsim.h
@@ -164,6 +164,11 @@  struct nsim_dev {
 	struct devlink_region *dummy_region;
 };
 
+static inline struct net *nsim_dev_net(struct nsim_dev *nsim_dev)
+{
+	return devlink_net(priv_to_devlink(nsim_dev));
+}
+
 int nsim_dev_init(void);
 void nsim_dev_exit(void);
 int nsim_dev_probe(struct nsim_bus_dev *nsim_bus_dev);