On Fri, Feb 06, 2015 at 03:05:59PM +0000, Sergio Gonzalez Monroy wrote:
> This series introduces the new reorder library along with unit tests,
> sample app and a new entry in the programmers guide describing the library.
>
> The library provides reordering of mbufs based on their sequence number.
>
> As mention in the patch describing the library, one use case is the
> packet distributor.
> The distributor receives packets, assigns them a sequence number and sends
> them to the workers.
> The workers process those packets and return them to the distributor.
> The distributor collects out-of-order packets from the workers and uses
> this library to reorder the packets based on the sequence number they
> were assigned.
>
> v3:
> - fix copyright date
> - add option to sample app to disable reordering
> - add packet ordering sample guide entry
>
> v2:
> - add programmers guide entry describing the library
> - use malloc instead of memzone to allocate memory
> - modify create and init implementation, init takes a reorder buffer as input
> and create reserves memory and call init.
> - update unit tests
>
> Sergio Gonzalez Monroy (5):
> reorder: new reorder library
> app: New reorder unit test
> examples: new sample app packet_ordering
> doc: new reorder library description
> doc: new packet ordering app description
>
> app/test/Makefile | 2 +
> app/test/test_reorder.c | 393 ++++++++++++++
> config/common_bsdapp | 5 +
> config/common_linuxapp | 5 +
> doc/guides/prog_guide/index.rst | 1 +
> doc/guides/prog_guide/reorder_lib.rst | 115 ++++
> doc/guides/sample_app_ug/index.rst | 1 +
> doc/guides/sample_app_ug/packet_ordering.rst | 102 ++++
> examples/packet_ordering/Makefile | 50 ++
> examples/packet_ordering/main.c | 695
> +++++++++++++++++++++++++
> lib/Makefile | 1 +
> lib/librte_eal/common/include/rte_tailq_elem.h | 2 +
> lib/librte_mbuf/rte_mbuf.h | 3 +
> lib/librte_reorder/Makefile | 50 ++
> lib/librte_reorder/rte_reorder.c | 416 +++++++++++++++
> lib/librte_reorder/rte_reorder.h | 181 +++++++
> mk/rte.app.mk | 4 +
> 17 files changed, 2026 insertions(+)
> create mode 100644 app/test/test_reorder.c
> create mode 100644 doc/guides/prog_guide/reorder_lib.rst
> create mode 100644 doc/guides/sample_app_ug/packet_ordering.rst
> create mode 100644 examples/packet_ordering/Makefile
> create mode 100644 examples/packet_ordering/main.c
> create mode 100644 lib/librte_reorder/Makefile
> create mode 100644 lib/librte_reorder/rte_reorder.c
> create mode 100644 lib/librte_reorder/rte_reorder.h
>
> --
> 1.9.3
>
>
Functionally it looks pretty good. You need to define an export map and
LIBABIVER macro in your makefile though.
Neil