Is DOCA Flow a P4 DSL analog on BlueField - 2/3?

Hello!

I’am trying to understand applicability of BlueField to some Data Plane networking tasks. As i see, DOCA Flow is very similar to P4 DSL with it match-action-forward principle. But the difference is that in P4 actions we can use values from incoming packets and in DOCA Flow we can’t compute values for doca_flow_actions on entry creation based on incomig packet values. As i understand, if i want similar P4 actions logic on BlueField:

  1. all missed packets needs to be handled on RSS pipes on ARM cores when we compute values for doca_flow_actions and create and doca_flow_entry;
  2. after creating a doca_flow_entry the processed packet needs to be sended back when it will be handled by HW entry.

It is silimar to what doca_simple_forward_vnf do. Please correct me if i wrong in these points.

If i’m not wrong, than i have questions:

  1. Does this logic create overhead in comparison to P4 ?
  2. How P4 handles computations in actions? Is this computations executed on CPU?
  3. Is BlueField suitable for CPU intensive netwotking tasks (e.g SYN Cookies) ? Or is it meant for other things?

Thanks for your replies and i’m sorry for my bad english.

Hi @collofdu2 ,

I hope you are doing well!

Actually it’s not suitable for the direct comparison between P4 and BlueField. They are for different scenarios.

You can find more documents about BlueField at NVidia official websites, such as NVIDIA BlueField BMC Software v24.10-LTSU3 - NVIDIA Docs

It‘s hard to say whether BlueField is suitable for some tasks, it all depends on your needs and many details. You can try to list what features you need about your scenario and compare them with what BlueField provides, then you may find the answer.

Best Regards!