[JunOS/Cisco IOS] Setting up an EtherChannel between Juniper and Cisco devices

Cisco devices by default use PAgP (Port Aggregation Protocol) when establishing EtherChannel connections between devices.  PAgP is a proprietary protocol that is exclusive to Cisco systems.  LACP is a protocol that accomplishes the same thing but is universal and thus available on Juniper devices.  Here’s how to set them up.

Cisco side.  Here’s the configuration for the Port-Channel interface:

interface Port-channel12

switchport trunk encapsulation dot1q

switchport mode trunk

end

This is all standard and the real difference lies in the configuration on the physical interfaces:

interface GigabitEthernet1/0/11

channel-protocol lacp

channel-group 12 mode active

end

At first this looks to be just about identical to how you set these up but just with specifying the protocol.  The important part that is easy to overlook is the active part of the channel-group command.  The argument active tells the device that the interface will only be using LACP as a protocol.  Without that argument (or another compatible one) IOS will reject the command with this (this error is if you have set the channel-group configuration before the channel-protocol one):

Command rejected ( Gi1/0/11 ): is already part of a channel with a different type of protocol enabled

Here is a list of all the different arguments that can complete the channel-group command:

  active     Enable LACP unconditionally

auto       Enable PAgP only if a PAgP device is detected

desirable  Enable PAgP unconditionally

on         Enable Etherchannel only

passive    Enable LACP only if a LACP device is detected

After setting this up this way you can just set up the aggregate interface on the JunOS device the way you would just set up any two JunOS devices and you will get the link you’re expecting.