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 |
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);
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 --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);