4. Transporting Labeled Packets over PPP
to receive packets that must go through the tunnel, but are too large
to pass through the tunnel unfragmented, then:
- The LSR at the transmitting end of the tunnel MUST be able to
determine the MTU of the tunnel as a whole. It MAY do this by
sending packets through the tunnel to the tunnel's receiving
endpoint, and performing Path MTU Discovery with those packets.
- Any time the transmitting endpoint of the tunnel needs to send
a packet into the tunnel, and that packet has the DF bit set,
and it exceeds the tunnel MTU, the transmitting endpoint of the
tunnel MUST send the ICMP Destination Unreachable message to
the source, with code "Fragmentation Required and DF Set", and
the Next-Hop MTU Field set as described above.
4. Transporting Labeled Packets over PPP
The Point-to-Point Protocol (PPP) [6] provides a standard method for
transporting multi-protocol datagrams over point-to-point links. PPP
defines an extensible Link Control Protocol, and proposes a family of
Network Control Protocols for establishing and configuring different
network-layer protocols.
This section defines the Network Control Protocol for establishing
and configuring label Switching over PPP.
4.1. Introduction
PPP has three main components:
1. A method for encapsulating multi-protocol datagrams.
2. A Link Control Protocol (LCP) for establishing, configuring,
and testing the data-link connection.
3. A family of Network Control Protocols for establishing and
configuring different network-layer protocols.
In order to establish communications over a point-to-point link, each
end of the PPP link must first send LCP packets to configure and test
the data link. After the link has been established and optional
facilities have been negotiated as needed by the LCP, PPP must send
"MPLS Control Protocol" packets to enable the transmission of labeled
packets. Once the "MPLS Control Protocol" has reached the Opened
state, labeled packets can be sent over the link.
The link will remain configured for communications until explicit LCP
or MPLS Control Protocol packets close the link down, or until some
external event occurs (an inactivity timer expires or network
administrator intervention).
4.2. A PPP Network Control Protocol for MPLS
The MPLS Control Protocol (MPLSCP) is responsible for enabling and
disabling the use of label switching on a PPP link. It uses the same
packet exchange mechanism as the Link Control Protocol (LCP). MPLSCP
packets may not be exchanged until PPP has reached the Network-Layer
Protocol phase. MPLSCP packets received before this phase is reached
should be silently discarded.
The MPLS Control Protocol is exactly the same as the Link Control
Protocol [6] with the following exceptions:
1. Frame Modifications
The packet may utilize any modifications to the basic frame
format which have been negotiated during the Link Establishment
phase.
2. Data Link Layer Protocol Field
Exactly one MPLSCP packet is encapsulated in the PPP
Information field, where the PPP Protocol field indicates type
hex 8281 (MPLS).
3. Code field
Only Codes 1 through 7 (Configure-Request, Configure-Ack,
Configure-Nak, Configure-Reject, Terminate-Request, Terminate-
Ack and Code-Reject) are used. Other Codes should be treated
as unrecognized and should result in Code-Rejects.
4. Timeouts
MPLSCP packets may not be exchanged until PPP has reached the
Network-Layer Protocol phase. An implementation should be
prepared to wait for Authentication and Link Quality
Determination to finish before timing out waiting for a
Configure-Ack or other response. It is suggested that an
implementation give up only after user intervention or a
configurable amount of time.
5. Configuration Option Types
None.
4.3. Sending Labeled Packets
Before any labeled packets may be communicated, PPP must reach the
Network-Layer Protocol phase, and the MPLS Control Protocol must
reach the Opened state.
Exactly one labeled packet is encapsulated in the PPP Information