From: lng-odp [mailto:[email protected]] On Behalf Of ext Ola 
Liljedahl
Sent: Wednesday, May 13, 2015 6:47 PM
To: Agarwal Nikhil Agarwal
Cc: [email protected]
Subject: Re: [lng-odp] Query regarding sequence number update in IPSEC 
application

On 13 May 2015 at 11:51, Agarwal Nikhil Agarwal 
<[email protected]<mailto:[email protected]>> wrote:

My current concerns is w.r.t the ipsec example use case only. Usages of atomic 
queues may be demonstrated by other specific example.
Also even if we use atomic queues for sequence number it cannot guarantee the 
ingress order preservation if incoming packets are picked up by different cores 
and submitted to seq number queue in different order.
Those incoming packets should be put onto ordered queues. When CPU's have done 
the first stage of processing and need to allocate the sequence number, they 
enqueue the packets on an atomic queue (one atomic queue per SA but different 
SA's could also share atomic queues, this could limit parallelism). Since the 
packets come from ordered queues, packet ordering will be maintained.

The next stage of processing just allocates a sequence number from a normal 
variable. The atomic scheduling will also preserve ingress order (as Bala also 
wrote) when packets are enqueued again (normally only one packet at a time from 
an atomic queue would be outstanding and enqueued before the next packet is 
dispatched).

-- Ola


Packet order is automatically maintained, if incoming packets are classified 
into atomic or ordered queues directly. Input HW (incl. classifier) must remain 
packet order. Ordering problems arise and has to be handled in SW, if cores 
poll (shared) interfaces directly or use non-ordered/atomic queues.

-Petri



_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to