Skip to content

MPLS, LDP, and RSVP

MPLS provides labelled forwarding for provider-style labs and VPNv4 scenarios. The engine covers label push, swap, pop, LDP-distributed labels, and BGP/MPLS VPN route projection.

AreaLevelNotes
MPLS dataplaneSupportedLabel stack handling with push, swap, pop, and penultimate-hop popping.
LDPSupportedNeighbour state and label mappings for IGP reachability.
LDP discoverySupportedLink multicast Hello to 224.0.0.2 with TTL 1 plus active/passive session role.
VPN labelsSupportedVPNv4 routes carry label/RD/RT metadata.
LDP graceful restartSupportedStale binding mark/clear/purge behaviour during forwarding-holding window.
LDP TCP-MD5 passwordBehaviour modelSymmetric password forms a session; asymmetric or mismatched password drops the session.
RSVPBehaviour modelHandler surface exists; full RSVP-TE is not a support claim.
Provider cloudBehaviour modelBlack-box MPLS cloud can connect customer/provider-edge scenarios.
StandardCoverageNotes
RFC 3031Behaviour modelMPLS label stack forwarding.
RFC 3032 section 2.1.1SupportedIPv4 explicit-null label 0 and implicit-null label 3 behaviour.
RFC 5036Behaviour modelLDP neighbour and label mapping concepts.
RFC 3478Behaviour modelLDP graceful restart stale-binding handling.
RFC 2385Behaviour modelTCP-MD5-style LDP password match; no real TCP segment MAC.
RFC 4364Behaviour modelBGP/MPLS IP VPN route separation.
RFC 3209MinimalRSVP-TE is not deeply implemented today.
FeatureStatusNotes
MPLS interface enableSupportedMarks interfaces for labelled forwarding.
Label push/swap/popSupportedDataplane operations are represented.
PHPSupportedPenultimate-hop pop behaviour.
LDP router IDSupportedIdentifies LDP speaker.
LDP neighboursSupportedDiscovered from enabled links.
Label bindingsSupportedLabels are allocated for routed FECs.
Multicast HelloSupportedLink discovery uses 224.0.0.2 with TTL 1; MPLS-disabled interfaces drop it.
Active/passive TCP roleSupportedPassive LSR waits for Init; active LSR initiates.
Implicit nullSupportedEgress prefixes advertise label 3 by default.
Explicit nullSupportedEgress prefixes can advertise label 0 when configured.
LDP graceful restartSupportedPeer bindings can be marked stale, cleared after recovery, or purged.
LDP neighbour passwordBehaviour modelPasswords must match on both sides.
LDP notificationBehaviour modelFatal notifications tear down the peer; non-fatal notifications are logged.
VPNv4 import/exportSupportedDriven by BGP route targets.
RSVP-TE tunnelsNot modelledRSVP handler is not a full TE control plane.
CommandIOS-styleJunos-styleVyOS-styleNotes
mpls ipSupportedPartialPartialInterface MPLS enable.
mpls ldp router-id Loopback0 forceSupportedPartialPartialLDP identity.
mpls ldp explicit-nullSupportedSupportedPartialAdvertises IPv4 explicit-null label 0 for egress prefixes.
mpls ldp graceful-restartSupportedSupportedSupportedCisco, Junos, and VyOS config surfaces round-trip.
mpls ldp neighbor 2.2.2.2 password SECRETSupportedPartialPartialTCP-MD5-style behaviour model.
show mpls forwarding-tableSupportedPartialPartialLabel forwarding table.
show mpls ldp neighborSupportedPartialPartialLDP neighbour state.
show ldp neighborn/aSupportedPartialJunos operational show.
show ldp databasen/aSupportedPartialJunos operational show.
show ldp bindingsn/aSupportedPartialJunos operational show.
show bgp vpnv4 unicast allSupportedPartialPartialVPNv4 routes.

MPLS forwarding is packet-oriented enough to test labelled reachability, while LDP remains a deterministic control-plane model. VPNv4 uses route distinguishers to keep overlapping customer prefixes separate and route targets to decide which VRFs import them.

LDP explicit-null is modelled at the label-binding boundary. Without explicit-null, an egress prefix advertises implicit-null label 3; with explicit-null, the same egress prefix advertises IPv4 explicit-null label 0.

LDP passwords model TCP-MD5 reachability semantics. If one side has a password and the other does not, or the values differ, the session does not form and the drop is observable in debug/syslog state.

Canonical example
configure terminal
interface GigabitEthernet0/0
mpls ip
mpls ldp router-id Loopback0 force
end
show mpls ldp neighbor
show mpls forwarding-table

Vendor styles

IOS-style
mpls ip
mpls ldp router-id Loopback0 force
mpls ldp graceful-restart
mpls ldp explicit-null
interface GigabitEthernet0/0
mpls ip
Junos-style
set protocols mpls interface ge-0/0/0.0
set protocols ldp interface ge-0/0/0.0
set protocols ldp transport-address 1.1.1.1
set protocols ldp graceful-restart
set protocols ldp explicit-null
VyOS-style
set protocols mpls interface eth0
set protocols ldp interface eth0
set protocols ldp discovery transport-ipv4-address 1.1.1.1
set protocols mpls ldp parameters graceful-restart

RSVP-TE signalling, FRR bypass tunnels, real TCP-MD5 packet authentication, LDP ordered-vs-independent control nuance, and vendor-specific label allocation quirks are not fully modelled.