From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
To: Tao Peng <dev.pengtao@gmail.com>
Cc: users@dpdk.org
Subject: Re: [dpdk-users] net_mlx5: priv allocation failure
Date: Mon, 23 Apr 2018 13:24:57 +0200 [thread overview]
Message-ID: <20180423112457.GM4957@6wind.com> (raw)
In-Reply-To: <CA+CVHvDCU_Ysv_1tFh7fOktiG1JPKS7N8s2qM6nSSYeonKb68Q@mail.gmail.com>
On Mon, Apr 23, 2018 at 06:03:49PM +0800, Tao Peng wrote:
> Hi ,
>
> When I run the dpdk l2fwd , I encountered some errors, please help, thanks!
> :)
>
> $./build/l2fwd -c 0x1 -n 4 -- -p 0x1
Can you confirm this problem only occurs when attempting to run l2fwd as an
unprivileged user?
I just want to make sure, because it's is currently undocumented, untested
and therefore unsupported. This being said, please see below.
> EAL: Detected 64 lcore(s)
>
> EAL: No free hugepages reported in hugepages-1048576kB
>
> EAL: Probing VFIO support...
>
> EAL: WARNING: Master core has no memory on local socket!
>
> EAL: PCI device 0000:01:00.0 on NUMA socket 0
>
> EAL: probe driver: 15b3:1015 net_mlx5
>
> PMD: net_mlx5: PCI information matches, using device "mlx5_0" (SR-IOV:
> false, MPS: true)
>
> PMD: net_mlx5: 1 port(s) detected
>
> PMD: net_mlx5: priv allocation failure
>
> EAL: Requested device 0000:01:00.0 cannot be used
>
> EAL: PCI device 0000:01:00.1 on NUMA socket 0
>
> EAL: probe driver: 15b3:1015 net_mlx5
>
> PMD: net_mlx5: PCI information matches, using device "mlx5_1" (SR-IOV:
> false, MPS: true)
>
> PMD: net_mlx5: 1 port(s) detected
>
> PMD: net_mlx5: priv allocation failure
>
> EAL: Requested device 0000:01:00.1 cannot be used
>
> EAL: PCI device 0000:02:00.0 on NUMA socket 0
>
> EAL: probe driver: 8086:1521 net_e1000_igb
>
> EAL: PCI device 0000:02:00.1 on NUMA socket 0
>
> EAL: probe driver: 8086:1521 net_e1000_igb
>
> EAL: PCI device 0000:81:00.0 on NUMA socket -1
>
> EAL: probe driver: 15b3:1015 net_mlx5
>
> PMD: net_mlx5: PCI information matches, using device "mlx5_2" (SR-IOV:
> false, MPS: true)
>
> PMD: net_mlx5: 1 port(s) detected
>
> PMD: net_mlx5: priv allocation failure
>
> EAL: Requested device 0000:81:00.0 cannot be used
>
> EAL: PCI device 0000:81:00.1 on NUMA socket -1
>
> EAL: probe driver: 15b3:1015 net_mlx5
>
> PMD: net_mlx5: PCI information matches, using device "mlx5_3" (SR-IOV:
> false, MPS: true)
>
> PMD: net_mlx5: 1 port(s) detected
>
> PMD: net_mlx5: priv allocation failure
>
> EAL: Requested device 0000:81:00.1 cannot be used
>
> EAL: PCI device 0000:82:00.0 on NUMA socket -1
>
> EAL: probe driver: 8086:10fb net_ixgbe
>
> EAL: PCI device 0000:82:00.1 on NUMA socket -1
>
> EAL: probe driver: 8086:10fb net_ixgbe
>
> MAC updating enabled
>
> MEMPOOL: Cannot allocate tailq entry!
>
> EAL: Error - exiting with code: 1
>
> Cause: Cannot init mbuf pool
>
>
> *Hugepage info:*
>
> $cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
> 8192
>
> $cat /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages
> 5120
>
>
> But , If I run in the below command, it will run successful.
>
> $*sudo* ./build/l2fwd -c 0x1 -n 4 -- -p 0x1
>
> But, I dont want to run l2fwd in sudo mode.
A few extra capabilities are necessary in order to start a DPDK application
as an unprivileged user (as opposed to starting it as root before dropping
unwanted privileges).
Both mlx4 and mlx5 PMDs require CAP_NET_ADMIN, CAP_NET_RAW and CAP_IPC_LOCK
respectively to fiddle with their associated kernel netdevice, create queues
for any kind of traffic and lock memory (the last one is not necessarily
needed when running with --no-huge).
If acceptable for your application, then you may try something like:
root# setcap cap_net_admin,cap_net_raw,cap_ipc_lock=ep ./build/l2fwd
user$ ./build/l2fwd [...]
Note the described approach adds capabilities through extended device
attributes on the file system (those are rarely preserved when copying
files). While finer grained than "chmod +s", you still need to carefully
consider the security implications, trust the program and its users.
Have a look at man capabilities(7).
--
Adrien Mazarguil
6WIND
next prev parent reply other threads:[~2018-04-23 11:25 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-23 10:03 Tao Peng
2018-04-23 11:24 ` Adrien Mazarguil [this message]
2018-04-23 14:45 ` Tao Peng
2018-04-24 2:24 ` Tao Peng
2018-05-18 13:50 ` Adrien Mazarguil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180423112457.GM4957@6wind.com \
--to=adrien.mazarguil@6wind.com \
--cc=dev.pengtao@gmail.com \
--cc=users@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).