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 > >