This patch contains the initial release of the Link Bonding PMD Library Supporting bonding modes: 0 - Round Robin 1 - Active Backup 2 - Balance (Supporting 3 transmission polices) layer 2, layer 2+3, layer 3+4 3 - Broadcast
Version 3 of this patch set add the following functionality changes - Link bonding command line option parsing / initialization support - Unique name identifier to rte_eth_dev_data struct to identify virtual ethdev's which are to be added to bondded device from command line. - Updates to EAL to support initialization of link bonding devices Patch Set Description: 0001 - librte_pmd_bond + makefile changes 0002 - librte_eal / librte_ether changes to support bonding device intialization 0003 - link bonding unti test suite 0004 - testpmd link bonding support changes 0005 - doxygen additions app/test-pmd/cmdline.c | 571 ++++ app/test-pmd/config.c | 4 +- app/test-pmd/parameters.c | 3 + app/test-pmd/testpmd.c | 37 +- app/test-pmd/testpmd.h | 2 + app/test/Makefile | 4 +- app/test/commands.c | 7 + app/test/packet_burst_generator.c | 288 ++ app/test/packet_burst_generator.h | 78 + app/test/test.h | 1 + app/test/test_link_bonding.c | 3958 +++++++++++++++++++++++++++ app/test/virtual_pmd.c | 574 ++++ 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_eal/common/eal_common_dev.c | 66 +- lib/librte_eal/common/eal_common_pci.c | 6 + lib/librte_eal/common/include/eal_private.h | 7 + lib/librte_eal/common/include/rte_dev.h | 1 + lib/librte_ether/rte_ethdev.c | 34 +- lib/librte_ether/rte_ethdev.h | 7 +- lib/librte_pmd_bond/Makefile | 32 + lib/librte_pmd_bond/rte_eth_bond.c | 2149 +++++++++++++++ lib/librte_pmd_bond/rte_eth_bond.h | 255 ++ lib/librte_pmd_pcap/rte_eth_pcap.c | 22 +- lib/librte_pmd_ring/rte_eth_ring.c | 32 +- lib/librte_pmd_ring/rte_eth_ring.h | 3 +- lib/librte_pmd_xenvirt/rte_eth_xenvirt.c | 2 +- mk/rte.app.mk | 5 + 32 files changed, 8192 insertions(+), 43 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_pmd_bond/Makefile create mode 100644 lib/librte_pmd_bond/rte_eth_bond.c create mode 100644 lib/librte_pmd_bond/rte_eth_bond.h -- 1.8.5.3