2

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
Flamewires
  • 433
  • 2
  • 10

3 Answers3

1

http://www.mywushublog.com/2010/04/lagg-freebsd/ I followed this setup with a similar situation, and it is working now.

Flamewires
  • 433
  • 2
  • 10
0

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.

Kyle Brandt
  • 83,619
  • 74
  • 305
  • 448
  • Also, this is kind of a cop-out, but maybe think about upgrading to Gigabit switches and NICs? – Kyle Brandt May 25 '10 at 19:43
  • well we have gig nics, but they aren't on the test machine, they are on the production machine :P it shouldn't make a diff as long as everything's the same speed. – Flamewires May 25 '10 at 19:53
  • And, ill try it, but I dont think the cpus are the bottleneck – Flamewires May 25 '10 at 19:53
  • 1
    Ya, it doesn't sound like it from what you described, but iperf would be a good way to eliminate anything higher level. – Kyle Brandt May 25 '10 at 19:54
  • Yeah, im installing it now – Flamewires May 25 '10 at 19:59
  • yeah same deal. im getting 85-90 Mbits when transferring from 2 clients separately, and 50ish and 45ish while transferring from both at the same time. Thats with 2 cables plugged into the router or one. Thanks tho. – Flamewires May 25 '10 at 20:54
  • Can you check the traffic on the switch? If you reset the counters and you transfer, let's say, 100Mbyte, are those equally divided by the 2 interfaces? – PiL May 26 '10 at 06:25
0

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.

radius
  • 9,633
  • 25
  • 45
  • Yeah i downloaded iperf and did some tests. I ended up changing the switch config slightly to follow more what was done here: http://www.mywushublog.com/2010/04/lagg-freebsd/ now I'm getting a decent speed increase both sending and receiving from multiple machines to the link agg'd computer. Thanks – Flamewires May 26 '10 at 18:26