LX2162 DPDK dynamic_dpl.sh for raw devices

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LX2162 DPDK dynamic_dpl.sh for raw devices

Jump to solution
1,119 Views
embedded_eng_
Contributor III

Hi,

I'm running DPDK on a LX2162 based machine.

SW: LSDK-21.08.

Is there a way to create a raw device in DPDK (qDMA) without binding a network device to DPDK?

By running 

export ENABLE_PL_BIT=1
export DPDMAI_COUNT=48
./dynamic_dpl.sh dpmac.X
export DPRC=dprc.2

I'm binding dpmac.X to DPDK, and I have access to the qDMA.

In my setup, I need to have access to the qDMA (raw device), but I don't need to bind any network interface to DPDK.

 

I've tried to access the qDMA device without running dynamic_dpl.sh, and no qDMA device was found..

Is there a way to do so?

The only way I found is to run ./dynamic_dpl.sh with a dpmac that is not connected in my HW.

Is there a "cleaner" way to do so?

Thanks

Labels (1)
Tags (4)
0 Kudos
1 Solution
1,103 Views
yipingwang
NXP TechSupport
NXP TechSupport

Actually, the precondition to run any dpdk based APP should include create the MC objects in README of DPDK.
I suppose customer would not like to use dpmac while executing script dynamic_dpl.sh.
So please try to use a new dpni, below is a sample.

ls-listni
ls-addni -n // in my setup, the new dpni is dpni.2
source /usr/local/dpdk/dpaa2/dynamic_dpl.sh dpni.2
export DPRC=dprc.2
root@localhost:~# dpdk-qdma_demo -v -c 0xa000 -- --packet_size=4096 --test_case=mem_to_mem
EAL: Detected 16 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: RTE Version: 'DPDK 20.11.2'
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
fslmc: Skipping invalid device (power)
EAL: Selected IOVA mode 'VA'
EAL: No available hugepages reported in hugepages-2048kB
EAL: No available hugepages reported in hugepages-32768kB
EAL: No available hugepages reported in hugepages-64kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
PMD: dpni.3: netdev created
EAL: Invalid NUMA socket, default to 0
EAL: No legacy callbacks, legacy socket not created
qdma_parse_long_arg: Pkt size 4096
qdma_parse_long_arg:test case mem_to_mem
qdma_demo_validate_args: Stats core id - 13
Rate:87.99979 cpu freq:2200 MHz
Spend :2000.000 ms
core id:13 g_vqid[13]:0
core id:15 g_vqid[15]:1
Local bufs, g_buf 0x17536d000, g_buf1 0x174f6c000
[15] job ptr 0x174f5f000
test memory size: 0x8000 packets number:1024 packet size: 4096
Local mem phy addr: 17536d000 addr1: 174f6c000 g_jobs[0]:(nil)


Using long format to test: packet size 4096 Bytes, MEM_TO_MEM
Master coreid: 13 ready, now!
Processing coreid: 15 ready, now!

=>Time Spend :3999.999 ms rcvd cnt:16384000
Rate: 134217.766 Mbps OR 4096.001 Kpps
processed on core 15 pkt cnt: 16384000

=>Time Spend :3999.999 ms rcvd cnt:16515072
Rate: 135291.516 Mbps OR 4128.769 Kpps
processed on core 15 pkt cnt: 16515072
^CExiting on signal 2
exit core 15

View solution in original post

0 Kudos
1 Reply
1,104 Views
yipingwang
NXP TechSupport
NXP TechSupport

Actually, the precondition to run any dpdk based APP should include create the MC objects in README of DPDK.
I suppose customer would not like to use dpmac while executing script dynamic_dpl.sh.
So please try to use a new dpni, below is a sample.

ls-listni
ls-addni -n // in my setup, the new dpni is dpni.2
source /usr/local/dpdk/dpaa2/dynamic_dpl.sh dpni.2
export DPRC=dprc.2
root@localhost:~# dpdk-qdma_demo -v -c 0xa000 -- --packet_size=4096 --test_case=mem_to_mem
EAL: Detected 16 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: RTE Version: 'DPDK 20.11.2'
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
fslmc: Skipping invalid device (power)
EAL: Selected IOVA mode 'VA'
EAL: No available hugepages reported in hugepages-2048kB
EAL: No available hugepages reported in hugepages-32768kB
EAL: No available hugepages reported in hugepages-64kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
PMD: dpni.3: netdev created
EAL: Invalid NUMA socket, default to 0
EAL: No legacy callbacks, legacy socket not created
qdma_parse_long_arg: Pkt size 4096
qdma_parse_long_arg:test case mem_to_mem
qdma_demo_validate_args: Stats core id - 13
Rate:87.99979 cpu freq:2200 MHz
Spend :2000.000 ms
core id:13 g_vqid[13]:0
core id:15 g_vqid[15]:1
Local bufs, g_buf 0x17536d000, g_buf1 0x174f6c000
[15] job ptr 0x174f5f000
test memory size: 0x8000 packets number:1024 packet size: 4096
Local mem phy addr: 17536d000 addr1: 174f6c000 g_jobs[0]:(nil)


Using long format to test: packet size 4096 Bytes, MEM_TO_MEM
Master coreid: 13 ready, now!
Processing coreid: 15 ready, now!

=>Time Spend :3999.999 ms rcvd cnt:16384000
Rate: 134217.766 Mbps OR 4096.001 Kpps
processed on core 15 pkt cnt: 16384000

=>Time Spend :3999.999 ms rcvd cnt:16515072
Rate: 135291.516 Mbps OR 4128.769 Kpps
processed on core 15 pkt cnt: 16515072
^CExiting on signal 2
exit core 15

0 Kudos