Slightly OT: Set aside LACP, which is just there to establish the trunk and got nothing to do with the actual packet forwarding on the trunk, Brocade has a technology that should be able to load balance a single TCP session on all the trunk links
http://community.brocade.com/community/blogs/data_center/blog/2011/04/06/brocade-isl-trunking-has-almost-perfect-load-balancing On Wed, Oct 2, 2013 at 1:58 AM, Stuart Henderson <s...@spacehopper.org> wrote: > On 2013/10/01 23:02, Abel Abraham Camarillo Ojeda wrote: >> > On Fri, 23 Aug 2013 18:39:29 -0500, Abel Abraham Camarillo Ojeda >> > <acam...@verlet.org> wrote: >> >> Not yet, will test. >> >> >> >> On Thu, Aug 22, 2013 at 7:05 AM, Stuart Henderson <s...@spacehopper.org> >> >> wrote: >> >>> On 2013-08-22, Abel Abraham Camarillo Ojeda <acam...@verlet.org> wrote: >> >>>> Is there a way to duplicate the throughput of a single >> >>>> TCP connection using two servers having two gigabit NICs? >> >>>> >> >>>> I have tried using LACP but I cannot get more than >> >>>> 900MB of throughput... >> >>> >> >>> LACP uses a hash over IP addresses/vlan tags/flowlabel to avoid >> > problems >> >>> with out-of-order packet delivery. (Similar for equal-cost multipath). >> >>> Have you tried a roundrobin trunk yet? >> >> Stuart: >> >> Trying between two obsd hosts only (no switch) I was able to get >> more than 1000Mb speed testing with tcpbench but only using great >> values for -n option (-n >16)... >> >> Is there a way to aggregate (reliably) a single TCP connection using an >> LACP capable switch between two OpenBSD hosts? >> >> I'm using this: >> >> http://www.amazon.com/Cisco-SG200-26P-Ethernet-Mini-GBIC-SLM2024PT/dp/B004GHMU5Q >> >> Thanks > > I'm not aware of any LACP implementation on switches which does per-packet > balancing. > > Even if you hack your kernel so that LACP trunks use round-robin to > determine the output port (rather than hashes of headers), that is only > on the link *to* the switch. Once the switch has received a packet, > it will use its own algorithm to choose the output port. > > Typically the switch will use a hash of ethernet headers i.e. src/dest > MAC and vlan tags - expensive switches will allow more options but usually > even then it's no more than src/dest IP and port numbers. > > Even if you can find some way around this, some packets will arrive > out-of-order which will cause individual TCP flows to slow down, so even > in that case it's pretty unlikely to really help actual performance. > > It sounds like what you really need here is 10GE kit. Motherboard/NIC > ports aren't too bad now, but if you want more than 2-4 10GE ports on a > switch (to mention some of the "cheaper" options: xgs1910-24, gsm7228s, > sg500x-24) then the switches start to get rather expensive.