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
