Understanding MTU and MRU Configuration for PPP Subscribers
The default PPP maximum receive unit (MRU) and hence the maximum transmission unit (MTU) is 1500 bytes. For a PPPoE interface, the PPPoE header uses 6 bytes and the PPP protocol ID uses 2 bytes. This restricts the 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 override the default values, you can configure the MTU and MRU sizes for PPP subscribers.
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 or if the peer MRU received in the PPP LDP Configure-Request is greater than 1492 bytes. By default, PPPoE MTU and MRU are used on LNS if MTU or MRU or both are not explicitly configured.
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 MRU | MRU proposed by the peer to indicate the PPP payload size that it can accept. |
PPP MRU | MRU proposed by the router to indicate the PPP payload size that it can accept |
PPP MTU | PPP 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:
[edit access group-profile group-profile-name ppp ppp-options] [edit dynamic-profiles profile-name interfaces pp0 unit “$junos-interface-unit” ppp-options], [edit dynamic-profiles profile-name interfaces "$junos-interface-ifd-name" unit “$junos-interface-unit” ppp-options], [edit interfaces pp0 unit unit-number ppp-options] [edit interfaces si interface-id unit unit-number ppp-options]
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 and the peer's MRU.
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.
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 and the peer's MRU.
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, PPP lower-layer MTU value and the peer's MRU. 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 PPP 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, 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) you can
explicitly configure the MTU and MRU on the inline service (si) interface to override the
default values. When configured explicitly, the effective 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 on the inline service (si) interface 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 on the inline service (si) interface is configured using the
mtu size
statement, the PPP MTU is the lesser of the configured MTU, the (interface MTU – 58 bytes) value and the peer MRU learned via L2TP session negotiation or when renegotiating LCP with the remote peer.
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 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.