Subject: ttl handling

From: Puneet Agarwal <[email-masked]>
Date: Thu, 15 Jun 2000 19:03:52 -0700 (PDT)

While reading the Uniform Model and Pipe Model section of 
   draft-ietf-mpls-diff-ext-05.txt, it struck me that for these models
   to be consistent for an LSP, one needs to also look at the TTL handling
   on the LSRs (and not just the diff-serv behavior). 

   section 2.4 of draft-ietf-mpls-label-encaps-07.txt seems to cover the
   Uniform model but does not cover the Pipe model.

   My model for TTL handling is described below. This can easily be
   extended for hierarchical operations.

   If these are already covered in an existing document, then I would 
   appreciate if someone can send me a pointer to the document.

   1. Operation of the Uniform Model is illustrated below
      (consistent with draft-ietf-mpls-label-encaps-07.txt):

             ========== LSP =============================>

                 +--Swap--(n-2)-...-swap--(n-i)-----+
                /        (outer header)              \
              (n-1)                                  (n-i)
              /                                         \
   >--(n)--Push...............(x).......................Pop--(n-i-1)->
            (I)           (inner header)                (E or P)

   (n) represents the TTL value in the corresponding header

   (x) represents non-meaningful TLL information

   2a) Operation of the Pipe Model without PHP is illustrated below (proposed):

             ========== LSP =============================>

                 +--Swap--(N-1)-...-swap--(N-i)-----+
                /        (outer header)              \
              (N)                                  (N-i)
              /                                         \
   >--(n)--Push...............(n-1).....................Pop--(n-2)->
            (I)           (inner header)                (E)

   (N) represents the TTL value (may have no relationship to n)
   (n) represents the tunneled TTL value in the encapsulated header

   2b) Operation of the Pipe Model with PHP is illustrated below (proposed):
             ========== LSP =====================================>
                 +--Swap--(N-1)-...-swap--(N-i)--+
                /        (outer header)           \
              (N)                                (N-i)
              /                                      \
   >--(n)--Push...............(n-1)..................Pop--(n-1)-(E)-(n-2)-->
            (I)           (inner header)                (P)

   (N) represents the TTL value (may have no relationship to n)
   (n) represents the tunneled TTL value in the encapsulated header

-Puneet