So when I was googiling around looking for working configurations of Junos (EX in this case) AE working with a Cisco vPC (Virtual Port Channel) I could not find any examples … So I said that I would post one. I will not be covering how to set up a VPC, if you’re interested in that side visit Cisco’s guide here. I will also not discuss how to configure a Juniper Virtual Chassis (more info here). The devices used in this example are 2 x Cisco 7k (running NX-OS 4) and 2 x Juniper EX4500 switches (running Junos 11.4R1) in a Mixed Mode virtual chassis with 2 x ex4200s.
The goal, as network engineers is to use all bandwidth when it’s available (if feasible) and avoid legacy protocols to stop layer 2 loops such as Spanning-Tree. vPC from Cisco and VC technologies allow LACP (Link Control Aggregation Protocol) links to span physical chassis, allow the network engineer to avoid single points of failure and harness all available bandwidth. If a physical chassis was lost, you would still be operation in a degraded fashion, e.g. 1/2 the available bandwidth until the second chassis returned.
To configure the Cisco Nexus side you would require the following configuration on each vPC configured chassis. I found that VLAN pruning can be happily done and a Natvie VLAN1 is not needed if CDP is not mandatory (I did not test making CDP able to traverse the trunk through the Juniper – Would love to hear if someone does!).
conf t interface port-channel69 description Good practice switchport mode trunk vpc 69 mtu 9216 switchport trunk allowed vlan 69 interface Ethernetx/x channel-group 69 mode active
Handy Cisco Debug Commands:
- show vpc
- show run interface port-channel69 member
- show vpc consistency-parameters int port-channel 69
- show port-channel summary
The Juniper side would only require the following, this configuration is identical (you just choose different member interfaces) even if you don’t have a Virtual Chassis configuration.
set interfaces xe-0/0/39 ether-options 802.3ad ae0 set interfaces xe-1/0/39 ether-options 802.3ad ae0 set interfaces ae0 description "Good Practice" set interfaces ae0 mtu 9216 set interfaces ae0 aggregated-ether-options lacp active set interfaces ae0 unit 0 family ethernet-switching port-mode trunk set interfaces ae0 unit 0 family ethernet-switching vlan members pr0nNet set vlans pr0nNet vlan-id 69 set vlans pr0nNet l3-interface vlan.69 #If a L3 RVI is required
Handy Juniper Debug Commands:
- show interface terse ae0
- show lacp interfaces (you want your interfaces to be collecting and distributing)
- show interface ae0 extensive
Please let me know if I have done anything that is not optimal – always eager to learn, I am definitely not (and proud of it) a Cisco expert.