Hello everyone. I have a question regarding the "Programmable pipeline for new network flows" feature of ConnectX-6 SmartNIC. I want to know how this feature can be manipulated?

In the datasheet paper of CX6 SmartNIC, it says that, ConnectX-6 offers intelligent flexible pipeline capabilities, including a programmable flexible parser and match-action tables that enable hardware offloads for future protocols.

At this end, I want utilize CX6 to implement my new idea about network protocols.

In the designed protocol, the packet header will be rewrited according to the already-sent packet information.

So three questions are imposed for the implementation of the designed protocol:

i) the SmartNIC has to identify all the packets;

ii) the NIC has to store the already-sent statistics, e.g., counters may be needed;

iii) and rewrite the packet header.

My question would be, how to implement the above-mentioned three questions on CX6 SmartNIC ?

I’m looking forward to your answers!

Sincerely, yours

Hi long,

Maybe you can refer to flex parser.

In latest DPDK, the ‘rte flow’ provide some functions for flex.

DPDK community provide more info about this.

https://doc.dpdk.org/guides/prog_guide/rte_flow.html#data-matching-item-types

Regards,

Levei