Create an Aggregate Line Description

An aggregated line description is created by using the Create Line Desc (Ethernet) (CRTLINETH) command.

The following parameters are relevant to aggregation:
  • Resource Name (RSRCNAME): set to new special value *AGG to indicate aggregation
  • Duplex (DUPLEX): Half duplex is not supported
  • Aggregated Resource List (AGGRSCL): up to eight Ethernet port resource names (starting with CMN) with the restrictions laid out in Preparing to Create an Aggregate Line Description
  • Aggregate Policy (AGGPCY): This parameter is split into two elements. The Standard controls any negotiation that is done with the link partner, and requires specific configuration with the link partner, as described under *ETHCHL and *LNKAGG. The Policy type describes the process for deciding what port is used for each outgoing Ethernet frame; this type can have performance implications.

    Choosing *ETHCHL as the Standard uses static aggregation, which performs no negotiation with the link partner. The link partner must also be configured for static aggregation. The Ethernet ports in the Aggregated Resource List (AGGRSCL) and the set of ports that are configured at the link partner should correspond exactly. If they do not, then some Ethernet packets might not get to the correct destination. There are several opportunities for error: having ports in AGGRSCL that are connected to a different link partner or to the wrong ports in the correct link partner, or having ports that are selected in the link partner's aggregate that are connected to ports not in AGGRSCL.

    Setting the Standard as *LNKAGG forces use of the Link Aggregation Control Protocol (LACP) as described in the IEEE 802.3ad standard. This negotiation detects the identity of the link partner for each Ethernet port in the Aggregated Resource List (AGGRSCL). This Standard requires that the link partner to enable LACP with common identification information on all ports that are connected to ports in AGGRSCL. In order for a port to aggregate and be used for Ethernet traffic, its partner port must respond to the LACP negotiation, and the response must match the identifying information to all other aggregated ports. The aggregation panel in Display Line Description (DSPLIND) shows the aggregation status of each port, and the status helps describe why any other ports are not aggregated.

    The round-robin (*RNDRBN) is only accepted if Standard is *ETHCHL, and it directly forces each batch of outgoing packets to use the next available port, ensuring that all ports are used in near-equal fashion. However, that creates risk that packets can be delivered out of order, and out-of-order delivery within a TCP connection causes retransmissions and large delays. Use this option only if that is not a concern.

    The remaining policy types could all be called hash modes, and they describe what data within a packet is used to determine which Ethernet port is used for each outgoing frame. All of the hash modes force a specific TCP connection to stay single-threaded on a specific Ethernet port to avoid the out-of-order delivery problem. They differ in how much packet data is used to decide which port to use. The best network usage comes from configurations that split outgoing traffic roughly equally among the ports in the Aggregated Resource List (AGGRSCL). As more packet data is used, the system can do more to spread unrelated traffic among the ports. However, using more packet data also forces some additional processing and cache usage for each outgoing packet.

    The *DFT hash mode uses the least amount of data, looking only at the destination IP address (or MAC for non-IP frames). This mode uses little processor, but spreads evenly only if traffic is running to many different IP addresses at the same time (as for a busy server).

    The *SRCPORT, *DESTPORT, and *SRCDESTP hash modes also look at the source and destination TCP or UDP port numbers (if present) for each outgoing packet. This evaluation incurs more per-packet processing, but is better able to split unrelated traffic among multiple Ethernet ports, like parallel file transfers to the same remote host. If host processor is not known to be a constraint, *SRCDESTP is likely the best choice for most systems.

To create a static two-port aggregate that uses as much packet data as possible to spread outgoing traffic, use the following example:
CRTLINETH LIND(ETHAGG) RSRCNAME(*AGG) AGGPCY(*ETHCHL *SRCDESTP)
          AGGRSCL(CMN02 CMN03)