I want to accelerate L2 RLC Segmentation/Reassembly computation using DOCA

Currently, I’m using BlueField-3 DPU and using DOCA.

I want to accelerate and offload L2 RLC Segmentation/Reassembly computation using DOCA, however the only thing I can boost is using DPDK Ring/Buffer Pool, and DOCA DMA.

I tried to make H/W Reassembly/Segmentation Pipeline, but in fact, these pipes could not accelerate the actual operations on H/W, but only doing through CPU.

I also tried to modify doca_flow_actions headers, but there are nothing I can do currently, as I can’t see deeply on the structures of DOCA Flow APIs, or internal actions according to H/W eSwitch Pipelines.

Are there any way or useful reference, examples to harness DOCA (especially DOCA Flow) on these subjects? Or are there any ways to apply H/W DOCA Flow Actions such as DECAP/ENCAP similarly to these Reassembly/Segmentation Actions?

Hey,

With BlueField-3 and DOCA, you can speed up packet movement using DMA and DPDK buffers, and handle simple header changes with ENCAP or DECAP. But L2 RLC segmentation and reassembly still have to run on the CPU, as there’s no hardware support for them. DOCA helps make memory handling and flow management faster, but the actual RLC work can’t be offloaded.

Thanks for sincere reply.
I have one more things to ask: Then, the only thing I can do using DOCA API in these works related to RLC/PDCP/SDAP is just accelerating packet exchanges between H/W (not RLC/PDCP/SDAP computation, but additional operations such as ENCAP and DECAP of GTP-U Tunnel as it is exchanged via F1-U interface between Centralized Unit (CU) and Digital Unit (DU)) and S/W (RLC/PDCP/SDAP compuation) through DOCA DMA or DPA, is it right?