L3 · mpls · reviewed

RSVP-TE

Resource Reservation Protocol — Traffic Engineering extensions

Signals a label-switched path along a route you choose rather than the one the IGP would pick, and books bandwidth for it in the control plane.

Presenter modeEmbed this figure

Operation of LSP TunnelsRFC 3209 · PROPOSED STANDARD · December 2001Explicit Route ObjectRFC 3209 · PROPOSED STANDARD · December 2001Facility BackupRFC 4090 · PROPOSED STANDARD · May 2005

Why it exists

LDP builds label paths that follow the IGP exactly, which means it inherits the IGP’s indifference to load. A link at 94 per cent and a link at 3 per cent look the same to a shortest-path calculation.

RSVP-TE signals a path the operator chooses, subject to constraints the IGP’s traffic-engineering extensions advertise — available bandwidth, affinities, administrative groups. The path is explicit and the resources are accounted for. LSP Tunnels and Traffic Engineered TunnelsRFC 3209 · PROPOSED STANDARD · December 2001

Segment routing does the same job without per-LSP state in the network, which is why new deployments usually start there. RSVP-TE remains where bandwidth admission control is genuinely required, and in networks that already run it.

Path goes down, labels come back

The head-end sends a Path message naming the route it wants. Labels are allocated by each downstream router and returned upstream in the Resv.

The IGP would send everything through P3, because that is the shortest path. It has no idea P3 is already carrying more traffic than it should. Head-end. P1. P2. Tail-end. P3 · the IGP’s choice: Utilisation 94%.

Head-endP1P2Tail-endP3 · the IGP’s choiceUtilisation: 94%Shortest, congested
  • Link
  • Blocking
  • Packet in flight
  • Discarded
  • Emphasis
Select a device to read its state. Arrow keys walk the topology.
Text equivalent of this diagram
Devices and links at this step
ElementKindState
Head-endrouter
P1router
P2router
Tail-endrouter
P3 · the IGP’s choicerouterUtilisation: 94%
Head-endP1linkup
P1P2linkup
P2Tail-endlinkup
Head-endP3 · the IGP’s choicelinkup
P3 · the IGP’s choiceTail-endlinkup
1 / 5

The IGP would send everything through P3, because that is the shortest path. It has no idea P3 is already carrying more traffic than it should.

This is the gap traffic engineering exists to fill. LDP builds label paths that follow the IGP exactly, so it inherits the IGP’s indifference to load.

What changed

  • Emphasis: Shortest, congested
  • P3 · the IGP’s choice: Utilisation → 94%

How it works

A Path message travels head to tail carrying an Explicit Route Object — the hops requested, strict or loose — and a Label Request. A Resv travels back, and each router allocates the label it wants to receive on and passes it upstream. DownstreamRFC 3209 · PROPOSED STANDARD · December 2001

The Record Route Object collects the hops actually traversed. With loose hops in the ERO, the RRO is the only place the real path appears, and comparing the two is the first diagnostic worth running. Record Route ObjectRFC 3209 · PROPOSED STANDARD · December 2001

Everything is soft state, refreshed every thirty seconds. That is what lets an LSP heal without explicit teardown, and it is why message load grows with both the number of LSPs and their length — the reason refresh reduction exists.

Fast reroute pre-signals the repair. Facility backup builds one bypass per protected element, shared by every LSP crossing it; one-to-one builds a detour per LSP. The point of local repair pushes an extra label and switches without consulting the head-end. Facility BackupRFC 4090 · PROPOSED STANDARD · May 2005

On the wire

Constructed examples, encoded from the field table below them — not captured traffic.

Outer label 16001 (S=0) toward the egress PE, inner VPN label 5001 (S=1) selecting the VRF.

MPLS
Stacked after the link-layer header, before the inner IP or Ethernet payload. RFC 3032

Configure it

A constrained tunnel with facility protection and an honest reservation.

Cisco IOS-XR 7.11 · ASR 9000, NCS 5500draft

  1. rsvp
     interface TenGigE0/0/0/0
      bandwidth percentage 80

    Declares how much of the link RSVP may hand out. It is an admission-control budget, not a shaper — nothing enforces it in the data plane.

    RFC 3209 §2.1

  2. router isis CORE
     address-family ipv4 unicast
      mpls traffic-eng level-2-only
      mpls traffic-eng router-id Loopback0

    The IGP is what advertises available bandwidth and affinities. Without the TE extensions there is no topology for CSPF to compute against.

  3. interface tunnel-te1
     ipv4 unnumbered Loopback0
     destination 10.0.0.9
     path-option 10 dynamic
     signalled-bandwidth 1000000

    A dynamic path option lets CSPF choose, subject to the constraints. An explicit path option would carry an ERO the operator wrote.

    RFC 3209 §4.3

  4. interface tunnel-te1
     fast-reroute
     fast-reroute protect node

    Requests protection in the session attributes. Node protection asks for a bypass that merges beyond the next hop — link protection alone does nothing when the next router itself fails.

    Common mistake: Enabling fast-reroute and never signalling a bypass on the midpoints. The head-end asks for protection; the PLR is what has to provide it.

    RFC 4090 §6.4

  5. mpls traffic-eng
     interface TenGigE0/0/0/0
      backup-path tunnel-te100

    The bypass itself, configured on the router that will do the repair. One bypass covers every LSP crossing the protected interface, which is what makes facility backup scale.

    RFC 4090 §3.2

  6. policy-map TE-POLICE
     class class-default
      police rate 1 gbps
    interface tunnel-te1
     service-policy input TE-POLICE

    The line that makes the reservation true. Without it the LSP can carry several times what CSPF subtracted from every link on its path, and every later placement is computed from a false number.

  7. interface tunnel-te1
     auto-bw
      application 1440
      bw-limit min 100000 max 5000000

    The alternative to policing: resignal the reservation to match measured usage. It makes the number true by changing the number rather than the traffic.

Verify

show mpls traffic-eng tunnels detail
ERO against RRO, and whether FRR is active.
show mpls traffic-eng fast-reroute database
Which LSPs a bypass is protecting.
show rsvp interface
Reserved against configured bandwidth, per interface.
show mpls traffic-eng tunnels statistics
Carried traffic — compare it with the signalled bandwidth.

Caveats

  • The reservation is control-plane accounting. Without a policer or auto-bandwidth it can be arbitrarily wrong, and CSPF keeps planning from it.
  • Node protection needs a bypass that merges past the next hop; link protection alone leaves a router failure unprotected.
  • Refresh load grows with LSPs multiplied by hops. Enable refresh reduction before it matters.

When it breaks

Symptom first, because that is what you have when it happens.

  1. A link is congested while the TE database reports several gigabits of unreserved bandwidth.

    Narrow it down

    1. Compare each LSP’s signalled bandwidth against its measured throughput.
    2. Check the interface utilisation, which is the only measured number of the three.
    3. Look for a policer or shaper at the head-end — its absence is usually the answer.

    Cause

    The reservation exists only in the control plane. Forwarding consults the label, and nothing in the data path enforces the number CSPF subtracted.

    Fix

    Police or shape at the head-end, or enable auto-bandwidth so the reservation tracks measured usage.

  2. An LSP is up and takes a path nobody expected.

    Narrow it down

    1. Compare the ERO against the RRO — requested against actual.
    2. Check which hops in the ERO are loose rather than strict.
    3. Look at what the IGP chose to fill each loose segment.

    Cause

    A loose hop delegates the intermediate path to the IGP. The LSP is following the constraint it was given; the constraint was weaker than intended.

    Fix

    Make the hops strict where the path matters, or add affinities so the loose segments cannot choose links you do not want.

    Strict and Loose SubobjectsRFC 3209 · PROPOSED STANDARD · December 2001
  3. Rerouting an LSP fails with insufficient bandwidth on a link the LSP already traverses.

    Narrow it down

    1. Check the reservation style — Fixed Filter or Shared Explicit.
    2. Look at whether old and new LSP instances are both counted on the shared links.
    3. Confirm the new path shares links with the old one.

    Cause

    Fixed Filter style treats the new LSP as an unrelated reservation, so shared links are booked twice during make-before-break.

    Fix

    Use Shared Explicit style, which lets the two instances share the reservation on links they have in common.

    Shared Explicit (SE) StyleRFC 3209 · PROPOSED STANDARD · December 2001
  4. Fast reroute is configured and a router failure still causes seconds of loss, while link failures recover instantly.

    Narrow it down

    1. Check whether the bypass terminates on the next hop or the next-next hop.
    2. Confirm what the PLR believes it is protecting.
    3. Look at whether a node-protecting path exists in the topology at all.

    Cause

    The bypass protects the link and merges at the far end of it. When the router at that end fails, the bypass fails with it.

    Fix

    Signal a node-protecting bypass to the next-next hop where the topology allows one.

    Signaling for Facility ProtectionRFC 4090 · PROPOSED STANDARD · May 2005
  5. Control-plane CPU rises with the number of LSPs, and sessions drop during periods of churn.

    Narrow it down

    1. Count LSPs multiplied by hops — that product is the refresh load.
    2. Check whether refresh reduction and message bundling are enabled.
    3. Look at whether hello-based node failure detection is doing the work refreshes would otherwise do.

    Cause

    Soft state is refreshed per LSP per hop every thirty seconds. The load grows with both numbers, and neither is bounded by anything but the design.

    Fix

    Enable refresh reduction and message bundling, and reconsider whether the number of LSPs is what the design needs or what it accumulated.

Design notes

A reservation is an accounting entry, not a policer. Without a shaper at the head-end an LSP can carry several times its reservation, and the TE database will keep reporting bandwidth that is not there — so every subsequent placement decision is made from fiction.

Use Shared Explicit style for anything that reroutes. Fixed Filter double-books the bandwidth during make-before-break, so a reroute can fail for want of capacity the LSP already holds. Shared Explicit (SE) StyleRFC 3209 · PROPOSED STANDARD · December 2001

Choose facility backup unless there is a specific reason not to. One-to-one gives a per-LSP repair path and per-LSP state, and the state is what stops scaling first.

Protect the node, not just the link, where the next hop is a single point of failure. Link protection restores traffic around a failed link and does nothing at all when the router itself goes.

Misconceptions

The head-end tells each router which label to use.
The opposite. Each router allocates the label it will receive on, from its own label space, and hands it upstream in the Resv. The Path message asks; the Resv answers. DownstreamRFC 3209 · PROPOSED STANDARD · December 2001
Reserved bandwidth is guaranteed to the LSP.
It is subtracted from a database that CSPF consults. Nothing in the forwarding path enforces it, so an LSP can carry several times its reservation while the database reports capacity that is not there.
After fast reroute the LSP is on a good path.
It is on a fast one. The bypass may be longer, more congested, or in violation of the constraints the LSP was built with. Reoptimisation at the head-end is what produces a good path, and it happens afterwards. Revertive BehaviorRFC 4090 · PROPOSED STANDARD · May 2005
RSVP-TE replaces the IGP.
It depends on it. The traffic-engineering extensions to OSPF or IS-IS are what advertise available bandwidth and affinities, and CSPF runs over that topology. Without the IGP there is nothing to compute a constrained path from.

More walkthroughs

A backup already signalled, waitingdesign-choice

Fast reroute pre-builds the repair so the router next to the failure can switch in tens of milliseconds without telling anyone first.

Without local repair, a link failure has to reach the head-end before anything moves. That is IGP convergence plus resignalling — hundreds of milliseconds at best. Head-end. PLR. Next hop. Merge point. Bypass path.

Head-endToo far from the failurePLRNext hopMerge pointBypass path
  • Link
  • Blocking
  • Packet in flight
  • Discarded
  • Emphasis
Select a device to read its state. Arrow keys walk the topology.
Text equivalent of this diagram
Devices and links at this step
ElementKindState
Head-endrouter
PLRrouter
Next hoprouter
Merge pointrouter
Bypass pathrouter
Head-endPLRlinkup
PLRNext hoplinkup
Next hopMerge pointlinkup
PLRBypass pathlinkstandby
Bypass pathMerge pointlinkstandby
1 / 7

Without local repair, a link failure has to reach the head-end before anything moves. That is IGP convergence plus resignalling — hundreds of milliseconds at best.

What changed

  • Emphasis: Too far from the failure

The bandwidth that was booked and never enforcedfailure

A reservation is an accounting entry in the control plane. Nothing stops the traffic exceeding it, and the accounting keeps saying everything is fine.

The LSP is signalled with a 1 Gb reservation. The link’s available bandwidth drops by 1 Gb everywhere in the TE database, and CSPF plans around it. Head-end: Reserved 1 Gb. 10 Gb link: Unreserved 9 Gb. Tail-end.

Head-endReserved: 1 Gb10 Gb linkUnreserved: 9 GbTail-end
  • Link
  • Blocking
  • Packet in flight
  • Discarded
  • Emphasis
Select a device to read its state. Arrow keys walk the topology.
Text equivalent of this diagram
Devices and links at this step
ElementKindState
Head-endrouterReserved: 1 Gb
10 Gb linkzoneUnreserved: 9 Gb
Tail-endrouter
Head-end10 Gb linklinkup
10 Gb linkTail-endlinkup
1 / 5

The LSP is signalled with a 1 Gb reservation. The link’s available bandwidth drops by 1 Gb everywhere in the TE database, and CSPF plans around it.

What changed

  • Head-end: Reserved → 1 Gb
  • 10 Gb link: Unreserved → 9 Gb
  • Emphasis on Head-end

Terms

Explicit Route Object
The list of hops an RSVP-TE Path message asks for. Strict hops mean exactly that router next; a loose hop delegates the segment to the IGP, which is where LSPs on surprising paths come from.
Make-before-break
Signalling a new LSP before tearing the old one down. It needs Shared Explicit style, or the two instances double-book the bandwidth on every link they have in common.
Facility backup
One pre-signalled bypass per protected link or node, shared by every LSP crossing it. The state is per element rather than per LSP, which is why it scales where one-to-one detours do not.

Check yourself

  • Which router allocates the label used for a given hop of an RSVP-TE LSP?
  • An LSP with a loose-hop ERO takes an unexpected path. What happened?
  • Why does make-before-break need Shared Explicit reservation style?
  • What distinguishes facility backup from one-to-one backup?
  • An LSP reserved 1 Gb and carries 3 Gb. What stops it?
  • What happens to an LSP whose Path and Resv messages stop being refreshed?
  • An LSP is up. Which object tells you the path it actually took?
  • Fast reroute is configured, link failures recover instantly, and a router failure still costs seconds. Why?