[dpdk-dev] [PATCH v3 0/5] New Reorder Library

Neil Horman nhorman at tuxdriver.com
Sun Feb 8 14:58:33 CET 2015


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



More information about the dev mailing list