Ethernet packet compression through DCE on LX2160

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

Ethernet packet compression through DCE on LX2160

471 Views
JeremyGalland
Contributor I

Hi everyone,

I'm new on NXP devices and I would like to compress Ethernet packets received on the LX2160 through the DCE hardware accelerator to forward compressed data on another equipement.

I have already run the DCE examples from the dce.h API, nevertheless, those examples don't allow to compress ethernet packets but only files stored on the LX.

I have studied the DPAA2 architecture and the diferents objects of the DPRC linked to the DCE but for now, I'm not able to understand the required configuration neded to perform my goal.

Does anyone known how to process to configure the network interface of the DPAA2 and the DCE to perform this requirement ?

Thanks in advance.

Regards.

Jérémy

0 Kudos
3 Replies

437 Views
yipingwang
NXP TechSupport
NXP TechSupport

Using DCE to compress/decompress may not be a good use case. There is an overhead and latency of using DCE for small size packets. DCE is best for working with large chuck of data like a file or something like ioctl().

If you still want to use DCE for packet compression, let me know and I will see what demo/reference code that I can find.

 

0 Kudos

421 Views
JeremyGalland
Contributor I

Hi,
Thanks you for your answer. It's really helping.
Do you have any idea of the size limit for which the usage of the DCE would be interesting.
Since the aim of my work is to evaluate the performance of a such configuration, I would be interested to receive a demo if you have one.
Thanks in advance.
Regards.
Jérémy.

 

0 Kudos

409 Views
yipingwang
NXP TechSupport
NXP TechSupport

Since DCE is using a sliding window to maintain the history for compress(4KB) and decompress(32KB), there is no limit of size. DCE is interact with DPAA2 and software, so the limit will be from those interfaces.

e.g. DPAA2 Frame Descriptor has a 32bit  "Frame Data Length" field that is limited to 4GB-1 for long format frames. Again, the OS may impose a limit of data/buffer size.

 

In terms of test code, please refers to:

https://source.codeaurora.org/external/qoriq/qoriq-components/dce/tree/README for reference/test code for DPAA2 DCE In the LSDK software release, there is also a user space utilities for you to interact with DCE.

usr/sbin/dce-api-perf-test

 

lastly, keep in mind the DCE performance is affected by the input. Different input will have different compression/decompression ratio, which will affect the output file size and the time to write the output. i.e. The larger the output, the longer it will take to compress the compression/decompression process. You may want to use some well know file for your test. e.g. https://en.wikipedia.org/wiki/Calgary_corpus

 

0 Kudos