Skip to main content

BGP SR Policy Extensions for metric
draft-zhang-idr-sr-policy-metric-01

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors KaZhang , Jie Dong
Last updated 2022-11-06
Replaced by draft-ietf-idr-sr-policy-metric
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-zhang-idr-sr-policy-metric-01
Network Working Group                                           K. Zhang
Internet-Draft                                                   J. Dong
Intended status: Informational                                    Huawei
Expires: 10 May 2023                                     6 November 2022

                  BGP SR Policy Extensions for metric
                  draft-zhang-idr-sr-policy-metric-01

Abstract

   SR Policy candidate paths can be represented in BGP UPDATE messages.
   BGP can then be used to propagate the SR Policy candidate paths to
   the headend nodes in the network.  After SR Policy is installed on
   the ingress node, the packets can be steered into SR Policy through
   route selection.  Therefore, route selection may be performed on the
   ingress node of the SR Policy.  If there are multiple routes to the
   same destination, the route selection node can select routes based on
   the local policy.  The local policy may use the IGP metric of the
   selected path, which is the IGP Metric of the SR Policy.  Thus the
   BGP UPDATE message need carry the metric of each segment list of the
   SR Policy Candidate Path, which can be used in path selection of
   routing.

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 BCP 14 [RFC2119]
   [RFC8174] when, and only when, they appear in all capitals, as shown
   here.

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 10 May 2023.

Zhang & Dong               Expires 10 May 2023                  [Page 1]
Internet-Draft     BGP SR Policy Extensions for metric     November 2022

Copyright Notice

   Copyright (c) 2022 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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Motivation  . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  SR Policy and Tunnel Encapsulation Attribute Update . . . . .   3
     4.1.  Metric sub-TLV  . . . . . . . . . . . . . . . . . . . . .   4
   5.  Metric process of SR Policy segment list  . . . . . . . . . .   6
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   [I-D.ietf-idr-segment-routing-te-policy]defines SR Policy and Tunnel
   Encapsulation Attributes.  It defines the segment list of the SR
   policies.  Each segment list of an SR Policy is an segment routing
   path, which may be calculated by path compuation element and
   delivered to the head node of the device by BGP Update Message.  On
   the ingress node, when steer traffic to an SR Policy, the ingress
   node may need to select between multiple SR Policy paths.  And the
   selection policy may need the path metric information.  Therefore,
   BGP needs to carry the metric of each path when delivering the
   semgnet list of the SR Policy through Update messages to facilitate
   route selection on the device.

2.  Terminology

   The following terminology is used in this document.

   SR Policy: An ordered list of segments.

Zhang & Dong               Expires 10 May 2023                  [Page 2]
Internet-Draft     BGP SR Policy Extensions for metric     November 2022

   Candidate Path: the unit for signaling of an SR Policy to a headend
   via protocol PCEP or BGP, which is defined in
   [I-D.ietf-pce-segment-routing-policy-cp] and
   [I-D.ietf-idr-segment-routing-te-policy].

   SRPM: SR Policy Module.

3.  Motivation

   In route selection scenarios, the metric of the SR Policy segment
   list may be required.

   The specific scenarios are as follows:

                            +--+         +--+         +---+
                   _ _ _ _ _|P1|_ _ _ _ _|P2|_ _ _ _ _|PE2|_ _ _ _
                  |         +--+         +--+         +---+       |
                  |                                               |
    +---+        +---+                                           +---+
    |CE1|_ _ _ _ |PE1|                                           |CE1|
    +---+        +---+                                           +---+
                  |         +--+         +--+         +---+       |
                  |_ _ _ _ _|P3|_ _ _ _ _|P4|_ _ _ _ _|PE3|_ _ _ _|
                            +--+         +--+         +---+

   On PE1, the route prefix to CE1 has two diffierent next hop, PE2 and
   PE3.  The next hop to PE1 uses an SR Policy1 on PE1, the endpoint of
   SR Policy1 is PE2.  The next hop to PE2 uses an SR Policy2 on PE1,
   the endpoint of SR Policy2 is PE3.  The prefix to CE1 want to choose
   a next hop based on the IGP metric of the route PE1 to PE2 and PE1
   and PE3, which uses SR Policy1 and SR Policy2.  Thus need the IGP
   metric of SR Policy semgent list on PE1.

4.  SR Policy and Tunnel Encapsulation Attribute Update

   As the metric is defined, the tunnel attribute encapsulation of the
   BGP SR Policy needs to be updated.

   The SR Policy Encoding structure is as follows:

   SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint>
   Attributes:
     Tunnel Encaps Attribute (23)
         Tunnel Type: SR Policy
             Binding SID

Zhang & Dong               Expires 10 May 2023                  [Page 3]
Internet-Draft     BGP SR Policy Extensions for metric     November 2022

             Preference
             Priority
             Policy Name
             Policy Candidate Path Name
             Explicit NULL Label Policy (ENLP)
                 Segment List
                     Weight
                     Metric
                     Segment
                     Segment
                     ....
                     ....

   Where metric indicates the metric for the segment list.

4.1.  Metric sub-TLV

   A new sub-TLV called Metric sub-TLV is defined.  Metric sub-TLV
   specifies the metric of an SR policy segment list.  The Metric
   sub-TLV format is the same as the SR Segment List Metric Sub-TLV
   defined in [I-D.ietf-idr-te-lsp-distribution].
   Each sub-TLV is encoded as shown in Figure 1.

     0               1               2               3
     0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |      Type     |    Length     |   Metric Type    |   Flags   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                     Metric Margin                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                     Metric Bound                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                     Metric Value                             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Figure 1: Metric Sub-TLV

   * Type: Metric, 1 octet, TBD.

Zhang & Dong               Expires 10 May 2023                  [Page 4]
Internet-Draft     BGP SR Policy Extensions for metric     November 2022

   * Length: 12 octets.
        
   * Metric Type: 1-octet field which identifies the type of the metric
     being used.  The metric type code points are listed as follows.

         +============+=========================================+
         | Code Point | Metric Type                             |
         +============+=========================================+
         | 0          | IGP Metric                              |
         +------------+-----------------------------------------+
         | 1          | Min Unidirectional Link Delay [RFC7471] |
         +------------+-----------------------------------------+
         | 2          | TE Metric [RFC3630]                     |
         +------------+-----------------------------------------+
         | 3          | Hop Count (refer [RFC5440])             |
         +------------+-----------------------------------------+
         | 4          | SID List Length                         |
         +------------+-----------------------------------------+

                         Table 1: Metric Sub-TLV

   *  Flags: 1-octet field that indicates the validity of the metric
      fields and their semantics.  The following bit positions are
      defined and the other bits MUST be cleared by the originator and
      MUST be ignored by a receiver.

          0 1 2 3 4 5 6 7
         +-+-+-+-+-+-+-+-+
         |M|A|B|V|       |
         +-+-+-+-+-+-+-+-+

     where:

     - M-Flag: Indicates that the metric margin allowed for this path
       computation is specified when set

     - A-Flag: Indicates that the metric margin is specified as an
       absolute value when set and is expressed as a percentage of the
       minimum metric when clear.

     - B-Flag: Indicates that the metric bound allowed for the path is
       specified when set.

     - V-Flag: Indicates that the metric value computed is being reported
       when set.

Zhang & Dong               Expires 10 May 2023                  [Page 5]
Internet-Draft     BGP SR Policy Extensions for metric     November 2022

   * Metric Margin: 4-octet value which indicates the metric margin
     value when the M-flag is set.  The metric margin is specified
     as either an absolute value or as a percentage of the minimum
     computed path metric based on the A-flag.  The metric margin
     loosens the criteria for minimum metric path calculation up to
     the specified metric to accomodate for other factors such as
     bandwidth availability, minimal SID stack depth, and maximizing
     of ECMP for the SR path computed.

   * Bound: 4-octet value which indicates the maximum metric
     value that is allowed when the B-flag is set.  If the computed
     path metric crosses the specified bound value then the path is
     considered invalid.

   * Metric Value: 4-octet value which indicates the metric of the
     computed path when the V-flag is set.  This value is available
     and reported when the computation is successful and a valid
     path is available.

5.  Metric process of SR Policy segment list

   When SR Policy headend get the SR Policy segment list with metric,
   how to process the metric is local policy.

   The active candidate path of SR Policy may have several segment
   lists, each segment list have different metric.  It is recommended
   that the segment lists in one candidate path have the same metric
   type.  If the metric value of segment lists in one candidate path is
   different, the candidate path metric can use the maximum value as the
   metric of candidate path.  And the SR Policy metric use the metric
   value of active candidate path.

6.  Acknowledgements

   TBD.

7.  IANA Considerations

   This document requests that IANA allocates a new codepoints allocated
   to the field defined in Section 4.1 from the "Sub-TLVs for SR Policy"
   registry as specified.

8.  Security Considerations

   These extensions to BGP SR Policy do not add any new security issues
   to the existing protocol.

9.  References

Zhang & Dong               Expires 10 May 2023                  [Page 6]
Internet-Draft     BGP SR Policy Extensions for metric     November 2022

   [I-D.ietf-idr-segment-routing-te-policy]
              Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P.,
              Jain, D., and S. Lin, "Advertising Segment Routing
              Policies in BGP", Work in Progress, Internet-Draft, draft-
              ietf-idr-segment-routing-te-policy-20, 27 July 2022,
              <https://www.ietf.org/archive/id/draft-ietf-idr-segment-
              routing-te-policy-20.txt>.

   [I-D.ietf-idr-te-lsp-distribution]
              Previdi, S., Talaulikar, K., Dong, J., Chen, M., Gredler,
              H., and J. Tantsura, "Distribution of Traffic Engineering
              (TE) Policies and State using BGP-LS", Work in Progress,
              Internet-Draft, draft-ietf-idr-te-lsp-distribution-18, 22
              August 2022, <https://www.ietf.org/archive/id/draft-ietf-
              idr-te-lsp-distribution-18.txt>.

   [I-D.ietf-pce-segment-routing-policy-cp]
              Koldychev, M., Sivabalan, S., Barth, C., Peng, S., and H.
              Bidgoli, "PCEP extension to support Segment Routing Policy
              Candidate Paths", Work in Progress, Internet-Draft, draft-
              ietf-pce-segment-routing-policy-cp-08, 24 October 2022,
              <https://www.ietf.org/archive/id/draft-ietf-pce-segment-
              routing-policy-cp-08.txt>.

   [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>.

   [RFC8664]  Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
              and J. Hardwick, "Path Computation Element Communication
              Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
              DOI 10.17487/RFC8664, December 2019,
              <https://www.rfc-editor.org/info/rfc8664>.

Authors' Addresses

   Ka Zhang
   Huawei
   Huawei Bld., No.156 Beiqing Rd.
   Beijing
   100095
   China

Zhang & Dong               Expires 10 May 2023                  [Page 7]
Internet-Draft     BGP SR Policy Extensions for metric     November 2022

   Jie Dong
   Huawei
   Huawei Bld., No.156 Beiqing Rd.
   Beijing
   100095
   China

Zhang & Dong               Expires 10 May 2023                  [Page 8]