Combination Method of NASs
Internet-Draft draft-liu-mpls-nas-combination-00
Yao Liu
ZTE
Nanjing
China
liu.yao71@zte.com.cn
Zheng Zhang
ZTE
Nanjing
China
zhang.zheng@zte.com.cn
2022
Transport
MPLS
MNA
This document provides an alternate mechanism to provide different ordering of in-stack data for MNA solutions which leverage the fixed bit catalogs.
Introduction
There is significant interest in developing the MPLS data plane to address the requirements of new applications [I-D.ietf-mpls-mna-usecases]. As introduced in [I-D.andersson-mpls-mna-fwk], the MPLS Network Actions (MNA) technologies aim to solve this. An MNA solution is envisioned as a set of network action sub-stacks(NAS), each consists of label, indicators and in-Stack Data.
One MNA solution may choose to encode the set of network actions as a list of bits in the network action indicator, and the ordering of the in-stack data LSEs corresponds to the ordering of the network action indicators. If the meaning and ordering of the bits in the network action indicator is fixed, then the ordering of the network action and the corresponding possible in-stack data in the NAS are fixed either.
Solutions leveraging the fixed bit catalogs are efficient for LSRs to process, but there may be scenarios where the ordering of the network actions/in-stack datas expected is not the ordering specified in the network action indicator.
This document provides an alternate mechanism to provide different ordering of in-stack data for MNA solutions which leverage the fixed bit catalogs and makes these solutions more flexible.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
Terminology
The terminologies follows [I-D.andersson-mpls-mna-fwk].
- Ancillary Data (AD): Data relating to the MPLS packet that may be used to affect the forwarding or other processing of that packet, either at an Label Edge Router (LER) [RFC4221] or Label Switching Router (LSR). This data may be encoded within a network action sub-stack (see below) (in-stack data), and/or after the bottom of the label stack (post-stack data).
- Network Action: An operation to be performed on a packet. A network action may affect router state, packet forwarding, or it may affect the packet in some other way. A network action is said to be present if there is an indicator in the packet that invokes the action.
- Network Action Indication (NAI): An indication in the packet that a certain network action is to be perfomed. There may be associated ancillary data in the packet.
- Network Action Sub-Stack (NAS): A set of related, contiguous Label Stack Entries (LSEs). The first LSE is the Network Action Sub-stack Indicator. The TC and TTL values in the sub-stack may be redefined.
- Network Action Sub-Stack Indicator (NSI): An LSE that contains a special label that indicates the start of a Network Action Sub-stack.
Combination of NASs
Different Ordering of Network Action/In-stack Data
Bit-cataloged Indicator

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                Label                  |x x x|S|x x|x|x x x|A|B|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 1 show an example of a bit-cataloged indicator in the NAS (using the TC and TTL repurposed method).
Bit A indicates that network action A and the corresponding in-stack ancillary data A is present when set to 1.
Bit B indicates that network action B and the corresponding in-stack ancillary data A is present when set to 1.
If bit A and bit B are both set to 1, it indicates that both network action A and network action B are present, and the LSE which carries data A is followed by that which contains data B.
If it is required that data B is located before data A in the packet, an single NAS based on the fixed-bit approach can't fulfill this requirement.
C-bit in the Indicator
This document introduces a continue bit (C-bit) in the indicator as shown in the encoding example in Figure 2.
C-bit in the Indicator

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                Label                  |x x x|S|x x|C|x x x|x|x|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

When C-bit is set to 1, it indicates that there's another NAS following and the LSR SHOULD continue to look for the beginning of the next NAS and process it.
With C-bit, NASs can be combined together as a whole to express different ordering of network actions and in-stack data.
Encoding Example
Figure 3 shows an encoding example of the combination of NASs leveraging C-bit.
Combination of NASs

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---------------
     |                Label                  |x x x|S|x x|1|x x x|0|1|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   NAS-1
     |                         Data   B                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---------------
     |                Label                  |x x x|S|x x|0|x x x|1|0|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   NAS-2
     |                         Data   A                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---------------

For the indicator in NAS-1:
C=1: there's another NAS following.
B=1: Data B is included.
For the indicator in NAS-2:
C=0: there's no NAS following.
A=1: Data A is included.
IANA Considerations
IANA is requested to create a new registry to assign a bit position for C-bit of the network action indicator. .

              +==============+=============+===============+
              | Bit Position | Description | Reference     |
              +==============+=============+===============+
              |  TBA         | Continue to | This document |
              |              |  next NAS   |               |
              +--------------+-------------+---------------+

Security Considerations
This document introduces no new security considerations.
References
Normative References
Informative References
[I-D.ietf-mpls-mna-usecases]
[I-D.andersson-mpls-mna-fwk]
[RFC2119]
[RFC4221]