In my previous article about using NetApp multi-mode VIFs with Cisco switches, I mentioned that you could—at that time—only use 802.3ad static link aggregation:
Be aware that Data ONTAP’s multi-mode VIFs are only compatible with static 802.3ad link aggregation; you can’t use PAgP (Cisco proprietary protocol). I would assume dynamic LACP is also incompatible. For this reason we used the “channel-group 1 mode on” statement instead of something like “channel-group 1 mode desirable”.
I recently got some feedback from a NetApp SE in my area; this SE informed me that Link Aggregation Control Protocol (LACP, part of the IEEE 802.3ad specification) is indeed supported with Data ONTAP version 7.2. This KB article on the NetApp NOW site (login required) indicates that ONTAP 7.2.1 is required in order to use a LACP VIF.
There are a couple important requirements to note; these are laid out in the referenced KB article:
- Dynamic multimode VIFs should use IP address-based load balancing. This means that the Cisco switch or the channel group must also use IP address-based load balancing.
- Dynamic multimode VIFs must be first-level VIFs. This makes sense; LACP is a Layer 2 protocol, so layering a LACP VIF on top of other VIFs just doesn’t work.
To create the dynamic multimode VIF on the Data ONTAP side, the command is pretty simple:
vif create lacp <vif name> -b ip {interface list}
On the Cisco side, the commands are very similar:
s3(config)#int port-channel1
s3(config-if)#description LACP multimode VIF for netapp1
s3(config-if)#int gi0/23
s3(config-if)#channel-protocol lacp
s3(config-if)#channel-group 1 mode active
These commands would be repeated for all physical ports that should be included in the LACP bundle. Note the differences from the earlier commands in the previous article; here we use “channel-group 1 mode active” instead of “channel-group 1 mode on“. We also added the “channel-protocol lacp” command.
Together, these commands will establish a LACP-based link aggregate between a NetApp storage system running Data ONTAP version 7.2.1 or higher and a Cisco IOS-based switch.
Thanks to Jeff, our NetApp SE, for providing the updated information.
Tags: Cisco, Interoperability, IOS, NetApp, Networking, ONTAP


8 comments
Comments feed for this article
Trackback link
http://blog.scottlowe.org/2008/01/08/lacp-with-cisco-switches-and-netapp-vifs/trackback/
Wednesday, January 9, 2008 at 8:57 am
Wade Holmes
Hi Scott,
I just went through an exercise figuring out NetApp load balancing options late last year, and discovered the NetApp LACP support. One other dependency to note, for this configuration to supply both redundancy and load balancing across separate physical Cisco switches, you must use a Cisco StackWise stack.
Friday, February 15, 2008 at 1:37 pm
Carsten Kreß
never forget on cisco switch or stack
conf t
port-channel load-balance src-dst-mac
end
wr
Friday, February 15, 2008 at 1:45 pm
Carsten Kreß
a example for cisco stack with vlan
conf t
int port-channel 1
switchport access vlan 2
switchport mode access
exit
int ra gi 7/0/21, gi 8/0/21
switchport access vlan 2
switchport mode access
speed 1000
duplex full
no channel-group 1 mode on
channel-protocol lacp
channel-group 1 mode active
end
wr
Wednesday, April 23, 2008 at 5:00 pm
Dejan Ilic
Two things you might want to add if you use VLAN.
First, for any router/switch that supports more than just dot1q vlan (ie. Cisco 6500 in my case) you have to tell what encapsulation you wish.
#switchport trunk encapsulation dot1q
I just spent several hours searching why the channel “worked” for about 60 sek without any trafic flowing, before the router disable the channel. Tip : What is the default encapsulation on Cisco before dot1q became standard?
Second is more of an optimization if you use VLAN as we do:
#spanning-tree portfast trunk
Wednesday, April 23, 2008 at 5:04 pm
Dejan Ilic
My example:
4 port Channel, vith VLAN:s 860, 861 and 862
interface GigabitEthernet3/13
description NetApp link 1 of 4
no ip address
switchport
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 860-862
switchport mode trunk
spanning-tree portfast trunk
channel-protocol lacp
channel-group 33 mode active
end
interface Port-channel33
description NetAPP_EthernetChannel
no ip address
switchport
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 860-862
switchport mode trunk
lacp max-bundle 4
end
Thursday, June 19, 2008 at 8:14 pm
Matt Brown
I’ve got this setup on my Cisco Catlyist 3750g switch just like above and for some reason both my netapp and my switch will only show 1 port as active. The other ports in the LACP show up as lag_inactive.
Any ideas on why this is?
Friday, June 27, 2008 at 12:24 am
Matt Brown
This works great on a single switch.
I’ve got (2) 3750g Cisco Switches connected to a 6500 series Cisco switch. 2 ports from my netapp go to each of the 3750 switches. I’d like to load balance between the 2 but it doesn’t work reliably.
I setup:
vif create lacp Switch1vif -b ip e0c e4c
vif create lacp Switch2vif -b ip e0d e4d
vif create multi vifCombo -b ip Switch1vif Switch2vif
This works to a degree. I can get data to come out of all 4 ports if I push it hard. But if I pull the cables from switch 1 it will take up to 30 seconds for switch 2 to takeover the connections. This is too long.
Wednesday, October 8, 2008 at 3:03 am
pushkin
Is there a known performance impact when using “flowcontrol receive on” in the port channel configuration? Thx