Cisco and LACP

I have a FreeNAS machine which has 4 ethernet ports on it. I’d like to setup LACP so I can get more than 1 Gbit of traffic on/off the NAS. In order to do this, I need to make some changes to both my FreeNAS machine and my switch.

Something that should be kept in mind is that LACP doesn’t give you more bandwidth between a fixed pair of entities. It gives you more bandwidth total, but it can’t exceed 1 Gbit (for 1 Gbit ports) between any 2 entities. Thus, if you have 3 systems, one of which uses 2x 1 Gbit ports in LACP, the other 2 systems could each copy files on/off at 1 Gbit.

Configuring an LACP Port Channel

The order of operations here is:

  • (re)configure FreeNAS
  • (re)configure the switch ports

(re)configuring FreeNAS

(re)configuring the switch ports

The switch I’m currently using is a Cisco 2960G. Its currently setup with a sinigle port (gi0/40) as an access port on vlan 200:

1	int gi0/40
2	  description FreeNAS
3	  switchport access 200

It needs to be changed. We want to end up with 4 ports configured the same. Same channel group, same channel protocol. Then we want to configure our port-channel (cisco speak for a logical port aggregation). The port-channel is where we will define our port mode and vlan.

 1	int port-channel 1
 2	  description FreeNAS
 3	  switchport access 200
 4	int gi0/40
 5	  description FreeNAS
 6	  channel-group 1 mode on
 7	  channel protocol lacp
 8	int gi0/41
 9	  description FreeNAS
10	  channel-group 1 mode on
11	  channel protocol lacp
12	int gi0/42
13	  description FreeNAS
14	  channel-group 1 mode on
15	  channel protocol lacp
16	int gi0/43
17	  description FreeNAS
18	  channel-group 1 mode on
19	  channel protocol lacp

If all went well, you should be able to run:

 1
 2	Router# show interface port-channel 1
 3	Port-channel1 is up, line protocol is up
 4	Hardware is GEChannel, address is 0013.19b3.7748 (bia 0000.0000.0000)
 5	MTU 1500 bytes, BW 4000000 Kbit, DLY 10 usec,
 6	reliability 255/255, txload 1/255, rxload 1/255
 7	Encapsulation ARPA, loopback not set
 8	Keepalive set (10 sec)
 9	ARP type: ARPA, ARP Timeout 04:00:00
10	No. of active members in this channel: 4
11	Member 0 : GigabitEthernet0/40 , Full-duplex, 1000Mb/s Member 1 :
12	GigabitEthernet0/41 , Full-duplex, 1000Mb/s Member 2 : GigabitEthernet0/42
13	, Full-duplex, 1000Mb/s Member 3 : GigabitEthernet0/43 , Full-duplex,
14	1000Mb/s
15	Last input 00:00:05, output never, output hang never
16	Last clearing of "show interface" counters 00:04:40
17	Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
18	Interface Port-channel1 queueing strategy: PXF First-In-First-Out
19	Output queue 0/8192, 0 drops; input queue 0/75, 0 drops
20	5 minute input rate 0 bits/sec, 0 packets/sec
21	5 minute output rate 0 bits/sec, 0 packets/sec
22	0 packets input, 0 bytes, 0 no buffer
23	Received 0 broadcasts (0 IP multicasts)
24	0 runts, 0 giants, 0 throttles
25	0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
26	0 watchdog, 0 multicast, 0 pause input
27	3 packets output, 180 bytes, 0 underruns
28	0 output errors, 0 collisions, 0 interface resets
29	0 babbles, 0 late collision, 0 deferred
30	0 lost carrier, 0 no carrier, 0 PAUSE output
31	0 output buffer failures, 0 output buffers swapped out

and see that all 4 ports are being used. If you want to test failover, you should be able to unplug 1 (or more, but not a total greater than the number of ports - 1) cable and continue talking to your device (for example, ping).

Copyright

Comments