Subject: [mpls] Preemption during PATH or RESV message processing? (RFC 3209)

From: Ramakrishna DTV <[email-masked]>
Date: Tue, 20 Sep 2016 11:07:34 +0000

Hi,

I request your comments on what seems to be an inconsistency in RFC 3209 about
the following aspect. This is regarding the activities (bandwidth reservation
and preemption) and whether they should be done as part of PATH or RESV message
processing. Different parts of RFC 3209 seem to give different recommendations.

The following excerpt is taken from Section 2.2 (Operation of LSP Tunnels):

"  Routers along the path may use the setup and hold priorities along
   with SENDER_TSPEC and any POLICY_DATA objects contained in Path
   messages as input to policy control.  For instance, in the traffic
   engineering application, it is very useful to use the Path message as
   a means of verifying that bandwidth exists at a particular priority
   along an entire path before preempting any lower priority
   reservations.  If a Path message is allowed to progress when there
   are insufficient resources, then there is a danger that lower
   priority reservations downstream of this point will unnecessarily be
   preempted in a futile attempt to service this request."

I believe the above text implies the following:

*. Bandwidth availability checking should be done as part of PATH message
processing.

*. If PATH message reaches tail-end, it means that all the hops have concluded
that bandwidth is available for this LSP.

*. Actual bandwidth reservation and preemption should be done as part of RESV message
processing.

*. Bandwidth reservation and preemption should NOT be done as part of PATH
message processing; otherwise, some LSPs may unnecessarily be preempted.

The following excerpt is taken from Section 4.7.3 (Procedures applying to both
C-Types):

"  When a new Path message is considered for admission, the bandwidth
   requested is compared with the bandwidth available at the priority
   specified in the Setup Priority.

   If the requested bandwidth is not available a PathErr message is
   returned with an Error Code of 01, Admission Control Failure, and an
   Error Value of 0x0002.  The first 0 in the Error Value indicates a
   globally defined subcode and is not informational.  The 002 indicates
   "requested bandwidth unavailable".

   If the requested bandwidth is less than the unused bandwidth then
   processing is complete.  If the requested bandwidth is available, but
   is in use by lower priority sessions, then lower priority sessions
   (beginning with the lowest priority) MAY be preempted to free the
   necessary bandwidth."

While in some respects, this text is consistent with the previous excerpt, it seems to be
inconsistent in some other aspects. In particular,

*. This text is saying that preemption may be done as part of PATH message
processing itself. I presume that also means bandwidth reservation may also
be done as part of PATH message processing itself.

But the previous excerpt is recommending against this.

Thanks and regards,
Ramakrishna DTV.