The intermediate CoS do not result in queuing since the intent is that the
classifier uses the PMR chains to match a packet to a single CoS, no matter
how many intermediates there might be.  It's the application's
responsibility to ensure that the PMRs are unambiguous in this regard so
there is always a single unique match for every packet.  The final CoS is
always the result of the most specific match.  So a PMR that said TCP
packets go to CoS A and another PMR that said that CoS A with destination
port 1234 goes to CoS B would send TCP packets to CoS A's queue unless they
were also on destination port 1234, in which case they would go to CoS B's
queue.  So packet's don't "arrive" at a PMR.  The PMRs exist to tell the
classifier what sorting into CoSes is desired by the application.  Howe the
implementation achieves this filtering is up to it.

What's not allowed is a PMR that says that TCP packets from PktIO P1 go to
CoS A and another PMR that says that TCP packets from PktIO P1 go to CoS B.

To avoid the intermediates you can use PMR tables instead of individual
rule definitions.  This is an application choice.



On Fri, Oct 24, 2014 at 4:07 AM, Radu-Andrei Bulie <[email protected]
> wrote:

>  Hi,
>
>
>
> I have some questions regarding the classifier  API.
>
>
>
> When creating cascading pmrs, cos parameter is specified – see
> odp_cos_pmr_cos
>
> A cos is basically (as stated in the classifier doc) a target for packets.
>
> One of the elements attached to the cos is the frame queue (or a group of
> frame queues).
>
> When linking a pmr by other pmr the odp_cos_pmr_cos function is used.
>
> In this case,  packets that match let’s say pmr1 will go to cos1 then to
> pmr2 and if there is a match
>
> they will go to cos2. (pmr1 àcos1 àpmr2->cos2)
>
> Why do we need the cos in this situation? Do we make an enqueue to cos1
> then from this enqueue we go to pmr2?(I think that classification should be
> done directly without the scheduler intervention)
>
> Or the cos is seen just as a logical element to link pmr1 with pmr2? In
> this case what is the sense of the  cos’ frame queue  if it is not used?
> Why  not link the pmrs directly without any cos?
>
>
>
> If there is a cascading chain (consider the above one as a snippet in a
> longer chain) what happens if the packets arrive to pmr2 but there is no
> match with it.? They will be dropped?
>
>
>
> Regards,
>
>
>
> Radu
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> http://lists.linaro.org/mailman/listinfo/lng-odp
>
>
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to