Life of a Packet in DPAA2 on LS1088?

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

Life of a Packet in DPAA2 on LS1088?

936 Views
janarbek_matai
Contributor III

Hi All,

I am trying to understand few basic functionalities of DPAA2 on LS1088. 

Specifically, I am interested in understanding answers of following questions:

1) How to DMA the packets coming from a MAC in WRIOP to DDR? My understanding is that we can do this a in a number of ways. One way is configuring DPAA2 wit resttoolso that it can write the data on DMA. 

2) What is the life of a packet in DPAA2? 

3) Is there a simple example to program AIOP in C? There are a number of C apps (e.g., header manipulation) in the /usr/aiop/. I am looking for more a "Hello World" app for the AIOP.

Thanks,

JM. 

Labels (1)
0 Kudos
2 Replies

682 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello JM,

Please refer to the following life of an Ingress Packet, please refer to the attached WRIOP architecture.

1. WRIOP receives packets

Allocates internal buffers

Retrieves data from MAC

            2. Parse+classify select a queue and policer profile

Acquires a buffer from BMan

Uses DMA to store data in it

3. Policer “colors” and optionally discards frame

4. QMan applies active queue management and enqueues frame

5. Frame is enqueued to one of a pool of cores

             6. Available core dequeue FD for processing

Please refer to the attached hello_world application from aiopsl package.

In the LSDK build environment, please execute "flex-builder -c aiopsl -a arm64 " to get the source code in the folder flexbuild_<date>/packages/apps/aiopsl/apps.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

682 Views
janarbek_matai
Contributor III

Hi Yiping,

Thank you very much for the pdf and hello world app for the AIOP. I do have 2 follow up questions to clarify my understanding.

1) Does the WRIOP writes ingress packets to a fixed location in DDR? 

2) If not how to make the WRIOP to write packets coming from ETH8 to a memory address at X on LS1088 (Assume X is any valid memory address in DDR)? I know WRIOP has Buffer manager and allocates memory, and might be writing the data already to DDR to some memory address.

3) Is it possible to set this address in DDR and size of this buffer from the user space for the WRIOP? I have tried "restool", and I also explored the objects created by restool. I have not able to find any definite reference that points me to set the address and size of the buffer pool for the ingress flow (incoming packets).

4) How to compile and run the Hello World on AIOP of LS1088? 

Thanks,

JM.  

0 Kudos