Hi folks,

> -----Original Message-----
> From: Ori Kam <or...@nvidia.com>
> Sent: Tuesday, June 20, 2023 12:11 PM
> To: Jerin Jacob <jerinjac...@gmail.com>; Zhang, Qi Z
> <qi.z.zh...@intel.com>
> Cc: Dumitrescu, Cristian <cristian.dumitre...@intel.com>; NBU-Contact-
> Thomas Monjalon (EXTERNAL) <tho...@monjalon.net>;
> david.march...@redhat.com; Richardson, Bruce
> <bruce.richard...@intel.com>; jer...@marvell.com; ferruh.yi...@amd.com;
> Mcnamara, John <john.mcnam...@intel.com>; Zhang, Helin
> <helin.zh...@intel.com>; techbo...@dpdk.org; dev@dpdk.org; Ivan Malov
> <ivan.ma...@arknetworks.am>
> Subject: RE: [RFC] lib/ethdev: introduce table driven APIs
> 
<snip>

> >
> > Yes. We need to change the backend compiler to understand the rte_flow
> > mapping to p4 to avoid any translation cost.
> +1
> I think the idea is that the complier will convert to rte_flow and supply some
> mapping file so when application uses some name it will be translated to the
> correct
> preconfigured rte_flow action

Sorry to join late to this thread.

Let me try to clarify the role of the P4 compiler:

1. P4 compiler is for the data path only, while this proposal is for a control 
path API.

2. The P4 program simply defines the data path pipeline, i.e. the table 
topology that
Ivan was mentioning. The P4 compiler takes this P4 program as input and 
translates
it to a sort of firmware that the HW understands and loads to create that data 
path.

3. The P4 program defines the key and action formats for each table, but it 
does NOT
contain the set of entries (key/action pairs) for each table; the actual table 
entries are
populated post-init by the user using a control path API such as RTE_FLOW or 
other.

So what Qi's proposal is about is a control path API to populate the tables, an 
API that
is similar to the RTE_FLOW API, and not about a data path API to define a 
topology of
tables (the table topology is either hardcoded at HW design time or configured 
in HW at
init time by "firmware" produced by the P4 compiler out of a P4 program).

Makes sense?

Regards,
Cristian

Reply via email to