Skip to main content

BGP Link-State extensions for Segment Routing
draft-gredler-idr-bgp-ls-segment-routing-ext-00

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 Stefano Previdi , Peter Psenak , Clarence Filsfils , Hannes Gredler , Mach Chen , Jeff Tantsura
Last updated 2015-09-24
Replaced by draft-ietf-idr-bgp-ls-segment-routing-ext, RFC 9085
RFC stream (None)
Formats
Additional resources
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-gredler-idr-bgp-ls-segment-routing-ext-00
Inter-Domain Routing                                     S. Previdi, Ed.
Internet-Draft                                                 P. Psenak
Intended status: Standards Track                             C. Filsfils
Expires: March 27, 2016                              Cisco Systems, Inc.
                                                              H. Gredler
                                                              Individual
                                                                 M. Chen
                                                     Huawei Technologies
                                                             J. Tantsura
                                                                Ericsson
                                                      September 24, 2015

             BGP Link-State extensions for Segment Routing
            draft-gredler-idr-bgp-ls-segment-routing-ext-00

Abstract

   Segment Routing (SR) allows for a flexible definition of end-to-end
   paths within IGP topologies by encoding paths as sequences of
   topological sub-paths, called "segments".  These segments are
   advertised by the link-state routing protocols (IS-IS, OSPF and
   OSPFv3).

   This draft defines extensions to the BGP Link-state address-family in
   order to carry segment information via BGP.

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

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

Previdi, et al.          Expires March 27, 2016                 [Page 1]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   This Internet-Draft will expire on March 27, 2016.

Copyright Notice

   Copyright (c) 2015 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  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  BGP-LS Extensions for Segment Routing . . . . . . . . . . . .   5
     2.1.  Node Attributes TLVs  . . . . . . . . . . . . . . . . . .   5
       2.1.1.  SR-Capabilities TLV . . . . . . . . . . . . . . . . .   6
       2.1.2.  SR-Algorithm TLV  . . . . . . . . . . . . . . . . . .   7
     2.2.  Link Attribute TLVs . . . . . . . . . . . . . . . . . . .   7
       2.2.1.  Adjacency SID TLV . . . . . . . . . . . . . . . . . .   8
       2.2.2.  LAN Adjacency SID TLV . . . . . . . . . . . . . . . .   8
     2.3.  Prefix Attribute TLVs . . . . . . . . . . . . . . . . . .   9
       2.3.1.  Prefix-SID TLV  . . . . . . . . . . . . . . . . . . .  10
       2.3.2.  Range TLV . . . . . . . . . . . . . . . . . . . . . .  11
       2.3.3.  Binding SID TLV . . . . . . . . . . . . . . . . . . .  12
       2.3.4.  Binding SID SubTLVs . . . . . . . . . . . . . . . . .  13
     2.4.  Equivalent IS-IS Segment Routing TLVs/Sub-TLVs  . . . . .  19
     2.5.  Equivalent OSPF/OSPFv3 Segment Routing TLVs/Sub-TLVs  . .  20
   3.  Procedures  . . . . . . . . . . . . . . . . . . . . . . . . .  22
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  23
   5.  Manageability Considerations  . . . . . . . . . . . . . . . .  23
     5.1.  Operational Considerations  . . . . . . . . . . . . . . .  24
       5.1.1.  Operations  . . . . . . . . . . . . . . . . . . . . .  24
   6.  TLV/Sub-TLV Code Points Summary . . . . . . . . . . . . . . .  24
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  24
   8.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  25
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  25
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  25
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  25
     10.2.  Informative References . . . . . . . . . . . . . . . . .  26
     10.3.  URIs . . . . . . . . . . . . . . . . . . . . . . . . . .  26
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  29

Previdi, et al.          Expires March 27, 2016                 [Page 2]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

1.  Introduction

   Segment Routing (SR) allows for a flexible definition of end-to-end
   paths by combining sub-paths called "segments".  A segment can
   represent any instruction, topological or service-based.  A segment
   can have a local semantic to an SR node or global within a domain.
   Within IGP topologies an SR path is encoded as a sequence of
   topological sub-paths, called "IGP segments".  These segments are
   advertised by the link-state routing protocols (IS-IS, OSPF and
   OSPFv3).

   Two types of IGP segments are defined, Prefix segments and Adjacency
   segments.  Prefix segments, by default, represent an ECMP-aware
   shortest-path to a prefix, as per the state of the IGP topology.
   Adjacency segments represent a hop over a specific adjacency between
   two nodes in the IGP.  A prefix segment is typically a multi-hop path
   while an adjacency segment, in most of the cases, is a one-hop path.
   [I-D.ietf-spring-segment-routing].

   When Segment Routing is enabled in a IGP domain, segments are
   advertised in the form of Segment Identifiers (SIDs).  The IGP link-
   state routing protocols have been extended to advertise SIDs and
   other SR-related information.  IGP extensions are described in: IS-IS
   [I-D.ietf-isis-segment-routing-extensions], OSPFv2
   [I-D.ietf-ospf-segment-routing-extensions] and OSPFv3
   [I-D.ietf-ospf-ospfv3-segment-routing-extensions].  Using these
   extensions, Segment Routing can be enabled within an IGP domain.

Previdi, et al.          Expires March 27, 2016                 [Page 3]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

                           +------------+
                           |  Consumer  |
                           +------------+
                                 ^
                                 |
                                 v
                       +-------------------+
                       |    BGP Speaker    |         +-----------+
                       | (Route-Reflector) |         | Consumer  |
                       +-------------------+         +-----------+
                             ^   ^   ^                       ^
                             |   |   |                       |
             +---------------+   |   +-------------------+   |
             |                   |                       |   |
             v                   v                       v   v
       +-----------+       +-----------+             +-----------+
       |    BGP    |       |    BGP    |             |    BGP    |
       |  Speaker  |       |  Speaker  |    . . .    |  Speaker  |
       +-----------+       +-----------+             +-----------+
             ^                   ^                         ^
             |                   |                         |
            IGP                 IGP                       IGP

                   Figure 1: Link State info collection

   Segment Routing (SR) allows advertisement of single or multi-hop
   paths.  The flooding scope for the IGP extensions for Segment routing
   is IGP area-wide.  Consequently, the contents of a Link State
   Database (LSDB) or a Traffic Engineering Database (TED) has the scope
   of an IGP area and therefore, by using the IGP alone it is not enough
   to construct segments across multiple IGP Area or AS boundaries.

   In order to address the need for applications that require
   topological visibility across IGP areas, or even across Autonomous
   Systems (AS), the BGP-LS address-family/sub-address-family have been
   defined to allow BGP to carry Link-State information.  The BGP
   Network Layer Reachability Information (NLRI) encoding format for
   BGP-LS and a new BGP Path Attribute called the BGP-LS attribute are
   defined in [I-D.ietf-idr-ls-distribution].  The identifying key of
   each Link-State object, namely a node, link, or prefix, is encoded in
   the NLRI and the properties of the object are encoded in the BGP-LS
   attribute.  Figure Figure 1 describes a typical deployment scenario.
   In each IGP area, one or more nodes are configured with BGP-LS.
   These BGP speakers form an IBGP mesh by connecting to one or more
   route-reflectors.  This way, all BGP speakers (specifically the
   route-reflectors) obtain Link-State information from all IGP areas
   (and from other ASes from EBGP peers).  An external component
   connects to the route-reflector to obtain this information (perhaps

Previdi, et al.          Expires March 27, 2016                 [Page 4]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   moderated by a policy regarding what information is or isn't
   advertised to the external component).

   This document describes extensions to BGP-LS to advertise the SR
   information.  An external component (e.g., a controller) then can
   collect SR information in the "northbound" direction across IGP areas
   or ASes and construct the end-to-end path (with its associated SIDs)
   that need to be applied to an incoming packet to achieve the desired
   end-to-end forwarding.

2.  BGP-LS Extensions for Segment Routing

   This document defines IGP SR extensions BGP-LS TLVs and Sub-TLVs.
   Section 2.4 and Section 2.5 illustrates the equivalent TLVs and Sub-
   TLVs in IS-IS, OSPF and OSPFv3 protocols.

   BGP-LS [I-D.ietf-idr-ls-distribution] defines the BGP-LS NLRI that
   can be a Node NLRI, a Link NLRI or a Prefix NLRI.  The corresponding
   BGP-LS attribute is a Node Attribute, a Link Attribute or a Prefix
   Attribute.  BGP-LS [I-D.ietf-idr-ls-distribution] defines the TLVs
   that map link-state information to BGP-LS NLRI and the BGP-LS
   attribute.  This document adds additional BGP-LS attribute TLVs in
   order to encode SR information.

   The following new TLVs are defined for the encoding of SR
   information:

   o  TLV for Prefix-SID.

   o  TLV for Adjacency-SID between two nodes as well as between nodes
      in a LAN.

   o  TLV for SR Capabilities.

   o  TLV for SR Algorithm.

   o  TLV for advertising paths (IGP Binding TLV).

   o  TLV for advertising bindings between prefixes and SIDs (Mapping
      Server).

2.1.  Node Attributes TLVs

   The following Node Attribute TLVs are defined:

Previdi, et al.          Expires March 27, 2016                 [Page 5]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

      +----------------+-----------------+----------+---------------+
      | TLV Code Point | Description     | Length   |       Section |
      +----------------+-----------------+----------+---------------+
      |      1034      | SR Capabilities | variable | Section 2.1.1 |
      |      1035      | SR Algorithm    | variable | Section 2.1.2 |
      +----------------+-----------------+----------+---------------+

                       Table 1: Node Attribute TLVs

   These TLVs can ONLY be added to the Node Attribute associated with
   the Node NLRI that originates the corresponding SR TLV.

2.1.1.  SR-Capabilities TLV

   The SR Capabilities sub-TLV has following format:

    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            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Flags    |   RESERVED  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Range Size                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                SID/Label Sub-TLV (variable)                 //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Type: TBD, suggested value 1034.

      Length: Variable.

      IS-IS Flags: 1 octet of IS-IS flags as defined in
      [I-D.ietf-isis-segment-routing-extensions].  These flags are only
      used by IS-IS protocol.

      One or more entries, each of which have the following format:

         Range Size: 3 octet value indicating the number of prefixes in
         the range.

         SID/Label sub-TLV (as defined in Section 2.3.4.2).

Previdi, et al.          Expires March 27, 2016                 [Page 6]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

2.1.2.  SR-Algorithm TLV

   The SR-Algorithm TLV has the following format:

    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             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Algorithm 1  |  Algorithm... |  Algorithm N |                |
   +-                                                             -+
   |                                                               |
   +                                                               +

   where:

      Type: TBD, suggested value 1035.

      Length: Variable.

      Algorithm: 1 octet identifying the algorithm.

2.2.  Link Attribute TLVs

   The following Link Attribute TLVs are are defined:

   +-----------+----------------------------+----------+---------------+
   |  TLV Code | Description                |   Length |       Section |
   |   Point   |                            |          |               |
   +-----------+----------------------------+----------+---------------+
   |    1099   | Adjacency Segment          | variable | Section 2.2.1 |
   |           | Identifier (Adj-SID) TLV   |          |               |
   |    1100   | LAN Adjacency Segment      | variable | Section 2.2.2 |
   |           | Identifier (Adj-SID) TLV   |          |               |
   +-----------+----------------------------+----------+---------------+

                       Table 2: Link Attribute TLVs

   These TLVs can ONLY be added to the Link Attribute associated with
   the link whose local node originates the corresponding SR TLV.

   For a LAN, normally a node only announces its adjacency to the IS-IS
   pseudo-node (or the equivalent OSPF Designated and Backup Designated
   Routers)[I-D.ietf-isis-segment-routing-extensions].  The LAN
   Adjecency Segment TLV allows a node to announce adjacencies to all
   other nodes attached to the LAN in a single instance of the BGP-LS
   Link NLRI.  Without this TLV, the corresponding BGP-LS link NLRI

Previdi, et al.          Expires March 27, 2016                 [Page 7]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   would need to be originated for each additional adjacency in order to
   advertise the SR TLVs for these neighbor adjacencies.

2.2.1.  Adjacency SID TLV

   The Adjacency SID (Adj-SID) TLV has the following format:

    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           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Flags         |     Weight    |             Reserved          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   SID/Label/Index (variable)                  |
   +---------------------------------------------------------------+

   where:

      Type: TBD, suggested value 1099.

      Length: Variable.

      Flags. 1 octet field of following flags as defined in
      [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

      Weight: Weight used for load-balancing purposes.

      SID/Index/Label: Label or index value depending on the flags
      setting as defined in [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

2.2.2.  LAN Adjacency SID TLV

   The LAN Adjacency SID (LAN-Adj-SID-SID) has the following format:

Previdi, et al.          Expires March 27, 2016                 [Page 8]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

    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             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Flags     |     Weight    |            Reserved           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             OSPF Neighbor ID / IS-IS System-ID                |
   +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    SID/Label/Index (variable)                 |
   +---------------------------------------------------------------+

   where:

      Type: TBD, suggested value 1100.

      Length: Variable.

      Flags. 1 octet field of following flags as defined in
      [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

      Weight: Weight used for load-balancing purposes.

      SID/Index/Label: Label or index value depending on the flags
      setting as defined in [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

2.3.  Prefix Attribute TLVs

   The following Prefix Attribute TLVs and Sub-TLVs are defined:

Previdi, et al.          Expires March 27, 2016                 [Page 9]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

        +----------------+-------------+----------+---------------+
        | TLV Code Point | Description |   Length | Section       |
        +----------------+-------------+----------+---------------+
        |      1158      | Prefix SID  | variable | Section 2.3.1 |
        |      1159      | Range       | variable | Section 2.3.2 |
        |      1160      | Binding SID | variable | Section 2.3.3 |
        +----------------+-------------+----------+---------------+

                      Table 3: Prefix Attribute TLVs

   +------------+-------------------------+----------+-----------------+
   |  TLV Code  | Description             | Length   | Section         |
   |   Point    |                         |          |                 |
   +------------+-------------------------+----------+-----------------+
   |    1161    | SID/Label TLV           | variable | Section 2.3.4.2 |
   |    1162    | ERO Metric TLV          | 4 octets | Section 2.3.4.3 |
   |    1163    | IPv4 ERO TLV            | 8 octets | Section 2.3.4.4 |
   |    1164    | IPv6 ERO TLV            | 20       | Section 2.3.4.5 |
   |            |                         | octets   |                 |
   |    1165    | Unnumbered Interface ID | 12       | Section 2.3.4.6 |
   |            | ERO TLV                 |          |                 |
   |    1166    | IPv4 Backup ERO TLV     | 8 octets | Section 2.3.4.7 |
   |    1167    | IPv6 Backup ERO TLV     | 10       | Section 2.3.4.8 |
   |            |                         | octets   |                 |
   |    1168    | Unnumbered Interface ID | 12       | Section 2.3.4.9 |
   |            | Backup ERO TLV          |          |                 |
   +------------+-------------------------+----------+-----------------+

             Table 4: Prefix Attribute - Binding SID Sub-TLVs

2.3.1.  Prefix-SID TLV

   The Prefix-SID TLV can ONLY be added to the Prefix Attribute whose
   local node in the corresponding Prefix NLRI is the node that
   originates the corresponding SR TLV.

   The Prefix-SID has the following format:

Previdi, et al.          Expires March 27, 2016                [Page 10]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

    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             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Flags       |  Algorithm  |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       SID/Index/Label (variable)              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

      Type: TBD, suggested value 1158.

      Length: Variable

      Algorithm: 1 octet value identify the algorithm.

      SID/Index/Label: Label or index value depending on the flags
      setting as defined in [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

   The Prefix-SID TLV includes a Flags field.  In the context of BGP-LS,
   the Flags field format and the semantic of each individual flag MUST
   be taken from the corresponding source protocol (i.e.: the protocol
   of origin of the Prefix-SID being advertised in BGP-LS).

   IS-IS Prefix-SID flags are defined in
   [I-D.ietf-isis-segment-routing-extensions] section 2.1.

   OSPF Prefix-SID flags are defined in
   [I-D.ietf-ospf-segment-routing-extensions] section 5.

   OSPFv3 Prefix-SID flags are defined in
   [I-D.ietf-ospf-segment-routing-extensions] section 5.

2.3.2.  Range TLV

   The Range TLV can ONLY be added to the Prefix Attribute whose local
   node in the corresponding Prefix NLRI is the node that originates the
   corresponding SR TLV.

   The format of the Range TLV is as follows:

Previdi, et al.          Expires March 27, 2016                [Page 11]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

    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            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Flags     | RESERVED      |             Range Size        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                          Sub-TLVs                           //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

                        Figure 2: Range TLV format

      Type: 1159

      Length is 4.

      Flags: Only used when the source protocol is OSPF and defined in
      [I-D.ietf-ospf-segment-routing-extensions] section 4 and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions] section 4.

      Range Size: 2 octets as defined in
      [I-D.ietf-ospf-segment-routing-extensions] section 4.

   Within the Range TLV, the following SubTLVs are may be present:

      Binding SID TLV, defined in Section 2.3.3

      Prefix-SID TLV, defined in Section 2.3.1

      SID/Label TLV, defined in Section 2.3.4.2

2.3.3.  Binding SID TLV

   The Binding SID Sub-TLV is a Sub-TLV of the Range TLV.  The format is
   as follows:

Previdi, et al.          Expires March 27, 2016                [Page 12]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

    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               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Weight    |     Flags     |          RESERVED             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   //                        SubTLVs (variable)                   //
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

                   Figure 3: Binding SID Sub-TLV format

      Type is 1160

      Length is variable

      Weight and Flags are mapped to Weight and Flags defined in
      [I-D.ietf-isis-segment-routing-extensions] section 2.4,
      [I-D.ietf-ospf-segment-routing-extensions] section 4 and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions] section 4.

      Sub-TLVs are defined in the following sections.

2.3.4.  Binding SID SubTLVs

   This section defines the Binding SID Sub-TLVs in BGP-LS to encode the
   equivalent Sub-TLVs defined
   in[I-D.ietf-isis-segment-routing-extensions],
   [I-D.ietf-ospf-segment-routing-extensions] and
   [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

   All ERO (Explicit Route Object) Sub-TLVs must immediately follow the
   (SID)/Label Sub-TLV.

   All Backup ERO Sub-TLVs must immediately follow the last ERO Sub-TLV.

2.3.4.1.  Binding SID Prefix-SID Sub-TLV

   When encoding IS-IS Mapping Server entries as defined in
   [I-D.ietf-isis-segment-routing-extensions] the Prefix-SID TLV defined
   in Section 2.3.1 is used as Sub-TLV in the Binding TLV.

Previdi, et al.          Expires March 27, 2016                [Page 13]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

2.3.4.2.  SID/Label Sub-TLV

   The SID/Label TLV has following format:

    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             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      SID/Label (variable)                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

      Type: TBD, suggested value 1161.

      Length: Variable, 3 or 4 bytes

      SID/Label: If length is set to 3, then the 20 rightmost bits
      represent a label.  If length is set to 4, then the value
      represents a 32 bit SID.

      The receiving router MUST ignore the SID/Label Sub-TLV if the
      length is other then 3 or 4.

2.3.4.3.  ERO Metric Sub-TLV

   The ERO Metric Sub-TLV has following format:

    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            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Metric (4 octets)                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         ERO Metric Sub-TLV format

   where:

      Type: TBD, suggested value 1162.

      Length: Always 4

      Metric: A 4 octet metric representing the aggregate IGP or TE path
      cost.

Previdi, et al.          Expires March 27, 2016                [Page 14]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

2.3.4.4.  IPv4 ERO Sub-TLV

   The ERO Metric Sub-TLV has following format:

    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             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Flags      |                   Reserved                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        IPv4 Address (4 octets)                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          IPv4 ERO Sub-TLV format

   where:

      Type: TBD, suggested value 1163

      Length: 8 octets

      Flags: 1 octet of flags as defined in:
      [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

      IPv4 Address - the address of the explicit route hop.

2.3.4.5.  IPv6 ERO Sub-TLV

   The IPv6 ERO Sub-TLV has following format:

Previdi, et al.          Expires March 27, 2016                [Page 15]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

       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             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      Flags      |                   Reserved                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +-                                                             -+
      |                                                               |
      +-                         IPv6 Address                        -+
      |                                                               |
      +-                                                             -+
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          IPv6 ERO Sub-TLV format

   where:

      Type: TBD, suggested value 1164

      Length: 20 octets

      Flags: 1 octet of flags as defined in:
      [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

      IPv6 Address - the address of the explicit route hop.

2.3.4.6.  Unnumbered Interface ID ERO Sub-TLV

   The Unnumbered Interface-ID ERO Sub-TLV has following format:

Previdi, et al.          Expires March 27, 2016                [Page 16]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

    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           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Flags     |                  Reserved                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Router ID                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Interface ID                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   where:

                Unnumbered Interface ID ERO Sub-TLV format

      Type: TBD, suggested value 1165.

      Length: 12 octets

      Flags: 1 octet of flags as defined in:
      [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

      Router-ID: Router-ID of the next-hop.

      Interface ID: is the identifier assigned to the link by the router
      specified by the Router-ID.

2.3.4.7.  IPv4 Backup ERO Sub-TLV

   The IPv4 Backup ERO Sub-TLV has following format:

    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            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Flags         |                     Reserved                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    IPv4 Address (4 octets)                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      IPv4 Backup ERO Sub-TLV format

   where:

Previdi, et al.          Expires March 27, 2016                [Page 17]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

      Type: TBD, suggested value 1166.

      Length: 8 octets

      Flags: 1 octet of flags as defined in:
      [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

      IPv4 Address: Address of the explicit route hop.

2.3.4.8.  IPv6 Backup ERO Sub-TLV

   The IPv6 Backup ERO Sub-TLV has following format:

       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             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      Flags      |                   Reserved                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +-                                                             -+
      |                                                               |
      +-                         IPv6 Address                        -+
      |                                                               |
      +-                                                             -+
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      IPv6 Backup ERO Sub-TLV format

   where:

      Type: TBD, suggested value 1167.

      Length: 8 octets

      Flags: 1 octet of flags as defined in:
      [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

      IPv6 Address: Address of the explicit route hop.

Previdi, et al.          Expires March 27, 2016                [Page 18]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

2.3.4.9.  Unnumbered Interface ID Backup ERO Sub-TLV

   The Unnumbered Interface-ID Backup ERO Sub-TLV has following format:

    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            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Flags    |                   Reserved                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                            Router ID                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Interface ID                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             Unnumbered Interface ID Backup ERO Sub-TLV format

   where:

      Type: TBD, suggested value 1168.

      Length: 12 octets

      Flags: 1 octet of flags as defined in:
      [I-D.ietf-isis-segment-routing-extensions],
      [I-D.ietf-ospf-segment-routing-extensions] and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions].

      Router-ID: Router-ID of the next-hop.

      Interface ID: Identifier assigned to the link by the router
      specified by the Router-ID.

2.4.  Equivalent IS-IS Segment Routing TLVs/Sub-TLVs

   This section illustrate the IS-IS Segment Routing Extensions TLVs and
   Sub-TLVs mapped to the ones defined in this document.

   The following table, illustrates for each BGP-LS TLV, its equivalence
   in IS-IS.

Previdi, et al.          Expires March 27, 2016                [Page 19]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   +-----------+------------------------------+----------+-------------+
   |  TLV Code | Description                  | Length   | IS-IS TLV   |
   |   Point   |                              |          | /Sub-TLV    |
   +-----------+------------------------------+----------+-------------+
   |    1034   | SR Capabilities              | variable | 2 [1]       |
   |    1035   | SR Algorithm                 | variable | 19 [2]      |
   |    1099   | Adjacency Segment Identifier | variable | 31 [3]      |
   |           | (Adj-SID) TLV                |          |             |
   |    1100   | LAN Adjacency Segment        | variable | 32 [4]      |
   |           | Identifier (LAN-Adj-SID) TLV |          |             |
   |    1158   | Prefix SID                   | variable | 3 [5]       |
   |    1160   | Binding SID                  | variable | 1 [6]       |
   |    1161   | SID/Label TLV                | variable | 1 [7]       |
   |    1162   | ERO Metric TLV               | 4 octets | 1 [8]       |
   |    1163   | IPv4 ERO TLV                 | 5 octets | 1 [9]       |
   |    1164   | IPv6 ERO TLV                 | 17       | 1 [10]      |
   |           |                              | octets   |             |
   |    1165   | Unnumbered Interface ID ERO  | variable | 1 [11]      |
   |           | TLV                          |          |             |
   |    1166   | IPv4 Backup ERO TLV          | 5 octets | 1 [12]      |
   |    1167   | IPv6 Backup ERO TLV          | 17       | 1 [13]      |
   |           |                              | octets   |             |
   |    1168   | Unnumbered Interface ID      | variable | 1 [14]      |
   |           | Backup ERO TLV               |          |             |
   +-----------+------------------------------+----------+-------------+

          Table 5: IS-IS Segment Routing Extensions TLVs/Sub-TLVs

2.5.  Equivalent OSPF/OSPFv3 Segment Routing TLVs/Sub-TLVs

   This section illustrate the OSPF and OSPFv3 Segment Routing
   Extensions TLVs and Sub-TLVs mapped to the ones defined in this
   document.

   The following table, illustrates for each BGP-LS TLV, its equivalence
   in OSPF and OSPFv3.

Previdi, et al.          Expires March 27, 2016                [Page 20]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   +------------+-----------------------------+----------+-------------+
   |  TLV Code  | Description                 | Length   | OSPF TLV    |
   |   Point    |                             |          | /Sub-TLV    |
   +------------+-----------------------------+----------+-------------+
   |    1034    | SR Capabilities             | variable | 9 [15]      |
   |    1035    | SR Algorithm                | variable | 8 [16]      |
   |    1099    | Adjacency Segment           | variable | 2 [17]      |
   |            | Identifier (Adj-SID) TLV    |          |             |
   |    1100    | LAN Adjacency Segment       | variable | 3 [18]      |
   |            | Identifier (Adj-SID) TLV    |          |             |
   |    1158    | Prefix SID                  | variable | 2 [19]      |
   |    1161    | SID/Label TLV               | variable | 1 [20]      |
   |    1162    | ERO Metric TLV              | 4 octets | 8 [21]      |
   |    1163    | IPv4 ERO TLV                | 8 octets | 4 [22]      |
   |    1165    | Unnumbered Interface ID ERO | 12       | 5 [23]      |
   |            | TLV                         | octets   |             |
   |    1166    | IPv4 Backup ERO TLV         | 8 octets | 6 [24]      |
   |    1167    | Unnumbered Interface ID     | 12       | 7 [25]      |
   |            | Backup ERO TLV              | octets   |             |
   +------------+-----------------------------+----------+-------------+

          Table 6: OSPF Segment Routing Extensions TLVs/Sub-TLVs

Previdi, et al.          Expires March 27, 2016                [Page 21]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   +------------+----------------------------+----------+--------------+
   |  TLV Code  | Description                | Length   | OSPFv3 TLV   |
   |   Point    |                            |          | /Sub-TLV     |
   +------------+----------------------------+----------+--------------+
   |    1034    | SR Capabilities            | variable | 9 [26]       |
   |    1035    | SR Algorithm               | variable | 8 [27]       |
   |    1099    | Adjacency Segment          | variable | 5 [28]       |
   |            | Identifier (Adj-SID) TLV   |          |              |
   |    1100    | LAN Adjacency Segment      | variable | 6 [29]       |
   |            | Identifier (Adj-SID) TLV   |          |              |
   |    1158    | Prefix SID                 | variable | 4 [30]       |
   |    1161    | SID/Label TLV              | variable | 3 [31]       |
   |    1162    | ERO Metric TLV             | 4 octets | 8 [32]       |
   |    1163    | IPv4 ERO TLV               | 8 octets | 9 [33]       |
   |    1164    | IPv6 ERO TLV               | 20       | 8 [34]       |
   |            |                            | octets   |              |
   |    1165    | Unnumbered Interface ID    | 12       | 11 [35]      |
   |            | ERO TLV                    | octets   |              |
   |    1166    | IPv4 Backup ERO TLV        | 8 octets | 12 [36]      |
   |    1167    | IPv6 Backup ERO TLV        | 20       | 13 [37]      |
   |            |                            | octets   |              |
   |    1167    | Unnumbered Interface ID    | 12       | 14 [38]      |
   |            | Backup ERO TLV             | octets   |              |
   +------------+----------------------------+----------+--------------+

         Table 7: OSPFv3 Segment Routing Extensions TLVs/Sub-TLVs

3.  Procedures

   The following sections describe the different operations for the
   propagation of SR TLVs into BGP-LS.

   The following cases are described:

   o  Advertisement of a IS-IS Prefix SID TLV

      *  The IS-IS Prefix-SID is encoded in the BGP-LS Prefix Attribute
         Prefix-SID as defined in Section 2.3.1.  The flags in the
         Prefix-SID TLV have the semantic defined in
         [I-D.ietf-isis-segment-routing-extensions] section 2.1.

   o  Advertisement of a OSPF/OSPFv3 Prefix-SID TLV

      *  The OSPF (or OSPFv3) Prefix-SID is encoded in the BGP-LS Prefix
         Attribute Prefix-SID as defined in Section 2.3.1.  The flags in
         the Prefix-SID TLV have the semantic defined in
         [I-D.ietf-ospf-segment-routing-extensions] section 5 or
         [I-D.ietf-ospf-ospfv3-segment-routing-extensions] section 5.

Previdi, et al.          Expires March 27, 2016                [Page 22]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   o  Advertisement of a range of OSPF SR bindings

      *  The OSPF/OSPFv3 Range TLV is encoded in the BGP-LS Prefix
         Attribute Range TLV as defined in Section 2.3.2.  The flags of
         the Range TLV have the semantic mapped to the definition in
         [I-D.ietf-ospf-segment-routing-extensions] section 4 or
         [I-D.ietf-ospf-ospfv3-segment-routing-extensions] section 4.
         The Prefix-SID from the original OSPF Range TLV is encoded
         using the BGP-LS Prefix Attribute Prefix-SID as defined in
         Section 2.3.1 with the flags set according to the definition in
         [I-D.ietf-ospf-segment-routing-extensions] section 5 or
         [I-D.ietf-ospf-ospfv3-segment-routing-extensions] section 5.

   o  Advertisement of a range of IS-IS SR bindings

      *  In IS-IS the Mapping Server binding ranges are advertised using
         the Binding TLV.  The IS-IS Binding TLV is encoded in the BGP-
         LS Prefix Attribute Range TLV as defined in Section 2.3.2 using
         the Binding Sub-TLV as defined in Section 2.3.3.  The flags in
         the Range TLV are all set to zero on transmit and ignored on
         reception.  The range value from the original IS-IS Binding TLV
         is encoded in the Range TLV "Range" field.

   o  Advertisement of a Path and its attributes is described in
      [I-D.ietf-isis-segment-routing-extensions] section 2.4,
      [I-D.ietf-ospf-segment-routing-extensions] section 6 and
      [I-D.ietf-ospf-ospfv3-segment-routing-extensions] section 6.

      *  The original Binding SID TLV (from either IS-IS or OSPF) is
         encoded into the BGP-LS Range TLV defined in Section 2.3.2
         using the Binding Sub-TLV as defined in Section 2.3.3.  The set
         of Sub-TLVs from the original IS-IS or OSPF (and OSPFv3)
         Binding TLV are encoded as Sub-TLVs of the BGP-LS Binding TLV
         as defined in Section 2.3.3.  This includes the SID/Label TLV
         defined in Section 2.3.

4.  IANA Considerations

   This document requests assigning code-points from the registry for
   BGP-LS attribute TLVs based on table Table 8.

5.  Manageability Considerations

   This section is structured as recommended in [RFC5706].

Previdi, et al.          Expires March 27, 2016                [Page 23]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

5.1.  Operational Considerations

5.1.1.  Operations

   Existing BGP and BGP-LS operational procedures apply.  No additional
   operation procedures are defined in this document.

6.  TLV/Sub-TLV Code Points Summary

   This section contains the global table of all TLVs/Sub-TLVs defined
   in this document.

   +-----------+--------------------------+----------+-----------------+
   |  TLV Code | Description              | Length   |         Section |
   |   Point   |                          |          |                 |
   +-----------+--------------------------+----------+-----------------+
   |    1034   | SR Capabilities          | variable |   Section 2.1.1 |
   |    1035   | SR Algorithm             | variable |   Section 2.1.2 |
   |    1099   | Adjacency Segment        | variable |   Section 2.2.1 |
   |           | Identifier (Adj-SID) TLV |          |                 |
   |    1100   | LAN Adjacency Segment    | variable |   Section 2.2.2 |
   |           | Identifier (Adj-SID) TLV |          |                 |
   |    1158   | Prefix SID               | variable |   Section 2.3.1 |
   |    1159   | Range                    | variable |   Section 2.3.2 |
   |    1160   | Binding SID              | variable |   Section 2.3.3 |
   |    1161   | SID/Label TLV            | variable | Section 2.3.4.2 |
   |    1162   | ERO Metric TLV           | 4 octets |          1 [39] |
   |    1163   | IPv4 ERO TLV             | 8 octets |          1 [40] |
   |    1164   | IPv6 ERO TLV             | 20       |          1 [41] |
   |           |                          | octets   |                 |
   |    1165   | Unnumbered Interface ID  | 12       |          1 [42] |
   |           | ERO TLV                  | octets   |                 |
   |    1166   | IPv4 Backup ERO TLV      | 8 octets |          1 [43] |
   |    1167   | IPv6 Backup ERO TLV      | 20       |          1 [44] |
   |           |                          | octets   |                 |
   |    1168   | Unnumbered Interface ID  | 12       |          1 [45] |
   |           | Backup ERO TLV           | octets   |                 |
   +-----------+--------------------------+----------+-----------------+

             Table 8: Summary Table of TLV/Sub-TLV Codepoints

7.  Security Considerations

   Procedures and protocol extensions defined in this document do not
   affect the BGP security model.  See the 'Security Considerations'
   section of [RFC4271] for a discussion of BGP security.  Also refer to
   [RFC4272] and [RFC6952] for analysis of security issues for BGP.

Previdi, et al.          Expires March 27, 2016                [Page 24]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

8.  Contributors

   The following people have substantially contributed to the editing of
   this document:

   Acee Lindem
   Cisco Systems
   Email: acee@cisco.com

   Saikat Ray
   Individual
   Email: raysaikat@gmail.com

9.  Acknowledgements

   TBD.

10.  References

10.1.  Normative References

   [I-D.ietf-idr-ls-distribution]
              Gredler, H., Medved, J., Previdi, S., Farrel, A., and S.
              Ray, "North-Bound Distribution of Link-State and TE
              Information using BGP", draft-ietf-idr-ls-distribution-11
              (work in progress), June 2015.

   [I-D.ietf-isis-segment-routing-extensions]
              Previdi, S., Filsfils, C., Bashandy, A., Gredler, H.,
              Litkowski, S., Decraene, B., and J. Tantsura, "IS-IS
              Extensions for Segment Routing", draft-ietf-isis-segment-
              routing-extensions-05 (work in progress), June 2015.

   [I-D.ietf-ospf-ospfv3-segment-routing-extensions]
              Psenak, P., Previdi, S., Filsfils, C., Gredler, H.,
              Shakir, R., Henderickx, W., and J. Tantsura, "OSPFv3
              Extensions for Segment Routing", draft-ietf-ospf-ospfv3-
              segment-routing-extensions-03 (work in progress), June
              2015.

   [I-D.ietf-ospf-segment-routing-extensions]
              Psenak, P., Previdi, S., Filsfils, C., Gredler, H.,
              Shakir, R., Henderickx, W., and J. Tantsura, "OSPF
              Extensions for Segment Routing", draft-ietf-ospf-segment-
              routing-extensions-05 (work in progress), June 2015.

Previdi, et al.          Expires March 27, 2016                [Page 25]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

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

   [RFC4271]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
              Border Gateway Protocol 4 (BGP-4)", RFC 4271,
              DOI 10.17487/RFC4271, January 2006,
              <http://www.rfc-editor.org/info/rfc4271>.

10.2.  Informative References

   [I-D.ietf-spring-segment-routing]
              Filsfils, C., Previdi, S., Decraene, B., Litkowski, S.,
              and r. rjs@rob.sh, "Segment Routing Architecture", draft-
              ietf-spring-segment-routing-05 (work in progress),
              September 2015.

   [RFC4272]  Murphy, S., "BGP Security Vulnerabilities Analysis",
              RFC 4272, DOI 10.17487/RFC4272, January 2006,
              <http://www.rfc-editor.org/info/rfc4272>.

   [RFC5706]  Harrington, D., "Guidelines for Considering Operations and
              Management of New Protocols and Protocol Extensions",
              RFC 5706, DOI 10.17487/RFC5706, November 2009,
              <http://www.rfc-editor.org/info/rfc5706>.

   [RFC6952]  Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
              BGP, LDP, PCEP, and MSDP Issues According to the Keying
              and Authentication for Routing Protocols (KARP) Design
              Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013,
              <http://www.rfc-editor.org/info/rfc6952>.

10.3.  URIs

   [1] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
       extensions-05#section-3.1

   [2] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
       extensions-05#section-3.2

   [3] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
       extensions-05#section-2.2.1

   [4] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
       extensions-05#section-2.2.2

Previdi, et al.          Expires March 27, 2016                [Page 26]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   [5] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
       extensions-05#section-2.1

   [6] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
       extensions-05#section-2.4

   [7] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
       extensions-05#section-2.3

   [8] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
       extensions-05#section-2.4.7

   [9] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
       extensions-05#section-2.4.8

   [10] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.9

   [11] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.10

   [12] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.11

   [13] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.12

   [14] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.13

   [15] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-3.2

   [16] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-3.1

   [17] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-7.1

   [18] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-7.2

   [19] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-5

   [20] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-2.1

Previdi, et al.          Expires March 27, 2016                [Page 27]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   [21] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-6.1

   [22] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-6.2.1

   [23] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-6.2.2

   [24] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-6.2.3

   [25] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
        extensions-05#section-6.2.4

   [26] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-3.2

   [27] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-3.1

   [28] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-7.1

   [29] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-7.2

   [30] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-5

   [31] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-2.1

   [32] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-6.1

   [33] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-6.2.1

   [34] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-6.2.2

   [35] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-6.2.3

   [36] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-6.2.4

Previdi, et al.          Expires March 27, 2016                [Page 28]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   [37] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-6.2.5

   [38] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
        routing-extensions-05#section-6.2.6

   [39] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.7

   [40] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.8

   [41] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.9

   [42] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.10

   [43] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.11

   [44] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.12

   [45] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
        extensions-05#section-2.4.13

Authors' Addresses

   Stefano Previdi (editor)
   Cisco Systems, Inc.
   Via Del Serafico, 200
   Rome  00142
   Italy

   Email: sprevidi@cisco.com

   Peter Psenak
   Cisco Systems, Inc.
   Apollo Business Center
   Mlynske nivy 43
   Bratislava  821 09
   Slovakia

   Email: ppsenak@cisco.com

Previdi, et al.          Expires March 27, 2016                [Page 29]
Internet-Draft    BGP LS extensions for Segment Routing   September 2015

   Clarence Filsfils
   Cisco Systems, Inc.
   Brussels
   Belgium

   Email: cfilsfil@cisco.com

   Hannes Gredler
   Individual

   Email: hannes@gredler.at

   Mach(Guoyi) Chen
   Huawei Technologies
   Huawei Building, No. 156 Beiqing Rd.
   Beijing  100095
   China

   Email: mach.chen@huawei.com

   Jeff Tantsura
   Ericsson
   300 Holger Way
   San Jose, CA  95134
   US

   Email: jeff.tantsura@ericsson.com

Previdi, et al.          Expires March 27, 2016                [Page 30]