> > For my own curiosity: how user can define his own PROG action? > Is it supposed to be programmed and uplodaded to the NIC by some external tool > (P4 compiler)? > Or does it refer to the set of some predefined functions that given firmware > supports? > Or ... ? > Sorry for probably naive questions, but I found is nearly zero information > inside > DPDK docs about how PROG action supposed to work.
PROG in rte_flow is currently a vendor-defined action interface (name + arguments), not a generic DPDK programming model by itself. So in practice: 1. DPDK/testpmd does not define or upload user code to NIC on its own. 2. testpmd just passes the prog name/argument/payload to the PMD via rte_flow. 3. What that name/arguments means is NIC/firmware specific. 4. Depending on device support, it may map to predefined firmware-exposed functions 5. If the PMD/firmware does not recognize it, flow validate/create will fail.

