Link Aggregation on IOS-XR
The IOS-XR term for link aggregation is a link bundle. A link bundle can use LACP or a static “on” ether channel in which there is no protection or negotiation mechanism. In a link bundle, multiple interfaces are bundled together and act like a single physical point-to-point link.
You can bundle multiple links from different line cards, giving you line card redundancy. The bandwidth of a bundle is the aggregate of all member interfaces’ bandwidth. So a bundle of two 10gig interfaces has a bandwidth of 20gig from the OS’s perspective.
In IOS-XR you can bundle up to 64 individual links. By default only 8 links will be active but you can change this with the below command:
If you configure the max-active links as a number less than the total links, then you will have an active/passive setup in which some links are passive and waiting to become active.
The ASR 9000 series supports mixed speed bundles, so you can bundle 1G and 10G interfaces together, but the ratio cannot exceed 10. So you cannot bundle 1G and 100G interfaces together.
You configure a bundle interface as follows:
You then configure the bundle port as if it was a physical interface:
When using mode on it is called Etherchannel. It does not use LACP, instead it statically bundles the port unconditionally. If you do not specify the mode, it will default to mode on.
By default the LACP timer is the slow timer which is 30 seconds. This means that it can take 3x 30sec = 90 secs to detect an indirect link failure! To change this, use the following command on a member interface:
This command is a bit counter intuitive, because it tells the peer on this interface what speed to use. So if you leave the other end to the default slow timer, the local system will continue sending at 30 sec intervals, and the peer will send at 1 second intervals. For example, I configured only Gi0/0/0/0 for a short timer in my lab. Notice that only the received LACPDU counter has climbed excessively.
You can understand how the short timer works by seeing a pcap of the LACPDU. I’ve set the lacp period short, and the router has set the LACP timeout flag to 1, which indicates a short timeout (1s). When set to 0, it indicates a long timeout (30s). This basically tells the peer “my timeout period is short, so you better start sending quick LACPDUs.” In response the peer immediately starts sending LACPDUs every second.
To view information about the bundle, similar to the show etherchannel sum command on IOS, use the following show command:
Note that the max active links here is only 24. I believe this is a limitation of the virtualized platform. On a 9000 series I see a max active links value of 64.
Further Reading
Last updated