[dpdk-dev] [PATCH] kni: create KNI interface in current network namespace

Hemant at freescale.com Hemant at freescale.com
Mon Dec 1 06:45:39 CET 2014


> 2014-11-21 12:10, Takayuki Usui:
> > With this patch, KNI interface (e.g. vEth0) is created in the network
> > namespace where the DPDK application is running.
> > Otherwise, all interfaces are created in the default namespace in the
> > host.
> >
> > Signed-off-by: Takayuki Usui <takayuki at midokura.com>
> > ---
> >  lib/librte_eal/linuxapp/kni/kni_misc.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c
> > b/lib/librte_eal/linuxapp/kni/kni_misc.c
> > index ba77776..f4a9965 100644
> > --- a/lib/librte_eal/linuxapp/kni/kni_misc.c
> > +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c
> > @@ -354,6 +354,8 @@ kni_ioctl_create(unsigned int ioctl_num, unsigned
> long ioctl_param)
> >  		return -EBUSY;
> >  	}
> >
> > +	dev_net_set(net_dev, get_net_ns_by_pid(current->pid));
> > +

Another way to get it done is by the following. It will be init_net for the root container.

#ifdef CONFIG_NET_NS
	net_dev->nd_net = current->nsproxy->net_ns; 
#endif
> >  	kni = netdev_priv(net_dev);
> >
> >  	kni->net_dev = net_dev;



More information about the dev mailing list