Hey, I am trying to setup Link Aggrigation with LACP (well, anything that provides increased bandwidth and failover using my setup will work). I'm running FreeBSD 8.0 on 3 machines. M1 is running 2 10/100 ethernetcards setup for link aggrigation using lagg. for reference:
ifconfig em0 up
ifconfig tx0 up
ifconfig create lagg0
ifconfig lagg0 laggproto lacp laggport tx0 laggport em0 192.168.1.16 netmask 255.255.255.0
I plugged them into ports 1 and 2 of a Cicso 3550. then ran:
configure terminal
interface range Fa0/1 - 2
switchport mode access
switchport access vlan 1
channel-group 1 mode active
(everythings in vlan 1) Now Im able to connect the other computers to other ports on the switch and failover works great, i can unplug cables in the middle of a transfer and the traffic gets rerouted. However, im not noticing any speed increase. My test setup: load balancing: i tried dst and src on the switch, neither seemed to give me a speed increase. I am SCPing 2 500 meg files from the lagg computer to other computers (one each) which are also running 10/100 full duplex cards. I get transfer speeds of about 11.2-11.4 Mbps to a single host, and about half that (5.9-6.2) Mbps when transferring to both at the same time. From what I understood with destination load balancing the router was suppose to balance traffic headed for 1 computer over 1 port and traffic headed for another over a diff(in this case) the other port.
With destination-MAC address forwarding, when packets are forwarded to an EtherChannel, the packets are distributed across the ports in the channel based on the destination host MAC address of the incoming packet. Therefore, packets to the same destination are forwarded over the same port, and packets to a different destination are sent on a different port in the channel. For the 3550 series switch, when source-MAC address forwarding is used, load distribution based on the source and destination IP address is also enabled for routed IP traffic. All routed IP traffic chooses a port based on the source and destination IP address. Packets between two IP hosts always use the same port in the channel, and traffic between any other pair of hosts can use a different port in the channel. (Link)
What am i doing wrong/what would i need to do to see a speed increase beyond what i could do with just a single card?
EDIT: IP/MACS M1: 192.168.1.18/00e0291aba80 M2: 192.168.1.14/000e0c7739af M3: 192.168.1.12/000874a627e5
http://www.mywushublog.com/2010/04/lagg-freebsd/ I followed this setup with a similar situation, and it is working now.
You mentioned SCP, are you sure that you don't have a problem with CPU maxing out on the encryption?
I would try something like iperf to get raw packet rates.
Your problem seems strange, with a src-mac balancing on the switch it should work well from my point of view.
To troubleshoot I would use iperf and do transfer in both way (192.168.1.16 -> 192.168.1.1{4,2,8} and 192.168.1.1{4,2,8} -> 192.168.1.16) to see if you get better result in a one of the way.
In your test if you pushed a file from 192.168.1.16 to others host, your almost only try load balancing on FreeBSD and not on the switch (because only ACK packet from others host are load balance by the switch, and this is very small).
If transfer from 192.168.1.16 to 192.168.1.1{4,2,8} works as expected it means that switch config is OK but load balancing on FreeBSD isn't working as expected.