# PME Aggregation Function

PME Aggregation Function (PAF) is a computer networking mechanism defined in Clause 61 of the IEEE 802.3 standard, which allows one or more Physical Medium Entities (PMEs) to be combined to form a single logical Ethernet link.
The PAF is located in the physical coding sublayer (PCS), between the media access control (MAC)-PHY Rate Matching function and the Transmission Convergence (TC) sublayer. It interfaces with the PMEs across the λ-interface, and to the MAC-PHY Rate Matching function using an abstract interface.
PAF is an optional function that was defined before 2007 for two IEEE 802.3 interfaces: 2BASE-TL and 10PASS-TS, both of which were Ethernet in the First Mile (EFM) copper PHY]].

## Details

PME Aggregation function has the following characteristics:
* Supports aggregation of up to 32 PMEs
* Supports individual PMEs having different data rates (max 1:4 ratio)
* Ensures low packet latency and preserves frame order
* Scalable and resilient to PME failure
* Independent of type of EFM copper PHY
* Allows vendor discretionary algorithms for fragmentation
PAF Transmit function works by fragmenting incoming Ethernet frames into a number of fragments, limited in size to a range between 64 and 512 Bytes. A sequential fragmentation header is prepended to each fragment, indicating if the fragment is from the start-of-packet, end-of-packet or middle of packet. A frame check sequence (FCS) is appended to each fragment, which is then transmitted by the next available active PME in the aggregated group.
The following diagram illustrates the PAF fragmentation:
PAF Receive function reassembles the original frames from the received fragments, which are buffered in a per-MAC fragment buffer. The algorithm uses the fragmentation header to make sure that the reassembled frames are in order.

## History

The PME Aggregation function was first defined in IEEE 802.3ah in 2004. The original Loop Aggregation proposal was submitted by Klaus Fosmark from now defunct First Mile Systems in 2001.
It was later referenced by ITU-T G.998.2 (Ethernet-based multi-pair bonding) and its ANSI equivalent NIPP-NAI T1.427.02.

## Comparison

PAF algorithm and fragmentation header are very similar to MLPPP which works at layer 3 (IP).
PAF is an asymmetric protocol, i.e., all information required for reassembly is contained in the fragmentation header sent with each fragment. While allowing great flexibility in Transmitter and Receiver implementations it requires an overhead consuming about 5% of the bandwidth (estimation for 2BASE-TL protocol, including 64B/65B encapsulation). PAF is optimized for the Ethernet traffic.
Inverse Multiplexing for ATM (IMA) is another aggregation protocol, which unlike PAF uses fixed-size cells, sending them across multiple links in a Round-Robin fashion. IMA is optimized for ATM and in the extreme cases (short Ethernet frames) may add as much as 40% overhead due to the AAL5 encapsulation.
ITU-T G.998.3 (Multi-pair bonding using time-division inverse multiplexing) specification, a.k.a. G.Bond/TDIM, defines a symmetric aggregation protocol, in which both sides of a point-to-point link exchange information about the aggregation, so there's no need for a separate header. G.Bond/TDIM is optimized for both Time-Division Multiplexing and packet traffic with less than 3% overhead (estimation for Ethernet traffic, including Generic Framing Procedure (GFP) encapsulation).