[dpdk-dev] [PATCH RFC] librte_reorder: new reorder library

Matthew Hall mhall at mhcomputing.net
Thu Oct 9 19:21:35 CEST 2014


On Thu, Oct 09, 2014 at 12:09:42PM -0400, Neil Horman wrote:
> From what you've said above, sequence assignment needs to occur prior to any
> order breaking event.  That means you either need to do it in individual PMD's
> on RX, or in the rte_eth library if you want to make it common.  On the TX side
> you need to ensure that the application applies sequence numbers uniquely and in
> a predictable fashion in order for the library to work.  that seems like a large
> external requirement for this functionality to work, and I was wondering how you
> were going to address that.

To me it seems like the actualy mechanism of applying the sequence number to 
the packet belongs in librte_reorder or librte_mbuf.

Then, a config define or runtime setting should be used to determine if the 
operation actually does something or becomes a no-op. Likely a define is 
needed so the compiler can optimize the code out when it's not used, like for 
RSS-based cases like mine.

If the type of sequencing needed could be applied during allocation from the 
pool, that would be nice because it would be transparent, as long as the PMD's 
retrieved their new mbuf's the right way.

If the sequencing to be applied based on properties from L4-L7, then it seems 
like the distributor would have to be sure to do call the right functions 
itself, as would other customers, because there'd be no way to magically get 
them right before you've looked at L4-L7 data first.

Matthew.


More information about the dev mailing list