DPAA2 DPDK RTE FLOW

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

DPAA2 DPDK RTE FLOW

92 Views
dehml
Contributor I

Hello,

I'm trying to create DPDK RTE FLOW on a DPAA2 SolidRun LX2160A Clearfog CX without success.
Is it normal that it doesn't work ?
What could be done to make it works ?

I'm quite newbie with NXP DPAA2 and NXP in general, so can you please explain your technical words.

Thanks.

testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss queues 0 1 end types ip ipv4 end / end
DPAA2_NET: Add entry(0) to table(0) failed
DPAA2_NET: Create flow failed (-22)
port_flow_complain(): Caught PMD error type 1 (cause unspecified): cause: 0xfffff340a300, unknown: Operation not permitted 

 

Tags (5)
0 Kudos
Reply
2 Replies

49 Views
yipingwang
NXP TechSupport
NXP TechSupport

Check how the DPNI behind your DPDK port was created. From the Linux shell on the board:

restool dprc show dprc.1 --resources          # find the dpni.X your DPDK port uses

restool dpni info dpni.X                      # look at the "options" line and "num_queues"

If options shows DPNI_OPT_NO_FS , or does not show DPNI_OPT_HAS_KEY_MASKING , that's your problem.

Recreate the DPNI with the right options. Either edit dynamic_dpl.sh (or the environment it reads — on NXP LSDK it is typically the DPNI_OPTIONS variable) so the create call looks like this :

restool dpni create \

    --options=DPNI_OPT_HAS_KEY_MASKING \

    --num-queues=2 \

    --num-tcs=1 \

    --container=dprc.2

Key points:

    • Do not include DPNI_OPT_NO_FS .
    • Do include DPNI_OPT_HAS_KEY_MASKING .
    • Set --num-queues to at least the number of queues your RSS action references (you asked for queues 0 and 1, so ≥ 2).

Then attach that DPNI to the DPDK container ( restool dprc assign … ) and rerun testpmd.

If you use a static DPL file , add the same to the dpni@X node :

 dpni@1 {

  options = "DPNI_OPT_HAS_KEY_MASKING";

    num_queues = <2>;

    ...

};

 

and reflash the DPL via fsl_mc apply dpl … in U‑Boot.

Sanity‑check with a simpler rule first. Before RSS, confirm plain steering works:

 testpmd> flow create 0 ingress pattern eth / ipv4 src is 10.0.0.1 / end \

                     actions queue index 1 / end

 

If this passes but the RSS variant still fails, the remaining issue is queue count / distribution config, not the DPNI options.

0 Kudos
Reply

72 Views
db16122
Contributor IV

https://www.nxp.com/webapp/Download?colCode=DPAA2UM&location=null

DPAA2 User Manual could be helpful

BTW. what kind of BSP or SDK is used? Any resource from official websit?

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2399170%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EDPAA2%20DPDK%20RTE%20FLOW%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2399170%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%3CP%3EI'm%20trying%20to%20create%20DPDK%20RTE%20FLOW%20on%20a%20DPAA2%20SolidRun%20LX2160A%20Clearfog%20CX%20without%20success.%3CBR%20%2F%3EIs%20it%20normal%20that%20it%20doesn't%20work%20%3F%3CBR%20%2F%3EWhat%20could%20be%20done%20to%20make%20it%20works%20%3F%3C%2FP%3E%3CP%3EI'm%20quite%20newbie%20with%20NXP%20DPAA2%20and%20NXP%20in%20general%2C%20so%20can%20you%20please%20explain%20your%20technical%20words.%3C%2FP%3E%3CP%3EThanks.%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Etestpmd%26gt%3B%20flow%20create%200%20ingress%20pattern%20eth%20%2F%20ipv4%20%2F%20end%20actions%20rss%20queues%200%201%20end%20types%20ip%20ipv4%20end%20%2F%20end%0ADPAA2_NET%3A%20Add%20entry(0)%20to%20table(0)%20failed%0ADPAA2_NET%3A%20Create%20flow%20failed%20(-22)%0Aport_flow_complain()%3A%20Caught%20PMD%20error%20type%201%20(cause%20unspecified)%3A%20cause%3A%200xfffff340a300%2C%20unknown%3A%20Operation%20not%20permitted%20%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2399459%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20DPAA2%20DPDK%20RTE%20FLOW%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2399459%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSTRONG%3ECheck%20how%20the%20DPNI%20behind%20your%20DPDK%20port%20was%20created.%3C%2FSTRONG%3E%26nbsp%3BFrom%20the%20Linux%20shell%20on%20the%20board%3A%3C%2FP%3E%0A%3CP%3Erestool%20dprc%20show%20dprc.1%20--resources%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%23%20find%20the%20dpni.X%20your%20DPDK%20port%20uses%3C%2FP%3E%0A%3CP%3Erestool%20dpni%20info%20dpni.X%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%23%20look%20at%20the%20%22options%22%20line%20and%20%22num_queues%22%3C%2FP%3E%0A%3CP%3EIf%26nbsp%3Boptions%26nbsp%3Bshows%26nbsp%3BDPNI_OPT_NO_FS%26nbsp%3B%2C%20or%20does%26nbsp%3B%3CSTRONG%3Enot%3C%2FSTRONG%3E%26nbsp%3Bshow%26nbsp%3BDPNI_OPT_HAS_KEY_MASKING%26nbsp%3B%2C%20that's%20your%20problem.%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3ERecreate%20the%20DPNI%20with%20the%20right%20options.%3C%2FSTRONG%3E%26nbsp%3BEither%20edit%26nbsp%3Bdynamic_dpl.sh%26nbsp%3B(or%20the%20environment%20it%20reads%20%E2%80%94%20on%20NXP%20LSDK%20it%20is%20typically%20the%26nbsp%3BDPNI_OPTIONS%26nbsp%3Bvariable)%20so%20the%20create%20call%20looks%20like%20this%26nbsp%3B%3A%3C%2FP%3E%0A%3CP%3Erestool%20dpni%20create%20%5C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20--options%3DDPNI_OPT_HAS_KEY_MASKING%20%5C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20--num-queues%3D2%20%5C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20--num-tcs%3D1%20%5C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20--container%3Ddprc.2%3C%2FP%3E%0A%3CP%3EKey%20points%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CUL%3E%0A%3CLI%3E%3CSTRONG%3EDo%20not%20include%3C%2FSTRONG%3E%26nbsp%3BDPNI_OPT_NO_FS%26nbsp%3B.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FUL%3E%0A%3CUL%3E%0A%3CUL%3E%0A%3CLI%3E%3CSTRONG%3EDo%20include%3C%2FSTRONG%3E%26nbsp%3BDPNI_OPT_HAS_KEY_MASKING%26nbsp%3B.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FUL%3E%0A%3CUL%3E%0A%3CUL%3E%0A%3CLI%3ESet%26nbsp%3B--num-queues%26nbsp%3Bto%20at%20least%20the%20number%20of%20queues%20your%20RSS%20action%20references%20(you%20asked%20for%20queues%200%20and%201%2C%20so%20%E2%89%A5%202).%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FUL%3E%0A%3CP%3EThen%20attach%20that%20DPNI%20to%20the%20DPDK%20container%20(%26nbsp%3Brestool%20dprc%20assign%20%E2%80%A6%26nbsp%3B)%20and%20rerun%20testpmd.%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EIf%20you%20use%20a%20static%20DPL%20file%3C%2FSTRONG%3E%26nbsp%3B%2C%20add%20the%20same%20to%20the%26nbsp%3Bdpni%40X%26nbsp%3Bnode%26nbsp%3B%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3Bdpni%401%20%7B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%20options%20%3D%20%22DPNI_OPT_HAS_KEY_MASKING%22%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20num_queues%20%3D%20%26lt%3B2%26gt%3B%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20...%3C%2FP%3E%0A%3CP%3E%7D%3B%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3Eand%20reflash%20the%20DPL%20via%26nbsp%3Bfsl_mc%20apply%20dpl%20%E2%80%A6%26nbsp%3Bin%20U%E2%80%91Boot.%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3ESanity%E2%80%91check%20with%20a%20simpler%20rule%20first.%3C%2FSTRONG%3E%26nbsp%3BBefore%20RSS%2C%20confirm%20plain%20steering%20works%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3Btestpmd%26gt%3B%20flow%20create%200%20ingress%20pattern%20eth%20%2F%20ipv4%20src%20is%2010.0.0.1%20%2F%20end%20%5C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bactions%20queue%20index%201%20%2F%20end%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EIf%20this%20passes%20but%20the%20RSS%20variant%20still%20fails%2C%20the%20remaining%20issue%20is%20queue%20count%20%2F%20distribution%20config%2C%20not%20the%20DPNI%20options.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2399194%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20DPAA2%20DPDK%20RTE%20FLOW%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2399194%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DDPAA2UM%26amp%3Blocation%3Dnull%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DDPAA2UM%26amp%3Blocation%3Dnull%3C%2FA%3E%3C%2FP%3E%3CP%3EDPAA2%20User%20Manual%20could%20be%20helpful%3C%2FP%3E%3CP%3EBTW.%20what%20kind%20of%20BSP%20or%20SDK%20is%20used%3F%20Any%20resource%20from%20official%20websit%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E