[dpdk-dev] [PATCH v6 0/8] link bonding

2014-11-21 Thread Thomas Monjalon
2014-11-21 17:07, Doherty, Declan:
> Hey Thomas, have you had a chance to have a look at this patchset, if you
> have any comments or issues can you let me know asap, as the patch sets for
> link bonding modes 4 & 5 are dependent on this set and I don't want to be
> blocking them from the next release candidate.

Declan, your patchset doesn't touch anything else than the bonding area
(except socket_id parameter in testpmd), it is acked and it has a test
report since today.
You are the author (and implicit maintainer) of bonding, so I consider
I don't need to review this patchset.

Conclusion: yes, it should be applied shortly.

-- 
Thomas


[dpdk-dev] [PATCH v6 0/8] link bonding

2014-11-21 Thread Doherty, Declan
Hey Thomas, have you had a chance to have a look at this patchset, if you have 
any comments or issues can you let me know asap, as the patch sets for link 
bonding modes 4 & 5 are dependent on this set and I don't want to be blocking 
them from the next release candidate.

Thanks 
Declan

> -Original Message-
> From: De Lara Guarch, Pablo
> Sent: Friday, November 7, 2014 4:41 PM
> To: Doherty, Declan; dev at dpdk.org
> Cc: thomas.monjalon at 6wind.com
> Subject: RE: [PATCH v6 0/8] link bonding
> 
> 
> 
> > -Original Message-
> > From: Doherty, Declan
> > Sent: Friday, November 07, 2014 12:23 PM
> > To: dev at dpdk.org
> > Cc: De Lara Guarch, Pablo; thomas.monjalon at 6wind.com; Doherty, Declan
> > Subject: [PATCH v6 0/8] link bonding
> >
> > v6:
> > - Re-based to dpdk.org addressing associated issues for MBUF_REFCNT
> > - Added details to testpmd user guide for new command to set link status
> > polling interval.
> >
> > v5:
> > - Fix uninitialized variable in broadcast_tx_burst function which caused a
> >   build error in 32-bit build
> > - Address unit test issue which is exposed by new test in mode 4/5 patch 
> > sets
> >
> > v4:
> > - Rebased to account for changes in master.
> > - Fix for rte_eth_bond_slaves_get() introduced in v3 patch set
> > - Addressed issue around disabling/enabling link status polling around
> > adding/
> >   removing slaves devices.
> >
> > v3 :
> > - Typo fix for the bond free mbufs patch.
> > - Rebased to account for changes in the mbuf patches.
> > - Add support for slave devices which don't support link status interrupts
> > - Tidy up the link bonding unit test so that all tests use the new test 
> > macros.
> >
> > v2 :
> > Addresses issues with the logic around the handling of fail transmissions.
> > In this version all modes behave in a manner similar to a standard PMD,
> > returning the number of successfully transmitted mbufs and with the failing
> > mbufs at the end of bufs array for freeing / retransmission by the
> > application software
> >
> > v1:
> >
> > This patch set adds support for link status interrupt in the link bonding
> > pmd. It also contains some patches to tidy up the code structure and to
> > of the link bonding code and to fix bugs relating to transmission
> > failures in the under lying slave pmd which could lead to leaked mbufs.
> >
> >
> > Declan Doherty (8):
> >   bond: link status interrupt support
> >   bond: removing switch statement from rx burst method
> >   bond: fix naming inconsistency in tx_burst_round_robin
> >   bond: free mbufs if transmission fails in bonding tx_burst functions
> >   test app: adding support for generating variable sized packet
> >   testpmd: adding parameter to reconfig method to set socket_id when
> > adding new port to portlist
> >   bond: lsc polling support
> >   bond: unit test test macro refactor
> >
> >  app/test-pmd/cmdline.c  |   65 +-
> >  app/test-pmd/testpmd.c  |3 +-
> >  app/test-pmd/testpmd.h  |2 +-
> >  app/test/packet_burst_generator.c   |   25 +-
> >  app/test/packet_burst_generator.h   |6 +-
> >  app/test/test.h |7 +-
> >  app/test/test_link_bonding.c| 3347 
> > ++-
> >  app/test/virtual_pmd.c  |   96 +-
> >  app/test/virtual_pmd.h  |   53 +-
> >  doc/guides/testpmd_app_ug/testpmd_funcs.rst |   19 +
> >  lib/librte_pmd_bond/rte_eth_bond.h  |   80 +
> >  lib/librte_pmd_bond/rte_eth_bond_api.c  |  319 ++-
> >  lib/librte_pmd_bond/rte_eth_bond_args.c |   28 +-
> >  lib/librte_pmd_bond/rte_eth_bond_pmd.c  |  553 +++--
> >  lib/librte_pmd_bond/rte_eth_bond_private.h  |   71 +-
> >  15 files changed, 2715 insertions(+), 1959 deletions(-)
> >
> > --
> > 1.7.12.2
> 
> Acked-by: Pablo de Lara 


[dpdk-dev] [PATCH v6 0/8] link bonding

2014-11-21 Thread Jiajia, SunX
ode 2(Balance XOR) Layer 3+4 forwarding
  Description: 
Use Setup#1.
Use "xmit_hash_policy()" to change to this forwarding mode
Create a stream of traffic which will exercise all slave ports 
using the transmit policy 

 ((SRC_PORT XOR DST_PORT) XOR ((SRC_IP XOR DST_IP) AND 0x) 
% # of Slaves

Transmit data through bonded device, verify TX packet count for 
each slave port is as expected

Create 3 streams on a port which is mapped with unbonded port 3 
at the IXIA end.
  And set different IP by the transmit policy.Then send 100 packets 
on each stream.

   testpmd> show port stats all(Verify port3 have 300 rx packets,
meanwhile port4 have 300 rx packets, port 0-2 
have 100 tx packets respectively)

Add Vlan tag in the previouse 3 streams. Everthing else remains 
the same. 
Then send 100 packets on each stream. Verify the packet statics 
is the same as above.  

  testpmd> show port stats all(Verify port3  
have 300 rx packets,meanwhile port4 have 300 rx packets,port 
0-2 have 100 tx packets respecitvely)
  Expected test result:
Verify the RX/TX status of bonded device and slaves in mode 2.

- Case: Mode 2(Balance XOR) RX test
  Description: 
Use Setup#1.
Send 100 packets to each bonded slaves(port0,1,2)
Verify that each slave receives 100 packets and the bonded 
device receive a total 300 packets.
Verify that the bonded device forwards 300 packets to the 
non-bonded port(port4).

Send 100 packets to port0,1,2 respectively.

testpmd> show port stats all(Verify port0,1,2 have 100 tx 
packets respectively 
and port4 have 300 rx packets,and port3 have 
300 tx packets)

  Expected test result:
Verify the RX/TX status of bonded device and slaves in mode 2.

- Case: Mode 3(Broadcast) TX/RX Test
  Description: 
Use Setup#1.
Add ports 0-2 as slave devices to the bonded port 4. Make all 
slaves
  to be active slaves on bonded device. 

RX: Send a packet stream(100 packets) from port A on the traffic
generator to be forwarded through the bonded port4 to port3.
Verify the sum of the packets transmitted from the traffic 
generator
portA is equal the total received packets on port0, port4 
and portD(Traffic generator).

   testpmd> show port stats all---(Verify port0 receive 100 
packets, 
and port4 receive 100 packets, and port3 
transmit 100 packets)

   TX: Send a packet stream(100 packets) from portD on the traffic 
generator 
   to be forwarded through port3 to the bonded port4. Verify the 
sum of 
   the packets(100packets) transmitted from the traffic generator 
port is equal the total 
   received packets on port4, portA and transmitted to port0.

  testpmd> show port stats all---(Verify port3 RX 100 packets, 
and port0,1,2 TX 100 packets,port4 has 300 TX packets)
  Expected test result:
Verify the RX/TX status of bonded device and slaves in mode 3.


- Case: Mode 3(Broadcast) Bring one slave link down
  Description: 
Use Setup#1.
Bring one slave port link down. Send 100 packets through portD 
to port3,
  then port3 forwards to bondede device(port4), verify that the 
bonded device 
and other slaves TX the correct number of packets(100 packets 
for each port).
  Expected test result:
Verify the RX/TX status of bonded device and slaves in mode 3.

- Case: Mode 3(Broadcast) Bring all slave links down
  Description: 
Use Setup#1.
Bring all slave ports of bonded port down
Verify that bonded callback for link down is called
Verify that data cannot be sent or received through bonded port.
  Expected test result:
Verify the RX/TX status of bonded device and slaves in mode 3.

> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Declan Doherty
> Sent: Friday, November 07, 2014 8:23 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v6 0/8] link bonding
> 
> v6:
> - Re-based to dpdk.org addressing associated issues for MBUF_REFCNT
> - Added details to testpmd user guide for new command to set link
> status polling interval.
> 
> v5:
> - Fix uninitialized variable in broadcast_tx_burst function which
> caused a
>   build error in 32-bit build
> - Address unit test issue which is exposed by new test in mode 4/5
> patch sets
> 
> v4:
> - Rebased to ac

[dpdk-dev] [PATCH v6 0/8] link bonding

2014-11-07 Thread De Lara Guarch, Pablo


> -Original Message-
> From: Doherty, Declan
> Sent: Friday, November 07, 2014 12:23 PM
> To: dev at dpdk.org
> Cc: De Lara Guarch, Pablo; thomas.monjalon at 6wind.com; Doherty, Declan
> Subject: [PATCH v6 0/8] link bonding
> 
> v6:
> - Re-based to dpdk.org addressing associated issues for MBUF_REFCNT
> - Added details to testpmd user guide for new command to set link status
> polling interval.
> 
> v5:
> - Fix uninitialized variable in broadcast_tx_burst function which caused a
>   build error in 32-bit build
> - Address unit test issue which is exposed by new test in mode 4/5 patch sets
> 
> v4:
> - Rebased to account for changes in master.
> - Fix for rte_eth_bond_slaves_get() introduced in v3 patch set
> - Addressed issue around disabling/enabling link status polling around
> adding/
>   removing slaves devices.
> 
> v3 :
> - Typo fix for the bond free mbufs patch.
> - Rebased to account for changes in the mbuf patches.
> - Add support for slave devices which don't support link status interrupts
> - Tidy up the link bonding unit test so that all tests use the new test 
> macros.
> 
> v2 :
> Addresses issues with the logic around the handling of fail transmissions.
> In this version all modes behave in a manner similar to a standard PMD,
> returning the number of successfully transmitted mbufs and with the failing
> mbufs at the end of bufs array for freeing / retransmission by the
> application software
> 
> v1:
> 
> This patch set adds support for link status interrupt in the link bonding
> pmd. It also contains some patches to tidy up the code structure and to
> of the link bonding code and to fix bugs relating to transmission
> failures in the under lying slave pmd which could lead to leaked mbufs.
> 
> 
> Declan Doherty (8):
>   bond: link status interrupt support
>   bond: removing switch statement from rx burst method
>   bond: fix naming inconsistency in tx_burst_round_robin
>   bond: free mbufs if transmission fails in bonding tx_burst functions
>   test app: adding support for generating variable sized packet
>   testpmd: adding parameter to reconfig method to set socket_id when
> adding new port to portlist
>   bond: lsc polling support
>   bond: unit test test macro refactor
> 
>  app/test-pmd/cmdline.c  |   65 +-
>  app/test-pmd/testpmd.c  |3 +-
>  app/test-pmd/testpmd.h  |2 +-
>  app/test/packet_burst_generator.c   |   25 +-
>  app/test/packet_burst_generator.h   |6 +-
>  app/test/test.h |7 +-
>  app/test/test_link_bonding.c| 3347 
> ++-
>  app/test/virtual_pmd.c  |   96 +-
>  app/test/virtual_pmd.h  |   53 +-
>  doc/guides/testpmd_app_ug/testpmd_funcs.rst |   19 +
>  lib/librte_pmd_bond/rte_eth_bond.h  |   80 +
>  lib/librte_pmd_bond/rte_eth_bond_api.c  |  319 ++-
>  lib/librte_pmd_bond/rte_eth_bond_args.c |   28 +-
>  lib/librte_pmd_bond/rte_eth_bond_pmd.c  |  553 +++--
>  lib/librte_pmd_bond/rte_eth_bond_private.h  |   71 +-
>  15 files changed, 2715 insertions(+), 1959 deletions(-)
> 
> --
> 1.7.12.2

Acked-by: Pablo de Lara