Internet DRAFT - draft-andersson-mpls-indicators-and-anxillary-data

draft-andersson-mpls-indicators-and-anxillary-data







MPLS Working Group                                          L. Andersson
Internet-Draft                                  Bronze Dragon Consulting
Intended status: Informational                              June 9, 2021
Expires: December 11, 2021


         Indicators and anxillary data in the MPLS Label Stack
         draft-andersson-mpls-indicators-and-anxillary-data-00

Abstract

   This document is a living document, meaning that during the life
   timme of the MPLS Open Design Team we will to survey the relationship
   between indicators and anxillary dat.

   Ideally when the Design Team is closed this document will be empty,
   or maybe we just add a pointer to where the answer to quesstion is
   documented.  Thus this document will never go on to become an RFCc.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on December 11, 2021.

Copyright Notice

   Copyright (c) 2021 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of



Andersson               Expires December 11, 2021               [Page 1]

Internet-Draft             Indicators and Data                 June 2021


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirement Language  . . . . . . . . . . . . . . . . . .   2
     1.2.  Local terminology . . . . . . . . . . . . . . . . . . . .   3
       1.2.1.  Indicator . . . . . . . . . . . . . . . . . . . . . .   3
       1.2.2.  Anxillary Data  . . . . . . . . . . . . . . . . . . .   3
       1.2.3.  Scan, Parse and Readable Depth  . . . . . . . . . . .   3
   2.  Background  . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Combiinations or Indicators anbd Anxillary Data . . . . . . .   4
     3.1.  No extra data . . . . . . . . . . . . . . . . . . . . . .   4
     3.2.  Associated Channel Style  . . . . . . . . . . . . . . . .   5
     3.3.  Extended Associated Channel Style . . . . . . . . . . . .   5
     3.4.  Modified Associated Channel Style . . . . . . . . . . . .   6
     3.5.  Modified Associated Channel Style . . . . . . . . . . . .   7
     3.6.  Enhanced Associated Channel Style . . . . . . . . . . . .   8
     3.7.  Enhanced Associated Channel Style . . . . . . . . . . . .   9
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  11
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  11
   6.  Normative References  . . . . . . . . . . . . . . . . . . . .  11
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   This document discusses in-label-stack indicators to locate anxillary
   data carried in the label stack or after the Bottom of Stack (BoS)
   bit.

   The document is intended to be a "living document", meaning that it
   will be updated as long as the Open DT finds it useful, but it is not
   intended to become an RFC.  Information in this document might be
   captured in "real" output documents from the Open DT.

   "Living Documents" are not commonly used in the IETF, but we have
   considered it to be a good way of documenting the state of the issues
   worked on by the design team.

1.1.  Requirement Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.




Andersson               Expires December 11, 2021               [Page 2]

Internet-Draft             Indicators and Data                 June 2021


   For a document that is not intended to become and RFC on the
   Standards Track it might seem moot to have the requirement language
   included, however it might be that a question or an answer to one of
   the questions might use the BCP 14 language, so to avoid ambiguity we
   left it in.

1.2.  Local terminology

   Two terms are frequently used in this document. "indicator" and
   "anxillary data".  This section gives a high level definition of the
   two terms.

1.2.1.  Indicator

   An indicator is a Spoecial Purpose Label (bSPL or eSPL), or part of
   such a label, carried in MPLS Lael Stack.

1.2.2.  Anxillary Data

   Anxillary data is data that is used to improve the precission of
   packet forwarding, it can be carried as part of a indicator label or
   after the the label with BoS bit set.

1.2.3.  Scan, Parse and Readable Depth

   The three terms are used in the context of finding e.g. indicators or
   the BoS in a label stack.

   The terms "scan" and "parse" are virtually synonymous aand relates to
   an activity to consequtively read the labels in a label stack in
   order to find certain information.

   Readable depths tell you have deep into the label stack a scanning
   (a.k.a parsing) operation can go, expressed in the number of labels.

2.  Background

   When MPLS was first designed the label stack was fairly simple, you
   had a label at the top of the stack on which a forwarding decision
   were taken.  The only exception the few labels (values 0-15) that
   were set aside as Special Purpose Labels, such labels have a special
   action or interpretation assigned to them.

   When Pseudowires were designed it beccame clear that i would be
   beneficial to be possible to send anxillary data together with the
   MPLS packets that transported the Pseudowire payload data.





Andersson               Expires December 11, 2021               [Page 3]

Internet-Draft             Indicators and Data                 June 2021


   The method develooped was to create an Associated Channel as a shim
   between the bottom of the label stack and the Pseudowire payload.

   When the MPLS Transport Profile (MPLS-TP) the assiciated channel were
   were generalized to applocable to all MPLS networks.

   From the start only one associated channel is allowed per packet.
   Lately there has been discussions on allowing multiple associated
   channels or other types of channelized ifo, like MPLS Extension
   headers.

   It should be noted that this "background" does not aspire to be 100%
   historically corect, but is the recollection of the author.

3.  Combiinations or Indicators anbd Anxillary Data

   The aim of this docment is to list all the combinations of of
   indicators and anxillary data that we can think of.  And also make
   note for each case if it is a "requirement" or not.  The different
   types indicators and anxillary data are discussed as they they are
   listed.

3.1.  No extra data

   For completness the Plain Old MPLS Service label stack is included
   here, it does not carry any indicator or anxillary data.


                             +-------------+
                             |   L1 (0)    |
                             +-------------+
                             |   L2 (0)    |
                             +-------------+
                             |   L3 (0)    |
                             +-------------+
                             |   L4 (1)    |
                             +-------------+
                             |  Pay Load   |
                             ~             ~
                             |             |
                             +-------------+



                     Figure 1: Plain Old MPLS Service

   Question: If we normally scan the label stack for indicators is it
   possible to stop the scanning for this type of packet?



Andersson               Expires December 11, 2021               [Page 4]

Internet-Draft             Indicators and Data                 June 2021


   In scope: Yes

3.2.  Associated Channel Style

   The combination of a GAL in the label stack and an Associated Channel
   after the BoS is the the original model for the "Associated Channel".
   Originally only one set of anxillary data and only one indicator was
   allowed.



                             +-------------------+
                             |       L1 (0)      |
                             +-------------------+
                             |   indicator (0)   |
                             +-------------------+
                             |       L3 (0)      |
                             +-------------------+
                             |       L4 (1)      |
                             +-------------------+
                             |  anxillary data   |
                             ~                   ~
                             |                   |
                             +-------------------+
                             |      Pay Load     |
                             ~                   ~
                             |                   |
                             +-------------------+



                   Figure 2: Associated Channel Service

   Question: If we normally scan the label stack for indicators is it
   possible to stop the scanning once the single indicator for this type
   of packet is found?

   In scope: Yes

3.3.  Extended Associated Channel Style

   Recently there has been a discussion about what happen if the label
   stack grow to such a depth that some LSRs can't scan the stack to
   such a depth that the indicator can't be read.  The maximum readable
   depth has been exceeded.  It has been proposed to allow inserting a
   copy of the indicator higher up in the stack.  There is still only
   one set of anxillary data after the BoS.




Andersson               Expires December 11, 2021               [Page 5]

Internet-Draft             Indicators and Data                 June 2021


                             +-------------------+
                             |       L1 (0)      |
                             +-------------------+
                             |  indicator b (0)  |
                             +-------------------+
                             |       L3 (0)      |
                             +-------------------+
                             |       L4 [0)      |
                             +-------------------+
                             |  indicator a (0)  |
                             +-------------------+
                             |       L6 (1)      |
                             +-------------------+
                             |  anxillary data   |
                             ~                   ~
                             |                   |
                             +-------------------+
                             |      Pay Load     |
                             ~                   ~
                             |                   |
                             +-------------------+



               Figure 3: Extended Associated Channel Service

   Question: If we normally scan the label stack for indicators is it
   possible to stop the scanning once the first copy indicator for this
   type of packet is found?

   In scope: Yes

3.4.  Modified Associated Channel Style

   It has been discussed to allow more than one set of anxillary data,
   indicated byt different indicators in the label stack.















Andersson               Expires December 11, 2021               [Page 6]

Internet-Draft             Indicators and Data                 June 2021


                             +-------------------+
                             |       L1 (0)      |
                             +-------------------+
                             |  indicator 2 (0)  |
                             +-------------------+
                             |       L3 (0)      |
                             +-------------------+
                             |       L4 [0)      |
                             +-------------------+
                             |  indicator 1 (0)  |
                             +-------------------+
                             |       L6 (1)      |
                             +-------------------+
                             |  anxillary data 1 |
                             ~                   ~
                             |                   |
                             +-------------------+
                             |  anxillary data 2 |
                             ~                   ~
                             |                   |
                             +-------------------+
                             |      Pay Load     |
                             ~                   ~
                             |                   |
                             +-------------------+



               Figure 4: Modified Associated Channel Service

   Question: There might be a problem to decide which set of anxillary
   data is indicated by which indicator.  Some method to disambiguiate
   this need to be designed.

   In scope: Yes

3.5.  Modified Associated Channel Style

   It has been discussed to allow more than one set of anxillary data,
   indicated byt different indicators in the label stack.











Andersson               Expires December 11, 2021               [Page 7]

Internet-Draft             Indicators and Data                 June 2021


                             +-------------------+
                             |       L1 (0)      |
                             +-------------------+
                             |  indicator 2 (0)  |
                             +-------------------+
                             |       L3 (0)      |
                             +-------------------+
                             |       L4 [0)      |
                             +-------------------+
                             |  indicator 1 (0)  |
                             +-------------------+
                             |       L6 (1)      |
                             +-------------------+
                             |  anxillary data 1 |
                             ~                   ~
                             |                   |
                             +-------------------+
                             |  anxillary data 2 |
                             ~                   ~
                             |                   |
                             +-------------------+
                             |      Pay Load     |
                             ~                   ~
                             |                   |
                             +-------------------+



               Figure 5: Modified Associated Channel Service

   Question: There might be a problem to decide which set of anxillary
   data is indicated by which indicator.  Some method to disambiguiate
   this need to be designed.

   In scope: Maybe, but we should really aim for Section 3.6
   Enhanced Associated Channel Style if we want to do multiple sets of
   anxillary data.

3.6.  Enhanced Associated Channel Style

   The discussion to allow more than one set of anxillary data,
   indicated by different indicators in the label stack, also has
   resulted in that a need to have the indicators to better indicate
   which set of anxillary data is the target.







Andersson               Expires December 11, 2021               [Page 8]

Internet-Draft             Indicators and Data                 June 2021


                             +-------------------+
                             |       L1 (0)      |
                             +-------------------+
                         +---|  indicator 2 (0)  |
                         |   +-------------------+
                         |   |       L3 (0)      |
                         |   +-------------------+
                         |   |       L4 [0)      |
                         |   +-------------------+
                         |   |  indicator 1 (0)  |---+
                         |   +-------------------+   |
                         |   |       L6 (1)      |   |
                         |   +-------------------+   |
                         |   |  anxillary data 1 |<--+
                         |  ~                   ~
                         |   |                   |
                         |   +-------------------+
                         +-->|  anxillary data 2 |
                             ~                   ~
                             |                   |
                             +-------------------+
                             |      Pay Load     |
                             ~                   ~
                             |                   |
                             +-------------------+



              Figure 6: Enhanceded Associated Channel Service

   Question: Nil

   In scope: Yes

3.7.  Enhanced Associated Channel Style

   There is also a proposal to allocate a new bSPL called Farwarding
   Action Indicator (FAI).  The FAI uses the "unused" bits in the label
   format, i.e. the TTL and the TC bits.  These bits can bothe be "self
   contained", i.e. the bit give all the information needed for the
   required forwarding action, or they point to anxillary data after the
   BoS.









Andersson               Expires December 11, 2021               [Page 9]

Internet-Draft             Indicators and Data                 June 2021


                             +-------------------+
                             |       L1 (0)      |
                             +-------------------+
    (the FAI expanded below) |      FAI (0)      |
                             +-------------------+
                             |       L3 (0)      |
                             +-------------------+
                             |       L4 [0)      |
                             +-------------------+
                             |  indicator 1 (0)  |---+
                             +-------------------+   |
                             |       L6 (1)      |   |
                             +-------------------+   |
                             |  anxillary data 1 |<--+
                             ~                   ~
                             |                   |
                             +-------------------+
                             |  anxillary data 2 |
                             ~                   ~
                             |                   |
                             +-------------------+
                             |      Pay Load     |
                             ~                   ~
                             |                   |
                             +-------------------+
                               1                 2                   3
         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 8 9 0 1 2 3 4 5 6 7 8 9 0 1
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   name |                FAI                  | TC  |S|      TTL      |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   bits |      [to be alloacted)              |x x x|-|x x x x x x x x|
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   Exmp |                                     |0 0 0|-|0 0 0 1 0 0 1 0|
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Legend:
             The "-" in the BoS  (s) means that it is not availabel for
             FAI encoding
             Bits 20-22 and 24-31 are availabel for FAI encodings
             On the example line two bits are set, bit 27 and 30.
             Without claiming that this aligns with the existing
             proposal, we can imaging that bit 27 is self contained and
             directly gives forwarding actioins required, and that
             bit 30 indicates presence of anxillary data after the BoS.



              Figure 7: Enhanceded Associated Channel Service



Andersson               Expires December 11, 2021              [Page 10]

Internet-Draft             Indicators and Data                 June 2021


   Question: Can we make the bits in an SPL exactly point out which set
   of anxillary data that should be used?

   In scope: Likely

4.  IANA Considerations

   This document does not make any allocations of code points from IANA
   registries.

5.  Acknowledgements

   -

   -

6.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

Author's Address

   Loa Andersson
   Bronze Dragon Consulting

   Email: loa@pi.nu


















Andersson               Expires December 11, 2021              [Page 11]