Internet DRAFT - draft-gredler-idr-bgp-ls-segment-routing-ext
draft-gredler-idr-bgp-ls-segment-routing-ext
Inter-Domain Routing S. Previdi, Ed.
Internet-Draft P. Psenak
Intended status: Standards Track C. Filsfils
Expires: December 3, 2016 Cisco Systems, Inc.
H. Gredler
Individual
M. Chen
Huawei Technologies
J. Tantsura
Individual
June 1, 2016
BGP Link-State extensions for Segment Routing
draft-gredler-idr-bgp-ls-segment-routing-ext-02
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 December 3, 2016 [Page 1]
Internet-Draft BGP LS extensions for Segment Routing June 2016
This Internet-Draft will expire on December 3, 2016.
Copyright Notice
Copyright (c) 2016 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. IPv6 Prefix-SID TLV . . . . . . . . . . . . . . . . . 11
2.3.3. Range TLV . . . . . . . . . . . . . . . . . . . . . . 12
2.3.4. Binding SID TLV . . . . . . . . . . . . . . . . . . . 13
2.3.5. Binding SID SubTLVs . . . . . . . . . . . . . . . . . 14
2.4. Equivalent IS-IS Segment Routing TLVs/Sub-TLVs . . . . . 20
2.5. Equivalent OSPF/OSPFv3 Segment Routing TLVs/Sub-TLVs . . 21
3. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1. Advertisement of a IS-IS Prefix SID TLV . . . . . . . . . 23
3.2. Advertisement of a OSPF/OSPFv3 Prefix-SID TLV . . . . . . 23
3.3. Advertisement of a range of prefix-to-SID mappings in
OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4. Advertisement of a range of IS-IS SR bindings . . . . . . 24
3.5. Advertisement of a path and its attributes from IS-IS
protocol . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6. Advertisement of a path and its attributes from
OSPFv2/OSPFv3 protocol . . . . . . . . . . . . . . . . . 25
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25
5. Manageability Considerations . . . . . . . . . . . . . . . . 25
5.1. Operational Considerations . . . . . . . . . . . . . . . 25
Previdi, et al. Expires December 3, 2016 [Page 2]
Internet-Draft BGP LS extensions for Segment Routing June 2016
5.1.1. Operations . . . . . . . . . . . . . . . . . . . . . 25
6. TLV/Sub-TLV Code Points Summary . . . . . . . . . . . . . . . 25
7. Security Considerations . . . . . . . . . . . . . . . . . . . 26
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 26
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 27
10.1. Normative References . . . . . . . . . . . . . . . . . . 27
10.2. Informative References . . . . . . . . . . . . . . . . . 28
10.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31
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 December 3, 2016 [Page 3]
Internet-Draft BGP LS extensions for Segment Routing June 2016
+------------+
| 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 [RFC7752]. 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 moderated by
Previdi, et al. Expires December 3, 2016 [Page 4]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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 [RFC7752] 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
[RFC7752] 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 December 3, 2016 [Page 5]
Internet-Draft BGP LS extensions for Segment Routing June 2016
+----------------+-----------------+----------+---------------+
| 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.
Flags: 1 octet of flags as defined in
[I-D.ietf-isis-segment-routing-extensions] and
[I-D.ietf-ospf-ospfv3-segment-routing-extensions].
One or more entries, each of which have the following format:
Range Size: 3 octet value indicating the number of labels in
the range.
SID/Label sub-TLV (as defined in Section 2.3.5.2).
Previdi, et al. Expires December 3, 2016 [Page 6]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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 December 3, 2016 [Page 7]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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 December 3, 2016 [Page 8]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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 December 3, 2016 [Page 9]
Internet-Draft BGP LS extensions for Segment Routing June 2016
+----------------+-----------------+----------+---------------+
| TLV Code Point | Description | Length | Section |
+----------------+-----------------+----------+---------------+
| 1158 | Prefix SID | variable | Section 2.3.1 |
| 1159 | Range | variable | Section 2.3.3 |
| 1160 | Binding SID | variable | Section 2.3.4 |
| 1169 | IPv6 Prefix SID | variable | Section 2.3.2 |
+----------------+-----------------+----------+---------------+
Table 3: Prefix Attribute TLVs
+------------+-------------------------+----------+-----------------+
| TLV Code | Description | Length | Section |
| Point | | | |
+------------+-------------------------+----------+-----------------+
| 1161 | SID/Label TLV | variable | Section 2.3.5.2 |
| 1162 | ERO Metric TLV | 4 octets | Section 2.3.5.3 |
| 1163 | IPv4 ERO TLV | 8 octets | Section 2.3.5.4 |
| 1164 | IPv6 ERO TLV | 20 | Section 2.3.5.5 |
| | | octets | |
| 1165 | Unnumbered Interface ID | 12 | Section 2.3.5.6 |
| | ERO TLV | | |
| 1166 | IPv4 Backup ERO TLV | 8 octets | Section 2.3.5.7 |
| 1167 | IPv6 Backup ERO TLV | 10 | Section 2.3.5.8 |
| | | octets | |
| 1168 | Unnumbered Interface ID | 12 | Section 2.3.5.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 December 3, 2016 [Page 10]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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. IPv6 Prefix-SID TLV
The IPv6 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 IPv6 Prefix-SID has the following format:
Previdi, et al. Expires December 3, 2016 [Page 11]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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 | //
+-+-+-+-+-+-+-+-+ Sub-TLVs //
// //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
Type: TBD, suggested value 1169.
Length: 3 + length of Sub-TLVs.
Flags: 2 octet field of flags. None of them is defined at this
stage.
Algorithm: 1 octet value identify the algorithm as defined in
[I-D.previdi-isis-ipv6-prefix-sid].
Sub-TLVs: additional information encoded into the IPv6 Prefix-SID
Sub-TLV as defined in [I-D.previdi-isis-ipv6-prefix-sid].
The IPv6 Prefix-SID TLV is defined in
[I-D.previdi-isis-ipv6-prefix-sid].
2.3.3. 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.
When the range TLV is used in order to advertise a path to a prefix
or a range of prefix-to-SID mappings, the Prefix-NLRI the Range TLV
is attached to MUST be advertised as a non-routing prefix where no
IGP metric TLV (TLV 1095) is attached.
The format of the Range TLV is as follows:
Previdi, et al. Expires December 3, 2016 [Page 12]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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.4
Prefix-SID TLV, defined in Section 2.3.1
SID/Label TLV, defined in Section 2.3.5.2
2.3.4. Binding SID TLV
The Binding SID TLV can be used in two ways:
o as a sub-TLV of the Range TLV
o as a Prefix Attribute TLV
The format of the Binding SID TLV is as follows:
Previdi, et al. Expires December 3, 2016 [Page 13]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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.5. 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.5.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 December 3, 2016 [Page 14]
Internet-Draft BGP LS extensions for Segment Routing June 2016
2.3.5.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.5.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 December 3, 2016 [Page 15]
Internet-Draft BGP LS extensions for Segment Routing June 2016
2.3.5.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.5.5. IPv6 ERO Sub-TLV
The IPv6 ERO Sub-TLV has following format:
Previdi, et al. Expires December 3, 2016 [Page 16]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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.5.6. Unnumbered Interface ID ERO Sub-TLV
The Unnumbered Interface-ID ERO Sub-TLV has following format:
Previdi, et al. Expires December 3, 2016 [Page 17]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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 (IPv4, 4 octet or IPv6, 16 octets) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
Unnumbered Interface ID ERO Sub-TLV format
Type: TBD, suggested value 1165.
Length: Variable (12 for IPv4 Router-ID or 24 for IPv6 Router-ID).
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.5.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 December 3, 2016 [Page 18]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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.5.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 December 3, 2016 [Page 19]
Internet-Draft BGP LS extensions for Segment Routing June 2016
2.3.5.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 (IPv4, 4 octet or IPv6, 16 octets) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Unnumbered Interface ID Backup ERO Sub-TLV format
where:
Type: TBD, suggested value 1168.
Length: Variable (12 for IPv4 Router-ID or 24 for IPv6 Router-ID).
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 December 3, 2016 [Page 20]
Internet-Draft BGP LS extensions for Segment Routing June 2016
+-----------+------------------------------+----------+-------------+
| 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 | 149 [6] |
| 1161 | SID/Label TLV | variable | 1 [7] |
| 1162 | ERO Metric TLV | 4 octets | 10 [8] |
| 1163 | IPv4 ERO TLV | 5 octets | 11 [9] |
| 1164 | IPv6 ERO TLV | 17 | 12 [10] |
| | | octets | |
| 1165 | Unnumbered Interface ID ERO | variable | 13 [11] |
| | TLV | | |
| 1166 | IPv4 Backup ERO TLV | 5 octets | 14 [12] |
| 1167 | IPv6 Backup ERO TLV | 17 | 15 [13] |
| | | octets | |
| 1168 | Unnumbered Interface ID | variable | 16 [14] |
| | Backup ERO TLV | | |
| 1169 | IPv6 Prefix SID | variable | 5 [15] |
+-----------+------------------------------+----------+-------------+
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 December 3, 2016 [Page 21]
Internet-Draft BGP LS extensions for Segment Routing June 2016
+------------+-----------------------------+----------+-------------+
| TLV Code | Description | Length | OSPF TLV |
| Point | | | /Sub-TLV |
+------------+-----------------------------+----------+-------------+
| 1034 | SR Capabilities | variable | 9 [16] |
| 1035 | SR Algorithm | variable | 8 [17] |
| 1099 | Adjacency Segment | variable | 2 [18] |
| | Identifier (Adj-SID) TLV | | |
| 1100 | LAN Adjacency Segment | variable | 3 [19] |
| | Identifier (Adj-SID) TLV | | |
| 1158 | Prefix SID | variable | 2 [20] |
| 1161 | SID/Label TLV | variable | 1 [21] |
| 1162 | ERO Metric TLV | 4 octets | 8 [22] |
| 1163 | IPv4 ERO TLV | 8 octets | 4 [23] |
| 1165 | Unnumbered Interface ID ERO | 12 | 5 [24] |
| | TLV | octets | |
| 1166 | IPv4 Backup ERO TLV | 8 octets | 6 [25] |
| 1167 | Unnumbered Interface ID | 12 | 7 [26] |
| | Backup ERO TLV | octets | |
+------------+-----------------------------+----------+-------------+
Table 6: OSPF Segment Routing Extensions TLVs/Sub-TLVs
Previdi, et al. Expires December 3, 2016 [Page 22]
Internet-Draft BGP LS extensions for Segment Routing June 2016
+------------+----------------------------+----------+--------------+
| TLV Code | Description | Length | OSPFv3 TLV |
| Point | | | /Sub-TLV |
+------------+----------------------------+----------+--------------+
| 1034 | SR Capabilities | variable | 9 [27] |
| 1035 | SR Algorithm | variable | 8 [28] |
| 1099 | Adjacency Segment | variable | 5 [29] |
| | Identifier (Adj-SID) TLV | | |
| 1100 | LAN Adjacency Segment | variable | 6 [30] |
| | Identifier (Adj-SID) TLV | | |
| 1158 | Prefix SID | variable | 4 [31] |
| 1161 | SID/Label TLV | variable | 3 [32] |
| 1162 | ERO Metric TLV | 4 octets | 8 [33] |
| 1163 | IPv4 ERO TLV | 8 octets | 9 [34] |
| 1164 | IPv6 ERO TLV | 20 | 8 [35] |
| | | octets | |
| 1165 | Unnumbered Interface ID | 12 | 11 [36] |
| | ERO TLV | octets | |
| 1166 | IPv4 Backup ERO TLV | 8 octets | 12 [37] |
| 1167 | IPv6 Backup ERO TLV | 20 | 13 [38] |
| | | octets | |
| 1167 | Unnumbered Interface ID | 12 | 14 [39] |
| | 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.
3.1. Advertisement of a IS-IS Prefix SID TLV
The advertisement of a IS-IS Prefix SID TLV has following rules:
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.
3.2. Advertisement of a OSPF/OSPFv3 Prefix-SID TLV
The advertisement of a OSPF/OSPFv3 Prefix-SID TLV has following
rules:
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
Previdi, et al. Expires December 3, 2016 [Page 23]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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.
3.3. Advertisement of a range of prefix-to-SID mappings in OSPF
The advertisement of a range of prefix-to-SID mappings in OSPF has
following rules:
The OSPF/OSPFv3 Extended Prefix Range TLV is encoded in the BGP-LS
Prefix Attribute Range TLV as defined in Section 2.3.3. 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 Prefix SID Sub-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.
3.4. Advertisement of a range of IS-IS SR bindings
The advertisement of a range of IS-IS SR bindings has following
rules:
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.3 using the
Binding Sub-TLV as defined in Section 2.3.4. 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.
3.5. Advertisement of a path and its attributes from IS-IS protocol
The advertisement of a Path and its attributes is described in
[I-D.ietf-isis-segment-routing-extensions] section 2.4 and has
following rules:
The original Binding SID TLV (from IS-IS) is encoded into the BGP-
LS Range TLV defined in Section 2.3.3 using the Binding Sub-TLV as
defined in Section 2.3.4. The set of Sub-TLVs from the original
IS-IS Binding TLV are encoded as Sub-TLVs of the BGP-LS Binding
TLV as defined in Section 2.3.4. This includes the SID/Label TLV
defined in Section 2.3.
Previdi, et al. Expires December 3, 2016 [Page 24]
Internet-Draft BGP LS extensions for Segment Routing June 2016
3.6. Advertisement of a path and its attributes from OSPFv2/OSPFv3
protocol
The advertisement of a Path and its attributes is described in
[I-D.ietf-ospf-segment-routing-extensions] section 6 and
[I-D.ietf-ospf-ospfv3-segment-routing-extensions] section 6 and has
following rules:
Advertisement of a path for a single prefix: the original Binding
SID TLV (from OSPFv2/OSPFv3) is encoded into the BGP-LS Prefix
Attribute Binding TLV as defined in Section 2.3.4. The set of
Sub-TLVs from the original OSPFv2/OSPFv3 Binding TLV are encoded
as Sub-TLVs of the BGP-LS Binding TLV as defined in Section 2.3.4.
This includes the SID/Label TLV defined in Section 2.3.
Advertisement of an SR path for range of prefixes: the OSPF/OSPFv3
Extended Prefix Range TLV is encoded in the BGP-LS Prefix
Attribute Range TLV as defined in Section 2.3.3. The original
OSPFv2/OSPFv3 Binding SID TLV is encoded into the BGP-LS Binding
Sub-TLV as defined in Section 2.3.4. The set of Sub-TLVs from the
original OSPFv2/OSPFv3 Binding TLV are encoded as Sub-TLVs of the
BGP-LS Binding TLV as defined in Section 2.3.4. 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].
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.
Previdi, et al. Expires December 3, 2016 [Page 25]
Internet-Draft BGP LS extensions for Segment Routing June 2016
+-----------+--------------------------+----------+-----------------+
| 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.3 |
| 1160 | Binding SID | variable | Section 2.3.4 |
| 1161 | SID/Label TLV | variable | Section 2.3.5.2 |
| 1162 | ERO Metric TLV | 4 octets | 1 [40] |
| 1163 | IPv4 ERO TLV | 8 octets | 1 [41] |
| 1164 | IPv6 ERO TLV | 20 | 1 [42] |
| | | octets | |
| 1165 | Unnumbered Interface ID | 12 | 1 [43] |
| | ERO TLV | octets | |
| 1166 | IPv4 Backup ERO TLV | 8 octets | 1 [44] |
| 1167 | IPv6 Backup ERO TLV | 20 | 1 [45] |
| | | octets | |
| 1168 | Unnumbered Interface ID | 12 | 1 [46] |
| | Backup ERO TLV | octets | |
| 1169 | IPv6 Prefix SID | variable | Section 2.3.2 |
+-----------+--------------------------+----------+-----------------+
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.
8. Contributors
The following people have substantially contributed to the editing of
this document:
Acee Lindem
Cisco Systems
Email: acee@cisco.com
Previdi, et al. Expires December 3, 2016 [Page 26]
Internet-Draft BGP LS extensions for Segment Routing June 2016
Saikat Ray
Individual
Email: raysaikat@gmail.com
9. Acknowledgements
The authors would like to thank Les Ginsberg for the review of this
document.
10. References
10.1. Normative References
[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-06 (work in progress), December 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-05 (work in progress), March
2016.
[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-08 (work in progress), April 2016.
[I-D.previdi-isis-ipv6-prefix-sid]
Previdi, S., Ginsberg, L., and C. Filsfils, "Segment
Routing IPv6 Prefix-SID", draft-previdi-isis-ipv6-prefix-
sid-02 (work in progress), May 2016.
[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>.
Previdi, et al. Expires December 3, 2016 [Page 27]
Internet-Draft BGP LS extensions for Segment Routing June 2016
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and
S. Ray, "North-Bound Distribution of Link-State and
Traffic Engineering (TE) Information Using BGP", RFC 7752,
DOI 10.17487/RFC7752, March 2016,
<http://www.rfc-editor.org/info/rfc7752>.
10.2. Informative References
[I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Decraene, B., Litkowski, S.,
and R. Shakir, "Segment Routing Architecture", draft-ietf-
spring-segment-routing-08 (work in progress), May 2016.
[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
[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
Previdi, et al. Expires December 3, 2016 [Page 28]
Internet-Draft BGP LS extensions for Segment Routing June 2016
[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-previdi-isis-ipv6-prefix-sid-01
[16] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-3.2
[17] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-3.1
[18] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-7.1
[19] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-7.2
[20] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-5
[21] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-2.1
[22] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-6.1
Previdi, et al. Expires December 3, 2016 [Page 29]
Internet-Draft BGP LS extensions for Segment Routing June 2016
[23] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-6.2.1
[24] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-6.2.2
[25] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-6.2.3
[26] http://tools.ietf.org/html/draft-ietf-ospf-segment-routing-
extensions-05#section-6.2.4
[27] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-3.2
[28] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-3.1
[29] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-7.1
[30] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-7.2
[31] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-5
[32] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-2.1
[33] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-6.1
[34] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-6.2.1
[35] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-6.2.2
[36] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-6.2.3
[37] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-6.2.4
[38] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-6.2.5
Previdi, et al. Expires December 3, 2016 [Page 30]
Internet-Draft BGP LS extensions for Segment Routing June 2016
[39] http://tools.ietf.org/html/draft-ietf-ospf-ospfv3-segment-
routing-extensions-05#section-6.2.6
[40] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
extensions-05#section-2.4.7
[41] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
extensions-05#section-2.4.8
[42] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
extensions-05#section-2.4.9
[43] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
extensions-05#section-2.4.10
[44] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
extensions-05#section-2.4.11
[45] http://tools.ietf.org/html/draft-ietf-isis-segment-routing-
extensions-05#section-2.4.12
[46] 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 December 3, 2016 [Page 31]
Internet-Draft BGP LS extensions for Segment Routing June 2016
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
Individual
Email: jefftant@gmail.com
Previdi, et al. Expires December 3, 2016 [Page 32]