Hello ! I am a student and currently working with BlueField-3 SuperNIC and DOCA-2.7.0.
I am studying the flexio packet processor sample recently. The original function of this sample is to modify the packet payload of the received packet and reflect it back.
I modified its function. The modified function is not to make any changes to the packet ,and then forwarded it.
Specifically, I modified the process_packet
function in flexio/packet_processor/dev/flexio_packet_processor_dev.c
. I deleted the code for exchanging mac addresses, IP addresses, ports and modifying the payload in the original code.
There is a problem with the code. According to the smac matching rule, the packet that meets the rule cannot be forwarded successfully and repeatedly enters the DPA receiving queue. I want to know why this happens.
I have some preliminary speculations: As shown in the figure below, this is my speculation on the data flow in the flexio packet processor sample
In addition, the DOCA-2.7 version code does not have TIS-related structural design. It was not until DOCA-2.9 that the relevant API and data structure were designed. Is this the reason for the unexpected code results?
Thank you very much! I would greatly appreciate if you could provide some guidance. Your expertise in this area would be invaluable to help me resolve this issue.