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

Nicolas Dichtel nicolas.dichtel at 6wind.com
Thu Nov 27 10:06:05 CET 2014


Le 21/11/2014 04:10, Takayuki Usui a écrit :
> 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));
You should test the returned value and release the refcnt.
net = get_net_ns_by_pid(current->pid)
if (IS_ERR(net))
...
put_net(net);

> +
>   	kni = netdev_priv(net_dev);
>
>   	kni->net_dev = net_dev;
>



More information about the dev mailing list