*And when I run testpmd , I get the same error:*
$./testpmd -c 0xff00 -n 4 -- --rxq=2 --txq=2 -i 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 And, when I use 'sudo', the error will disappeared. $sudo ./testpmd -c 0xff00 -n 4 -- --rxq=2 --txq=2 -i EAL: Detected 64 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... 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: MPS is enabled PMD: net_mlx5: port 1 MAC address is 24:8a:07:b7:4e:3e 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: MPS is enabled PMD: net_mlx5: port 1 MAC address is 24:8a:07:b7:4e:3e 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: MPS is enabled PMD: net_mlx5: port 1 MAC address is 24:8a:07:b7:62:0a 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: MPS is enabled 2018-04-23 22:45 GMT+08:00 Tao Peng <[email protected]>: > thanks for your reply. :) > > I try to 'setcap' for ./build/l2fwd, but, I get the same error. :( > > 1. > sudo setcap cap_net_admin,cap_net_raw,cap_ipc_lock=ep ./build/l2fwd > > 2. > > $getcap ./build/l2fwd > ./build/l2fwd = cap_net_admin,cap_net_raw,cap_ipc_lock+ep > > 3. > $./build/l2fwd -c 0x1 -n 4 -- -p 0x1 > > 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 > > 2018-04-23 19:24 GMT+08:00 Adrien Mazarguil <[email protected]>: > >> 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 >> > >
