[dpdk-dev] [PATCH 0/4] Link Bonding Library

Neil Horman nhorman at tuxdriver.com
Wed May 28 19:49:08 CEST 2014


On Wed, May 28, 2014 at 04:32:00PM +0100, declan.doherty at intel.com wrote:
> From: Declan Doherty <declan.doherty at intel.com>
> 
> Initial release of Link Bonding Library (lib/librte_bond) with support for 
> bonding modes :
>  0 - Round Robin
>  1 - Active Backup
>  2 - Balance l2 / l23 / l34 
>  3 - Broadcast
> 
Why make this a separate library?  That requires exposure of yet another API to
applications.  Instead, why not write a PMD that can enslave other PMD's and
treat them all as a single interface?  That way this all works with the existing
API.

Neil

> patches split:
>  1 - library + makefile changes
>  2 - Unit test suite, including code to generate packet bursts for
>     testing rx and tx functionality of bonded device and a
>     virtual/stubbed out ethdev for use as slave ethdev in testing
>  3 - Link bonding integration into testpmd, including :
>      - Includes the ability to  create new bonded devices.
>      - Add /remove bonding slave devices. 
>      - Interogate bonded device stats/configuration
>      - Change bonding modes and select balance transmit polices
>  4 - Add Link Bonding Library to Doxygen
> 
> 
>  app/test-pmd/cmdline.c            |  550 +++++
>  app/test-pmd/parameters.c         |    4 +-
>  app/test-pmd/testpmd.c            |   28 +-
>  app/test-pmd/testpmd.h            |    2 +
>  app/test/Makefile                 |    3 +
>  app/test/commands.c               |    3 +
>  app/test/packet_burst_generator.c |  276 +++
>  app/test/packet_burst_generator.h |   85 +
>  app/test/test.h                   |    1 +
>  app/test/test_link_bonding.c      | 4007 +++++++++++++++++++++++++++++++++++++
>  app/test/virtual_pmd.c            |  580 ++++++
>  app/test/virtual_pmd.h            |   74 +
>  config/common_bsdapp              |    5 +
>  config/common_linuxapp            |    5 +
>  doc/doxy-api-index.md             |    1 +
>  doc/doxy-api.conf                 |    1 +
>  lib/Makefile                      |    1 +
>  lib/librte_bond/Makefile          |   28 +
>  lib/librte_bond/rte_bond.c        | 1679 ++++++++++++++++
>  lib/librte_bond/rte_bond.h        |  228 +++
>  mk/rte.app.mk                     |    5 +
>  21 files changed, 7564 insertions(+), 2 deletions(-)
>  create mode 100644 app/test/packet_burst_generator.c
>  create mode 100644 app/test/packet_burst_generator.h
>  create mode 100644 app/test/test_link_bonding.c
>  create mode 100644 app/test/virtual_pmd.c
>  create mode 100644 app/test/virtual_pmd.h
>  create mode 100644 lib/librte_bond/Makefile
>  create mode 100644 lib/librte_bond/rte_bond.c
>  create mode 100644 lib/librte_bond/rte_bond.h
> 
> -- 
> 1.8.5.3
> 
> 


More information about the dev mailing list