Understanding MTU and MRU Configuration for PPP Subscribers

 

The maximum payload allowed on an Ethernet frame is 1500 bytes. For a PPPoE interface, the PPPoE header uses 6 bytes and the PPP protocol ID uses 2 bytes. This restricts the maximum receive unit (MRU) size on a PPPoE interface to 1492 bytes, which can cause frequent fragmentation and reassembly of larger PPP packets received over the PPPoE interface. To prevent frequent fragmentation and reassembly for PPP packets over Ethernet, you can configure the maximum transmission unit (MTU) and MRU sizes for PPP subscribers.

Note

For PPPoE subscribers, the PPP MRU or PPP MTU size can be greater than 1492 bytes if the PPP-Max-Payload tag is received in the PPPoE Active Discovery Request (PADR) packets.

The configuration of MRU and MTU is supported for subscribers of the following PPP connections:

  • PPP over Ethernet (PPPoE) subscribers

  • PPP over Ethernet over ATM (PPPoE over ATM) subscribers

  • PPP over ATM (PPPoA) subscribers

  • Tunneled PPP LAC subscribers

  • Tunneled PPP LNS subscribers

PPP essentially negotiates between two independent half-duplex links. While establishing a PPP connection, PPP end-points negotiate the MRU to determine the PPP payload MTU on a negotiated PPP connection. The terms used in this section are described here:

Peer MRUMRU proposed by the peer to indicate the PPP payload size that it can accept.
PPP MRUMRU proposed by the router to indicate the PPP payload size that it can accept
PPP MTUPPP payload MTU (IP header + data) excluding any Layer 2 overhead.

By default, if the PPP MTU value is lower than 1492 bytes, the operational PPP MRU value is also set to the PPP MTU value. However, if the PPP MTU value is greater than 1492 bytes, Junos OS calculates the PPP MRU value based on the presence and value of the PPP-Max-Payload tag received in the PPPoE Active Discovery Request (PADR) packet. This default behavior can be changed by configuring the mtu (size| use-lower-layer) and mru size statements at the following hierarchy levels:

PPP MTU and MRU for PPPoE Subscribers

For a PPPoE packet:

  • Configured MTU is the MTU value configured using the mtu size statement.

  • PPP lower-layer MTU is calculated as:

    interface MTU – [(Ethernet header payload) – (single-tagged VLANs) – (double-tagged VLANs) – (PPPoE header payload) – (PPP header)]

Junos OS determines the PPP MTU value for a terminated PPPoE interface based on the configured MTU, PPP lower-layer MTU, and the presence and value of the PPP-Max-Payload tag in the PADR packet.

  1. If the PPP lower-layer MTU falls below 1492 bytes, then the PPP MTU value is the lesser of the PPP lower-layer MTU and the configured MTU value. The PPP-Max-Payload tag is ignored even if it is present in the PADR packet.

  2. If the PPP lower-layer MTU is greater than 1492 bytes:

    • If the PPP-Max-Payload tag is not present in the PADR packet, then the PPP MTU value is the lesser of the configured MTU and the PPP lower-layer MTU value.

    • If the PPP-Max-Payload tag is present and its value is less than 1492 bytes, then the PPP MTU is the lesser of the configured MTU and the PPP lower-layer MTU value. Junos OS does not send out the PPP-Max-Payload tag in the PPPoE Active Discovery Session (PADS) packet to indicate that the router is not capable of supporting an MRU size greater than 1492 bytes.

    • If the PPP-Max-Payload tag is present and its value is greater than 1492 bytes but less than the configured MTU, the PPP MTU is the value received in the PPP-Max-Payload tag.

    • If the PPP-Max-Payload tag is present and its value is greater than 1492 bytes and also greater than the configured MTU, the PPP MTU is the lesser of the configured MTU and PPP lower-layer MTU value. Junos OS also returns the PPP-Max-Payload tag in the PADS packet to indicate that the router is capable of supporting an MRU greater than 1492 bytes.

By default, a router uses the PPT MTU value for the PPP MRU value during link control protocol (LCP) negotiation on point-to-point connections. When you configure the MRU for a PPP subscriber for PPPoE by using the mru size statement, Junos OS determines the PPP MRU value based on the following:

  • If the MRU is configured using the ppp-options option, the PPP MRU is the lesser of the configured MRU value and the PPP MTU value for that subscriber (PPP MTU value derived based on the configured MTU, PPP lower-layer MTU, and the PPP-Max-Payload value in the PADR packet).

  • If the MRU is not configured, the PPP MRU remains the same as the PPP MTU and is sent during LCP negotiation. During LCP negotiation, the server receives the peer MRU value and offers the PPP MRU derived from the configuration and the PPP MTU.

  • For a negotiated PPP connection, the INET MTU i.e PPP payload MTU ( IP header + data) excluding any Layer 2 overhead, is set to the lesser of the PPP MTU and the received Peer MRU value.

PPP MTU and MRU for Tunneled Subscribers on LNS

For PPP subscribers on L2TP network server (LNS), the configured MTU can be either the explicit MTU size specified using the mtu size statement or the derived MTU using the mtu use-lower-layer statement.

  • If the PPP MTU is configured as use-lower-layer, the PPP MTU is determined as:

    interface MTU – 58 bytes.

    Note

    58 bytes is the PPP overhead payload, which is calculated as the sum of the IP, UDP, L2TP, HDLC, and PPP header payloads.

  • If the PPP MTU is configured using the mtu size statement, the PPP MTU is the lesser of the configured MTU and the (interface MTU – 58 bytes) value.

When you configure an explicit MRU value by using the mru size statement, Junos OS determines the PPP MRU value for PPP subscribers on LNS interfaces based on the following scenarios:

  • If the MRU value is not configured for PPP subscribers on the LNS and if the proxy LCP options are received from the L2TP access concentrator (LAC), the PPP MRU value offered in the LCP negotiation is the lesser of the PPP MTU and the proxy MRU value. If the LCP options are not received, PPP MTU is offered as MRU during LCP negotiation.

  • If, however, the MRU value is configured for the PPP subscribers on the LNS, the PPP MRU is the lesser of the configured MRU and the PPP MTU value. Further, if the proxy LCP options are received from the LAC, the PPP MRU value sent during LCP negotiation is the lesser of the configured MRU or PPP MTU and the proxy MRU value.

  • For a negotiated INET MTU on a PPP link i.e PPP payload MTU ( IP header + data) excluding any Layer 2 overhead, the PPP MTU is set to the lesser of the PPP MTU and the received peer MRU value.