I agree with this but here is the following example:

    odp_pktio_default_cos_set(pktio1, cos1);
    pmr1 = odp_pmr_create_match(..., cos1, cos3);

then pmr2 = = odp_pmr_create_match(..., cos3, cos4);

This means:

Pktio--->cos1--->pmr1--->cos3----->pmr2---->cos4


But nothing stops a user to first create pmr2, which at the beginning is not 
connected to anything-
because the two cos-es are not bound to anything at the beginning.
So in this case the pmr is a pure abstraction that will be initialized later.

Looking at the proposed changes I finally understood that the pmr is a pair of 
input/output coses.
So when I say (cos1, cos3) , there is a pmr and only one that has these coses 
assigned as source and dest.
But this means that the pattern matching rule becomes dependent on input and 
output decision points(coses).
In this case we are not able to have the initial flexibility and assign an 
input decision point to any created pmr.
That means we could not have two different coses pointing to the same pmr. And 
this is a very likely scenario in an
ACL example: there are multiple destinations (coses) which at a point in time 
can be changed to direct frames to a
Specific filter rule. So there is no need to create multiple rules. 


-----Original Message-----
From: Taras Kondratiuk [mailto:[email protected]] 
Sent: Friday, April 17, 2015 12:01 PM
To: Bulie Radu-Andrei-B37577; Rosenboim, Leonid
Cc: [email protected]; [email protected]
Subject: Re: [lng-odp] [API-NEXT PATCH] api: classification: connect PMR on 
creation

On 04/17/2015 10:10 AM, Radu-Andrei Bulie wrote:
> Hi Taras,
>
> Regarding #2, the initial API was creating a PMR that was bound to 
> nothing. In that case the PMR represented for some platforms a logical 
> abstraction.
> Now after this change the pmrs are bound to the cos "decision diamond" and so 
> is no longer an abstraction.
> Is that right?

Yes, PMR represented an abstraction of a rule configuration (arguments of 
odp_pmr_create_*() functions. The only thing you can do with it is to connect 
to somewhere. So IMO it is just an redundant intermediate abstraction. As Leo 
pointed it is a bit philosophical, so let's focus on issue #1 instead.

After the change PMR abstracts a filter link between CoS'es.
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to