On Fri, Feb 21, 2025 at 12:07 PM Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> wrote: > > From: Xiao Liang <shaw.leon@xxxxxxxxx> > Date: Wed, 19 Feb 2025 20:50:33 +0800 > > Currently some IPv6 tunnel drivers set tnl->net to dev_net(dev) in > > ndo_init(), which is called in register_netdevice(). However, it lacks > > the context of link-netns when we enable cross-net tunnels at device > > registration time. > > > > Let's move the init of tunnel link-netns before register_netdevice(). > > > > ip6_gre has already initialized netns, so just remove the redundant > > assignment. > > > > Signed-off-by: Xiao Liang <shaw.leon@xxxxxxxxx> > > Reviewed-by: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> > > left a small comment, but not a blocker. > > > > @@ -1565,6 +1565,7 @@ static int ipip6_newlink(struct net_device *dev, > > int err; > > > > nt = netdev_priv(dev); > > + nt->net = net; > > This hunk is not necessary as we'll call ipip6_tunnel_locate(), > but it's harmless and not worth reposting the whole series given > we are alredy in v10. You can just post a follow-up patch after > the series is applied. Seems ipip6_tunnel_locate() only sets netns for newly created devices (for ioctl). ipip6_newlink() is calling it to check for conflicts, so we might need this line. Thanks for your review!