OSPF Working Group J. Tantsura
Internet-Draft Individual
Intended status: Standards Track U. Chunduri
Expires: September 9, 2017 Huawei Technologies
S. Aldrin
Google, Inc
P. Psenak
Cisco Systems
March 8, 2017

Signaling MSD (Maximum SID Depth) using OSPF


This document proposes a way to signal Maximum SID Depth (MSD) supported by a node at node and/or link granularity by an OSPF Router. In a Segment Routing (SR) enabled network a centralized controller that programs SR tunnels needs to know the MSD supported by the head-end at node and/or link granularity to push the SID stack of an appropriate depth. MSD is relevant to the head-end of a SR tunnel or Binding-SID anchor node where Binding-SID expansions might result in creation of a new SID stack. Here the term OSPF means both OSPFv2 and OSPFv3.

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 http://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 September 9, 2017.

Copyright Notice

Copyright (c) 2017 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 (http://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 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

Table of Contents

1. Introduction

When Segment Routing tunnels are computed by a centralized controller, it is critical that the controller learns the MSD "Maximum SID Depth" of the node or link SR tunnel exits over, so the SID stack depth of a path computed doesn't exceed the number of SIDs the node is capable of imposing. This document describes how to use OSPF to signal the MSD of a node or link to a centralized controller.

PCEP SR extensions draft [I-D.ietf-pce-segment-routing] signals MSD in SR PCE Capability TLV and METRIC Object. However, if PCEP is not supported/configured on the head-end of a SR tunnel or a Binding-SID anchor node and controller does not participate in IGP routing, it has no way to learn the MSD of nodes and links which has been configured. BGP-LS [RFC7752] defines a way to expose topology and associated attributes and capabilities of the nodes in that topology to a centralized controller. MSD signaling by BGP-LS has been defined in [I-D.tantsura-idr-bgp-ls-segment-routing-msd]. Typically, BGP-LS is configured on a small number of nodes, that do not necessarily act as head-ends. In order, for BGP-LS to signal MSD for the all nodes and links in the network MSD is relevant, MSD capabilites SHOULD be distributed to every OSPF router in the network.

[I-D.ietf-ospf-mpls-elc] defines Readable Label Depth Capability (RLDC) that is used by a head-end to insert Entropy Label (EL) at appropriate depth, so it could be read by transit nodes. MSD in contrary signals ability to push SID's stack of a particular depth.

MSD of type 1 (IANA Registry) is used to signal the number of SIDs a node is capable of imposing, to be used by a path computation element/controller and is only relevant to the part of the stack created as the result of the computation. In case, there are additional labels (e.g. service) that are to be pushed to the stack - MSD SHOULD be adjusted to reflect that. In the future, new MSD types could be defined to signal additional capabilities: entropy labels, labels that can be pushed thru recirculation, or another dataplane e.g IPv6.

[I-D.ietf-ospf-mpls-elc] defines, RLDC which indicates how many labels a node can read to take a decision to insert an Entropy Label (EL) and is different than how many labels a node can push as defined by MSD in this draft.

1.1. Conventions used in this document

1.1.1. Terminology

BGP-LS: Distribution of Link-State and TE Information using Border Gateway Protocol

OSPF: Open Shortest Path First

MSD: Maximum SID Depth

PCC: Path Computation Client

PCE: Path Computation Element

PCEP: Path Computation Element Protocol

SID: Segment Identifier

SR: Segment routing

1.2. 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 RFC 2119 [RFC2119].

2. Terminology

This memo makes use of the terms defined in [RFC4970].

3. Node MSD TLV

A new TLV within the body of the OSPF RI Opaque LSA, called Node MSD TLV is defined to carry the provisioned SID depth of the router originating the RI LSA. Node MSD is the lowest MSD supported by the node.

       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
      |    Type                       |         Length                |   
      |         Sub-Type and Value ...
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ...


Figure 1: Node MSD TLV

The Type (2 bytes) of this TLV is 12 (Suggested value - to be assigned by IANA).

Length is variable (minimum of 2, multiple of 2 octets) and represents the total length of value field.

Value field consists of a 1 octet sub-type (IANA Registry) and 1 octet value.

Sub-Type 1 (IANA Section), MSD and the Value field contains maximum MSD of the router originating the RI LSA. Node Maximum MSD is a number in the range of 0-254. 0 represents lack of the ability to push MSD of any depth; any other value represents that of the node. This value SHOULD represent the lowest value supported by node.

Other Sub-types other than defined above are reserved for future extensions.

This TLV is applicable to OSPFv2 and to OSPFv3 [RFC5838] and is optional. The scope of the advertisement is specific to the deployment.


A new sub-TLV called Link MSD sub-TLV is defined to carry the provisioned SID depth of the interface associated with the link.