Link aggregation on an MX.

By using link aggregation, you to can turn up to 8 physical links into 1 logical link.
Link aggregation is available on MX routers and by using it, you can acquire more and more efficient throughput as well as physical link redundany.
Additionally, in a layer 2 scenario, you can create a loop free redundant path without having stp block a link.
This is because when you combine multiple Ethernet interfaces into a Link Aggregation Group (LAG), one single logical link (the AE) is created.

Below is a straightforward example of a LAG. In the example, a LAG is created between two MX480's.

Before starting the configuration, maybe it's good to know these two things:
- duplex and speed settings on both ends of the link must match
- up to 8 links can be defined as a member of the LAG when using the IEEE 802.3ad standard

Anyway, the configuration on an MX router is very easy. The most basic configuration consists of three steps:

1: Allow aggregated links:

set chassis aggregated-devices ethernet device-count 1
2: Assign the links to the LAG:

set interfaces ge-1/0/0 description Some-Third-Party-1
set interfaces ge-1/0/0 gigether-options 802.3ad ae0
set interfaces ge-1/1/3 description Some-Third-Party-2
set interfaces ge-1/1/3 gigether-options 802.3ad ae0
3: Configure the AE interface:

set interfaces ae0 description Some-Third-Party
set interfaces ae0 aggregated-ether-options lacp active
set interfaces ae0 unit 0 family inet address

In the example, the LAG was used as a layer 3 link. Just as with other interfaces on an MX, it is possible to use the link in a different way.
For instance, you could use:
set interfaces ae0 encapsulation vlan-tagging
set interfaces ae0 encapsulation flexible-ethernet-services

The above configuration will get you started. There are a number of extra items to consider and understand that could improve your network.
These items are the following:

1: LACP.

LACP stands for Link Aggregation Protocol. This is an IEEE 802.3ad standard and basically takes care of the following:
- links that are members will be automatically added and deleted without user intervention
- LACP provides link monitoring and both ends will be able to determine if they are connected to the correct group
Junos OS implementation of LACP differs from the standard in that it supports link monitoring, but not the automatic addition and deletion of links.
When using LACP, LACP can be set to 'active' (actively trying to form a LAG) or 'passive' (willing, but not trying to form a LAG).
To successfully create a LAG, at least one side needs to be set to 'active'.
Besides using LACP, it is also possible to statically define the LAGs.The configuration is the same, simply omit the 'aggregated-ether-options lacp active' configuration command.

2: Forwarding considerations.

There are a few simple forwarding considerations that are useful to understand:

- IP traffic hashing will use Layer 3, 4 and 4 details
- non-IP traffic hashing will use source and destination MAC addresses
- traffic generated by the Routing Engine is always sent on the lowest member link

Troubleshooting LAGs.

Troubleshooint LAGs is rather straightforward. In my experience with Juniper LAGs, I have not encounterd weird things or strange behavior.
Firing the following commands should give you more then enough self-explanatory information:
show interfaces terse | match ae0
show interfaces ae0 extensive
show lacp interfaces
show lacp statistics interfaces