<div dir="auto">It also introduces lots of new test conditions. For example, can a P4 flow be deleted, supersed, or read by a flow created by rte_flow.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 31, 2023, 12:32 PM Ori Kam <<a href="mailto:orika@nvidia.com">orika@nvidia.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi<br>
<br>
> -----Original Message-----<br>
> From: Ferruh Yigit <<a href="mailto:ferruh.yigit@amd.com" target="_blank" rel="noreferrer">ferruh.yigit@amd.com</a>><br>
> Sent: Tuesday, August 29, 2023 1:18 PM<br>
> devices<br>
> <br>
> On 8/29/2023 8:38 AM, Jerin Jacob wrote:<br>
> > On Mon, Aug 28, 2023 at 9:43 PM Dumitrescu, Cristian<br>
> > <<a href="mailto:cristian.dumitrescu@intel.com" target="_blank" rel="noreferrer">cristian.dumitrescu@intel.com</a>> wrote:<br>
> >><br>
> >>>> We just set up a community call for next week to discuss in more details<br>
> the<br>
> >>>> proposal for RTE_FLOW extensions to support P4-programmable devices<br>
> >>>> <a href="https://mails.dpdk.org/archives/dev/2023-August/273703.html" rel="noreferrer noreferrer" target="_blank">https://mails.dpdk.org/archives/dev/2023-August/273703.html</a> and look<br>
> for<br>
> >>>> ways to converge and make progress.<br>
> >>>><br>
> >>>> All the people from To: and CC: are already invited. To avoid cluttering<br>
> >>> people's<br>
> >>>> calendars, I did not add <a href="mailto:dev@dpdk.org" target="_blank" rel="noreferrer">dev@dpdk.org</a>, so if anybody else wants to attend,<br>
> >>>> please send me a private email and I will be happy to forward the invite.<br>
> >>>><br>
> >>>> Thanks,<br>
> >>>> Cristian<br>
> >><br>
> >> Attendees: Morten Brorup, Jerin Jacob, Anoob Joseph, Vipin Varghese, Qi<br>
> Zhang,<br>
> >> Cristian Dumitrescu<br>
> >><br>
> >> 1. Ori (RTE_FLOW maintainer) and others were not present, probably on<br>
> vacation,<br>
> >> hopefully they will be able to attend the next call on this topic. Ferruh had a<br>
> last<br>
> >> minute conflict that he could not avoid.<br>
> >><br>
> >> 2. Cristian presented a few slides (attached) with the problem statement,<br>
> current<br>
> >> RTE_FLOW gaps for P4-programmable devices and the list of current<br>
> solution<br>
> >> proposals.<br>
> >><br>
> >> 3. Everybody on the call agreed that the P4-programmable devices from<br>
> Intel,<br>
> >> AMD and others need to be fully supported by DPDK and that there are<br>
> some<br>
> >> gaps in RTE_FLOW to be fixed for supporting these devices.<br>
> ><br>
> > Personally, It makes sense to me to have normative DPDK API to send p4<br>
> > runtime message to the<br>
> > ethdev so that we have "vendor neutral + DPDK based" p4 runtime backend.<br>
> ><br>
> > I prefer to have specialized ethdev ops for this due to the following reasons.<br>
> ><br>
> > # If the ethdev has both real TCAM based HW(for existing rte_flow<br>
> > patterns and actions) and SW agent to receive P4 runtime message etc.<br>
> > Typically, it needs to take a different path in driver to talk. Assume, if you<br>
> > have cascaded patterns/actions, One is targeted for TCAM and other for<br>
> > SW agent for p4, one<br>
> > need to have serious amount checking for dispatching.It complicates<br>
> > the driver and forbid to have<br>
> > driver optimization especially cases for templates etc. if user making<br>
> > rules for both category of HW.<br>
> ><br>
> <br>
> Indeed I am not against dedicated APIs for P4 runtime backend.<br>
> <br>
> But assuming there is a dedicated rte_flow item for P4, how it is<br>
> different than dedicated API in above scenario?<br>
> If driver detects P4 runtime specific rule, it can bail it out to SW agent.<br>
> Can you please elaborate the complexity it introduces?<br>
> <br>
> > # All we need "char buffer//string" based communication ethdev <-> app.<br>
> ><br>
> <br>
> Yes, and both a dedicated API or dedicated rte_flow item can provide<br>
> medium for this communication.<br>
> <br>
> rte_flow one has flexibility & extensibility advantages, but maybe not<br>
> as straightforward as an API.<br>
<br>
I think not using the rte_flow will also require duplication of all the rule handling functions and table creations, for example aync rule create/destroy query ......<br>
<br>
</blockquote></div>