[dpdk-dev] Running DPDK application with non-previlege mode

Thomas Monjalon thomas at monjalon.net
Mon Aug 30 14:05:52 CEST 2021


30/08/2021 13:45, Kamaraj P:
> Thanks Ferruh.
> One more option which we have figured out to resolve this error by adding
> SYS_NICE capability ( --cap-add=NET_ADMIN --cap-add=SYS_RESOURCE
> --cap-add=SYS_NICE).
> Not sure whether it will work for all the scenarios. However the above
> options will ensure DPDK application can run as non-previlage mode ?
> Please suggest the right approach which should work for all the DPDK
> versions.

It depends on which device/driver you use.

Here are some infos:

`SYS_ADMIN`
Required for finding IOVA physical addresses.
Not needed if using virtual addressing (DPDK default)                                                
or if Linux is older than 4.0.

`SYS_NICE`
Enable the syscalls `get_mempolicy` and `set_mempolicy`
required for NUMA memory management.
Not needed if `RTE_EAL_NUMA_AWARE_HUGEPAGES` is disabled
(explicitly or because of missing libnuma).

`SYS_RAWIO`
Enable the syscall `iopl` required for I/O port,
used for legacy virtio mode.

`NET_ADMIN`
Required for some device configuration.

`NET_RAW`
Required for mlx5 queue allocation. Enabled by default in Docker.

`IPC_LOCK`
Required for some DMA pinning.





More information about the dev mailing list