draft-ietf-ospf-segment-routing-msd-25.txt | rfc8476.txt | |||
---|---|---|---|---|
OSPF Working Group J. Tantsura | Internet Engineering Task Force (IETF) J. Tantsura | |||
Internet-Draft Apstra, Inc. | Request for Comments: 8476 Apstra, Inc. | |||
Intended status: Standards Track U. Chunduri | Category: Standards Track U. Chunduri | |||
Expires: April 20, 2019 Huawei Technologies | ISSN: 2070-1721 Huawei Technologies | |||
S. Aldrin | S. Aldrin | |||
Google, Inc | Google, Inc. | |||
P. Psenak | P. Psenak | |||
Cisco Systems | Cisco Systems | |||
October 17, 2018 | December 2018 | |||
Signaling MSD (Maximum SID Depth) using OSPF | Signaling Maximum SID Depth (MSD) Using OSPF | |||
draft-ietf-ospf-segment-routing-msd-25 | ||||
Abstract | Abstract | |||
This document defines a way for an Open Shortest Path First (OSPF) | This document defines a way for an Open Shortest Path First (OSPF) | |||
Router to advertise multiple types of supported Maximum SID(Segment | router to advertise multiple types of supported Maximum SID Depths | |||
Identifier) Depths (MSDs) at node and/or link granularity. Such | (MSDs) at node and/or link granularity. Such advertisements allow | |||
advertisements allow entities (e.g., centralized controllers) to | entities (e.g., centralized controllers) to determine whether a | |||
determine whether a particular SID stack can be supported in a given | particular Segment Identifier (SID) stack can be supported in a given | |||
network. This document defines only one type of MSD, but defines an | network. This document only refers to the Signaling MSD as defined | |||
encoding that can support other MSD types. Here the term OSPF means | in RFC 8491, but it defines an encoding that can support other MSD | |||
both OSPFv2 and OSPFv3. | types. Here, the term "OSPF" means both OSPFv2 and OSPFv3. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on April 20, 2019. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc8476. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction ....................................................3 | |||
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology ................................................4 | |||
1.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 1.2. Requirements Language ......................................4 | |||
2. Node MSD Advertisement . . . . . . . . . . . . . . . . . . . 4 | 2. Node MSD Advertisement ..........................................5 | |||
3. Link MSD sub-TLV . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Link MSD Sub-TLV ................................................6 | |||
4. Procedures for Defining and Using Node and Link MSD | 4. Procedures for Defining and Using Node and Link MSD | |||
Advertisements . . . . . . . . . . . . . . . . . . . . . . . 6 | Advertisements ..................................................7 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 5. IANA Considerations .............................................7 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 6. Security Considerations .........................................8 | |||
7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 | 7. References ......................................................9 | |||
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 | 7.1. Normative References .......................................9 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 7.2. Informative References ....................................10 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | Acknowledgements ..................................................11 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 9 | Contributors ......................................................11 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses ................................................11 | |||
1. Introduction | 1. Introduction | |||
When Segment Routing (SR) paths are computed by a centralized | When Segment Routing (SR) paths are computed by a centralized | |||
controller, it is critical that the controller learns the Maximum SID | controller, it is critical that the controller learn the Maximum SID | |||
(Segment Identifier) Depth (MSD) that can be imposed at each node/ | Depth (MSD) that can be imposed at each node/link on a given SR path. | |||
link on a given SR path to ensure that the Segment Identifier (SID) | This ensures that the Segment Identifier (SID) stack depth of a | |||
stack depth of a computed path doesn't exceed the number of SIDs the | computed path doesn't exceed the number of SIDs the node is capable | |||
node is capable of imposing. | of imposing. | |||
[I-D.ietf-pce-segment-routing] defines how to signal MSD in the Path | [PCEP-EXT] defines how to signal MSD in the Path Computation Element | |||
Computation Element communication Protocol (PCEP). However, if PCEP | Communication Protocol (PCEP). However, if PCEP is not supported/ | |||
is not supported/configured on the head-end of an SR tunnel or a | configured on the head-end of an SR tunnel or a Binding-SID anchor | |||
Binding-SID anchor node and controller does not participate in IGP | node, and the controller does not participate in IGP routing, it has | |||
routing, it has no way to learn the MSD of nodes and links. BGP-LS | no way of learning the MSD of nodes and links. BGP-LS (Distribution | |||
(Distribution of Link-State and TE Information using Border Gateway | of Link-State and TE Information Using BGP) [RFC7752] defines a way | |||
Protocol) [RFC7752] defines a way to expose topology and associated | to expose topology and associated attributes and capabilities of the | |||
attributes and capabilities of the nodes in that topology to a | nodes in that topology to a centralized controller. MSD signaling by | |||
centralized controller. MSD signaling by BGP-LS has been defined in | BGP-LS has been defined in [MSD-BGP]. Typically, BGP-LS is | |||
[I-D.ietf-idr-bgp-ls-segment-routing-msd]. Typically, BGP-LS is | ||||
configured on a small number of nodes that do not necessarily act as | configured on a small number of nodes that do not necessarily act as | |||
head-ends. In order for BGP-LS to signal MSD for all the nodes and | head-ends. In order for BGP-LS to signal MSD for all the nodes and | |||
links in the network MSD is relevant, MSD capabilities SHOULD be | links in the network for which MSD is relevant, MSD capabilities | |||
advertised by every OSPF router in the network. | SHOULD be advertised by every OSPF router in the network. | |||
Other types of MSD are known to be useful. For example, | Other types of MSDs are known to be useful. For example, [ELC-ISIS] | |||
[I-D.ietf-ospf-mpls-elc] defines Readable Label Depth Capability | defines Entropy Readable Label Depth (ERLD), which is used by a | |||
(RLDC) that is used by a head-end to insert an Entropy Label (EL) at | head-end to insert an Entropy Label (EL) at a depth where it can be | |||
a depth that could be read by transit nodes. | read by transit nodes. | |||
This document defines an extension to OSPF used to advertise one or | This document defines an extension to OSPF used to advertise one or | |||
more types of MSD at node and/or link granularity. In the future it | more types of MSDs at node and/or link granularity. In the future, | |||
is expected, that new MSD-types will be defined to signal additional | it is expected that new MSD-Types will be defined to signal | |||
capabilities e.g., entropy labels, SIDs that can be imposed through | additional capabilities, e.g., ELs, SIDs that can be imposed through | |||
recirculation, or SIDs associated with another dataplane e.g., IPv6. | recirculation, or SIDs associated with another data plane such | |||
as IPv6. | ||||
MSD advertisements MAY be useful even if Segment Routing itself is | MSD advertisements MAY be useful even if SR itself is not enabled. | |||
not enabled. For example, in a non-SR MPLS network, MSD defines the | For example, in a non-SR MPLS network, MSD defines the maximum label | |||
maximum label depth. | depth. | |||
1.1. Terminology | 1.1. Terminology | |||
This memo makes use of the terms defined in [RFC7770] | This memo makes use of the terms defined in [RFC7770]. | |||
BGP-LS: Distribution of Link-State and TE Information using Border | BGP-LS: Distribution of Link-State and TE Information Using BGP | |||
Gateway Protocol | ||||
OSPF: Open Shortest Path First | OSPF: Open Shortest Path First | |||
MSD: Maximum SID Depth - the number of SIDs supported by a node or a | MSD: Maximum SID Depth - the number of SIDs supported by a node | |||
link on a node | or a link on a node | |||
SID: Segment Identifier as defined in [RFC8402] | SID: Segment Identifier as defined in [RFC8402] | |||
Label Imposition: Imposition is the act of modifying and/or adding | Label Imposition: Imposition is the act of modifying and/or adding | |||
labels to the outgoing label stack associated with a packet. This | labels to the outgoing label stack associated with a packet. | |||
includes: | This includes: | |||
o replacing the label at the top of the label stack with a new label | * replacing the label at the top of the label stack with a | |||
new label | ||||
o pushing one or more new labels onto the label stack | * pushing one or more new labels onto the label stack | |||
The number of labels imposed is then the sum of the number of labels | The number of labels imposed is then the sum of the number of labels | |||
which are replaced and the number of labels which are pushed. See | that are replaced and the number of labels that are pushed. See | |||
[RFC3031] for further details. | [RFC3031] for further details. | |||
PCC: Path Computation Client | PCEP: Path Computation Element Communication Protocol | |||
PCE: Path Computation Element | ||||
PCEP: Path Computation Element Protocol | ||||
SR: Segment Routing | ||||
SID: Segment Identifier | SR: Segment Routing | |||
LSA: Link state advertisement | LSA: Link State Advertisement | |||
RI: OSPF Router Information LSA | RI: Router Information | |||
1.2. Requirements Language | 1.2. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
2. Node MSD Advertisement | 2. Node MSD Advertisement | |||
The node MSD TLV within the body of the OSPF RI Opaque LSA [RFC7770] | The Node MSD TLV within the body of the OSPF RI Opaque LSA [RFC7770] | |||
is defined to carry the provisioned SID depth of the router | is defined to carry the provisioned SID depth of the router | |||
originating the RI LSA. Node MSD is the smallest MSD supported by | originating the RI LSA. Node MSD is the smallest MSD supported by | |||
the node on the set of interfaces configured for use by the | the node on the set of interfaces configured for use by the | |||
advertising IGP instance. MSD values may be learned via a hardware | advertising IGP instance. MSD values may be learned via a hardware | |||
API or may be provisioned. | API or may be provisioned. | |||
0 1 2 3 | 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 | 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 | | |||
| Type | Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MSD-Type | MSD-Value | MSD-Type... | MSD-Value... | | |||
| MSD-Type | MSD-Value | MSD-Type... | MSD-Value... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Figure 1: Node MSD TLV | Figure 1: Node MSD TLV | |||
Type: 12 | Type: 12 | |||
Length: variable (multiple of 2 octets) and represents the total | Length: variable (multiple of 2 octets); represents the total length | |||
length of value field in octets. | of the value field in octets. | |||
Value: consists of one or more pairs of a 1 octet MSD-type and 1 | Value: consists of one or more pairs of a 1-octet MSD-Type and | |||
octet MSD-Value. | 1-octet MSD-Value. | |||
MSD-Type: one of the values defined in the IGP MSD-Types registry | MSD-Type: one of the values defined in the "IGP MSD-Types" registry | |||
defined in [I-D.ietf-isis-segment-routing-msd]. | defined in [RFC8491]. | |||
MSD-Value: a number in the range of 0-255. For all MSD-Types, 0 | MSD-Value: a number in the range of 0-255. For all MSD-Types, 0 | |||
represents lack of the ability to impose MSD stack of any depth; any | represents the lack of ability to impose an MSD stack of any depth; | |||
other value represents that of the node. This value MUST represent | any other value represents that of the node. This value MUST | |||
the lowest value supported by any link configured for use by the | represent the lowest value supported by any link configured for use | |||
advertising OSPF instance. | by the advertising OSPF instance. | |||
This TLV is applicable to OSPFv2 and to OSPFv3 and is optional. The | This TLV is optional and is applicable to both OSPFv2 and OSPFv3. | |||
scope of the advertisement is specific to the deployment. | The scope of the advertisement is specific to the deployment. | |||
When multiple Node MSD TLVs are received from a given router, the | When multiple Node MSD TLVs are received from a given router, the | |||
receiver MUST use the first occurrence of the TLV in the Router | receiver MUST use the first occurrence of the TLV in the Router | |||
Information LSA. If the Node MSD TLV appears in multiple Router | Information (RI) LSA. If the Node MSD TLV appears in multiple RI | |||
Information LSAs that have different flooding scopes, the Node MSD | LSAs that have different flooding scopes, the Node MSD TLV in the RI | |||
TLV in the Router Information LSA with the area-scoped flooding scope | LSA with the area-scoped flooding scope MUST be used. If the Node | |||
MUST be used. If the Node MSD TLV appears in multiple Router | MSD TLV appears in multiple RI LSAs that have the same flooding | |||
Information LSAs that have the same flooding scope, the Node MSD TLV | scope, the Node MSD TLV in the RI LSA with the numerically smallest | |||
in the Router Information (RI) LSA with the numerically smallest | ||||
Instance ID MUST be used and other instances of the Node MSD TLV MUST | Instance ID MUST be used and other instances of the Node MSD TLV MUST | |||
be ignored. The RI LSA can be advertised at any of the defined | be ignored. The RI LSA can be advertised at any of the defined | |||
opaque flooding scopes (link, area, or Autonomous System (AS)). For | opaque flooding scopes (link, area, or Autonomous System (AS)). For | |||
the purpose of Node MSD TLV advertisement, area-scoped flooding is | the purpose of Node MSD TLV advertisement, area-scoped flooding is | |||
RECOMMENDED. | RECOMMENDED. | |||
3. Link MSD sub-TLV | 3. Link MSD Sub-TLV | |||
The link sub-TLV is defined to carry the MSD of the interface | The Link MSD sub-TLV is defined to carry the MSD of the interface | |||
associated with the link. MSD values may be learned via a hardware | associated with the link. MSD values may be learned via a hardware | |||
API or may be provisioned. | API or may be provisioned. | |||
0 1 2 3 | 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 | 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 | | |||
| Type | Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MSD-Type | MSD-Value | MSD-Type... | MSD-Value... | | |||
| MSD-Type | MSD-Value | MSD-Type... | MSD-Value... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Figure 2: Link MSD Sub-TLV | Figure 2: Link MSD Sub-TLV | |||
Type: | Type: | |||
For OSPFv2, the link-level MSD-Value is advertised as an optional | ||||
sub-TLV of the OSPFv2 Extended Link TLV as defined in [RFC7684] | ||||
and has a type of 6. | ||||
For OSPFv2, the Link level MSD-Value is advertised as an optional | For OSPFv3, the link-level MSD-Value is advertised as an optional | |||
Sub-TLV of the OSPFv2 Extended Link TLV as defined in [RFC7684], and | sub-TLV of the E-Router-LSA TLV as defined in [RFC8362] and has a | |||
has a type of 6. | type of 9. | |||
For OSPFv3, the Link level MSD-Value is advertised as an optional | ||||
Sub-TLV of the E-Router-LSA TLV as defined in [RFC8362], and has a | ||||
type of 9. | ||||
Length: variable and same as defined in Section 2. | ||||
Value: consists of one or more pairs of a 1 octet MSD-type and 1 | Length: variable; same as defined in Section 2. | |||
octet MSD-Value. | ||||
MSD-Type: one of the values defined in the MSD-Types registry defined | Value: consists of one or more pairs of a 1-octet MSD-Type and | |||
in [I-D.ietf-isis-segment-routing-msd]. | 1-octet MSD-Value. | |||
MSD-Value field contains Link MSD of the router originating the | MSD-Type: one of the values defined in the "IGP MSD-Types" registry | |||
corresponding LSA as specified for OSPFv2 and OSPFv3. Link MSD is a | defined in [RFC8491]. | |||
number in the range of 0-255. For all MSD-Types, 0 represents lack | ||||
of the ability to impose MSD stack of any depth; any other value | ||||
represents that of the particular link when used as an outgoing | ||||
interface. | ||||
If this sub-TLV is advertised multiple times in the same OSPFv2 | The MSD-Value field contains the Link MSD of the router originating | |||
Extended Link Opaque LSA/E-Router-LSA, only the first instance of the | the corresponding LSA as specified for OSPFv2 and OSPFv3. The Link | |||
TLV MUST be used by receiving OSPF routers. This situation SHOULD be | MSD is a number in the range of 0-255. For all MSD-Types, 0 | |||
logged as an error. | represents the lack of ability to impose an MSD stack of any depth; | |||
any other value represents that of the particular link when used as | ||||
an outgoing interface. | ||||
If this sub-TLV is advertised multiple times for the same link in | If this sub-TLV is advertised multiple times for the same link in | |||
different OSPF Extended Link Opaque LSAs/E-Router-LSAs originated by | different OSPF Extended Link Opaque LSAs / E-Router-LSAs originated | |||
the same OSPF router, the OSPFv2 Extended Link TLV in the OSPFv2 | by the same OSPF router, the sub-TLV in the OSPFv2 Extended Link | |||
Extended Link Opaque LSA with the smallest Opaque ID or in the OSPFv3 | Opaque LSA with the smallest Opaque ID or in the OSPFv3 E-Router-LSA | |||
E-Router-LSA with the smallest Link State ID MUST be used by | with the smallest Link State ID MUST be used by receiving OSPF | |||
receiving OSPF routers. This situation MAY be logged as a warning. | routers. This situation SHOULD be logged as an error. | |||
4. Procedures for Defining and Using Node and Link MSD Advertisements | 4. Procedures for Defining and Using Node and Link MSD Advertisements | |||
When Link MSD is present for a given MSD-type, the value of the Link | When Link MSD is present for a given MSD-Type, the value of the Link | |||
MSD MUST take precedence over the Node MSD. When a Link MSD-type is | MSD MUST take precedence over the Node MSD. When a Link MSD-Type is | |||
not signaled but the Node MSD-type is, then the Node MSD-type value | not signaled but the Node MSD-Type is, then the Node MSD-Type value | |||
MUST be considered as the MSD value for that link. | MUST be considered as the MSD value for that link. | |||
In order to increase flooding efficiency, it is RECOMMENDED that | In order to increase flooding efficiency, it is RECOMMENDED that | |||
routers with homogenous link MSD values advertise just the Node MSD | routers with homogenous Link MSD values advertise just the Node MSD | |||
value. | value. | |||
The meaning of the absence of both Node and Link MSD advertisements | The meaning of the absence of both Node and Link MSD advertisements | |||
for a given MSD-type is specific to the MSD-type. Generally it can | for a given MSD-Type is specific to the MSD-Type. Generally, it can | |||
only be inferred that the advertising node does not support | only be inferred that the advertising node does not support | |||
advertisement of that MSD-type. However, in some cases the lack of | advertisement of that MSD-Type. However, in some cases the lack of | |||
advertisement might imply that the functionality associated with the | advertisement might imply that the functionality associated with the | |||
MSD-type is not supported. The correct interpretation MUST be | MSD-Type is not supported. Per [RFC8491], the correct interpretation | |||
specified when an MSD-type is defined in | MUST be specified when an MSD-Type is defined. | |||
[I-D.ietf-isis-segment-routing-msd]. | ||||
5. IANA Considerations | 5. IANA Considerations | |||
This specification updates several existing OSPF registries. | This specification updates several existing OSPF registries. | |||
IANA has allocated TLV type 12 from the OSPF Router Information (RI) | IANA has allocated TLV type 12 from the "OSPF Router Information (RI) | |||
TLVs Registry as defined by [RFC7770]. | TLVs" registry as defined by [RFC7770]. | |||
Value Description Reference | Value Description Reference | |||
----- --------------- ------------- | ----- --------------- ------------- | |||
12 Node MSD This document | 12 Node MSD This document | |||
Figure 3: RI Node MSD | Figure 3: RI Node MSD | |||
IANA has allocated sub-TLV type 6 from the OSPFv2 Extended Link TLV | IANA has allocated sub-TLV type 6 from the "OSPFv2 Extended Link TLV | |||
Sub-TLVs registry. | Sub-TLVs" registry. | |||
Value Description Reference | Value Description Reference | |||
----- --------------- ------------- | ----- --------------- ------------- | |||
6 OSPFv2 Link MSD This document | 6 OSPFv2 Link MSD This document | |||
Figure 4: OSPFv2 Link MSD | Figure 4: OSPFv2 Link MSD | |||
IANA has allocated sub-TLV type 9 from the OSPFv3 Extended-LSA Sub- | IANA has allocated sub-TLV type 9 from the "OSPFv3 Extended-LSA | |||
TLV registry. | Sub-TLVs" registry. | |||
Value Description Reference | Value Description Reference | |||
----- --------------- ------------- | ----- --------------- ------------- | |||
9 OSPFv3 Link MSD This document | 9 OSPFv3 Link MSD This document | |||
Figure 5: OSPFv3 Link MSD | Figure 5: OSPFv3 Link MSD | |||
6. Security Considerations | 6. Security Considerations | |||
Security concerns for OSPF are addressed in [RFC7474], [RFC4552] and | Security concerns for OSPF are addressed in [RFC7474], [RFC4552], and | |||
[RFC7166]. Further security analysis for OSPF protocol is done in | [RFC7166]. Further security analysis for the OSPF protocol is done | |||
[RFC6863]. Security considerations, as specified by [RFC7770], | in [RFC6863]. Security considerations as specified by [RFC7770], | |||
[RFC7684] and [RFC8362] are applicable to this document. | [RFC7684], and [RFC8362] are applicable to this document. | |||
Implementations MUST assure that malformed TLV and Sub-TLV defined in | Implementations MUST ensure that malformed TLVs and sub-TLVs defined | |||
this document are detected and do not provide a vulnerability for | in this document are detected and do not provide a vulnerability for | |||
attackers to crash the OSPF router or routing process. Reception of | attackers to crash the OSPF router or routing process. Reception of | |||
malformed TLV or Sub-TLV SHOULD be counted and/or logged for further | malformed TLVs or sub-TLVs SHOULD be counted and/or logged for | |||
analysis. Logging of malformed TLVs and Sub-TLVs SHOULD be rate- | further analysis. Logging of malformed TLVs and sub-TLVs SHOULD be | |||
limited to prevent a Denial of Service (DoS) attack (distributed or | rate-limited to prevent a Denial-of-Service (DoS) attack (distributed | |||
otherwise) from overloading the OSPF control plane. | or otherwise) from overloading the OSPF control plane. | |||
Advertisement of an incorrect MSD value may have negative | Advertisement of an incorrect MSD value may have negative | |||
consequences. If the value is smaller than supported, path | consequences. If the value is smaller than supported, path | |||
computation may fail to compute a viable path. If the value is | computation may fail to compute a viable path. If the value is | |||
larger than supported, an attempt to instantiate a path that can't be | larger than supported, an attempt to instantiate a path that can't be | |||
supported by the head-end (the node performing the SID imposition) | supported by the head-end (the node performing the SID imposition) | |||
may occur. | may occur. | |||
The presence of this information also may inform an attacker of how | The presence of this information may also inform an attacker of how | |||
to induce any of the aforementioned conditions. | to induce any of the aforementioned conditions. | |||
There's no Denial of Service risk specific to this extension, and it | There's no DoS risk specific to this extension, and it is not | |||
is not vulnerable to replay attacks. | vulnerable to replay attacks. | |||
7. Contributors | ||||
The following people contributed to this document: | ||||
Les Ginsberg | ||||
Email: ginsberg@cisco.com | ||||
8. Acknowledgments | ||||
The authors would like to thank Acee Lindem, Ketan Talaulikar, Tal | ||||
Mizrahi, Stephane Litkowski and Bruno Decraene for their reviews and | ||||
valuable comments. | ||||
9. References | 7. References | |||
9.1. Normative References | ||||
[I-D.ietf-isis-segment-routing-msd] | 7.1. Normative References | |||
Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, | ||||
"Signaling MSD (Maximum SID Depth) using IS-IS", draft- | ||||
ietf-isis-segment-routing-msd-19 (work in progress), | ||||
October 2018. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | |||
Label Switching Architecture", RFC 3031, | Label Switching Architecture", RFC 3031, | |||
DOI 10.17487/RFC3031, January 2001, | DOI 10.17487/RFC3031, January 2001, | |||
<https://www.rfc-editor.org/info/rfc3031>. | <https://www.rfc-editor.org/info/rfc3031>. | |||
[RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., | [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., | |||
Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute | Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute | |||
Advertisement", RFC 7684, DOI 10.17487/RFC7684, November | Advertisement", RFC 7684, DOI 10.17487/RFC7684, | |||
2015, <https://www.rfc-editor.org/info/rfc7684>. | November 2015, <https://www.rfc-editor.org/info/rfc7684>. | |||
[RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and | [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and | |||
S. Shaffer, "Extensions to OSPF for Advertising Optional | S. Shaffer, "Extensions to OSPF for Advertising Optional | |||
Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, | Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, | |||
February 2016, <https://www.rfc-editor.org/info/rfc7770>. | February 2016, <https://www.rfc-editor.org/info/rfc7770>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | RFC 2119 Key Words", BCP 14, RFC 8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | DOI 10.17487/RFC8174, May 2017, | |||
<https://www.rfc-editor.org/info/rfc8174>. | ||||
[RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and | [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and | |||
F. Baker, "OSPFv3 Link State Advertisement (LSA) | F. Baker, "OSPFv3 Link State Advertisement (LSA) | |||
Extensibility", RFC 8362, DOI 10.17487/RFC8362, April | Extensibility", RFC 8362, DOI 10.17487/RFC8362, | |||
2018, <https://www.rfc-editor.org/info/rfc8362>. | April 2018, <https://www.rfc-editor.org/info/rfc8362>. | |||
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | |||
Decraene, B., Litkowski, S., and R. Shakir, "Segment | Decraene, B., Litkowski, S., and R. Shakir, "Segment | |||
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | |||
July 2018, <https://www.rfc-editor.org/info/rfc8402>. | July 2018, <https://www.rfc-editor.org/info/rfc8402>. | |||
9.2. Informative References | [RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, | |||
"Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, | ||||
DOI 10.17487/RFC8491, November 2018, | ||||
<https://www.rfc-editor.org/info/rfc8491>. | ||||
[I-D.ietf-idr-bgp-ls-segment-routing-msd] | 7.2. Informative References | |||
Tantsura, J., Chunduri, U., Mirsky, G., and S. Sivabalan, | ||||
"Signaling MSD (Maximum SID Depth) using Border Gateway | ||||
Protocol Link-State", draft-ietf-idr-bgp-ls-segment- | ||||
routing-msd-02 (work in progress), August 2018. | ||||
[I-D.ietf-ospf-mpls-elc] | [ELC-ISIS] Xu, X., Kini, S., Sivabalan, S., Filsfils, C., and S. | |||
Xu, X., Kini, S., Sivabalan, S., Filsfils, C., and S. | ||||
Litkowski, "Signaling Entropy Label Capability and Entropy | Litkowski, "Signaling Entropy Label Capability and Entropy | |||
Readable Label-stack Depth Using OSPF", draft-ietf-ospf- | Readable Label-stack Depth Using OSPF", Work in Progress, | |||
mpls-elc-07 (work in progress), September 2018. | draft-ietf-ospf-mpls-elc-07, September 2018. | |||
[I-D.ietf-pce-segment-routing] | [MSD-BGP] Tantsura, J., Chunduri, U., Mirsky, G., and S. Sivabalan, | |||
Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | "Signaling MSD (Maximum SID Depth) using Border Gateway | |||
Protocol Link-State", Work in Progress, draft-ietf-idr- | ||||
bgp-ls-segment-routing-msd-02, August 2018. | ||||
[PCEP-EXT] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | ||||
and J. Hardwick, "PCEP Extensions for Segment Routing", | and J. Hardwick, "PCEP Extensions for Segment Routing", | |||
draft-ietf-pce-segment-routing-12 (work in progress), June | Work in Progress, draft-ietf-pce-segment-routing-14, | |||
2018. | October 2018. | |||
[RFC4552] Gupta, M. and N. Melam, "Authentication/Confidentiality | [RFC4552] Gupta, M. and N. Melam, "Authentication/Confidentiality | |||
for OSPFv3", RFC 4552, DOI 10.17487/RFC4552, June 2006, | for OSPFv3", RFC 4552, DOI 10.17487/RFC4552, June 2006, | |||
<https://www.rfc-editor.org/info/rfc4552>. | <https://www.rfc-editor.org/info/rfc4552>. | |||
[RFC6863] Hartman, S. and D. Zhang, "Analysis of OSPF Security | [RFC6863] Hartman, S. and D. Zhang, "Analysis of OSPF Security | |||
According to the Keying and Authentication for Routing | According to the Keying and Authentication for Routing | |||
Protocols (KARP) Design Guide", RFC 6863, | Protocols (KARP) Design Guide", RFC 6863, | |||
DOI 10.17487/RFC6863, March 2013, | DOI 10.17487/RFC6863, March 2013, | |||
<https://www.rfc-editor.org/info/rfc6863>. | <https://www.rfc-editor.org/info/rfc6863>. | |||
skipping to change at page 11, line 5 ¶ | skipping to change at page 11, line 5 ¶ | |||
"Security Extension for OSPFv2 When Using Manual Key | "Security Extension for OSPFv2 When Using Manual Key | |||
Management", RFC 7474, DOI 10.17487/RFC7474, April 2015, | Management", RFC 7474, DOI 10.17487/RFC7474, April 2015, | |||
<https://www.rfc-editor.org/info/rfc7474>. | <https://www.rfc-editor.org/info/rfc7474>. | |||
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | |||
S. Ray, "North-Bound Distribution of Link-State and | S. Ray, "North-Bound Distribution of Link-State and | |||
Traffic Engineering (TE) Information Using BGP", RFC 7752, | Traffic Engineering (TE) Information Using BGP", RFC 7752, | |||
DOI 10.17487/RFC7752, March 2016, | DOI 10.17487/RFC7752, March 2016, | |||
<https://www.rfc-editor.org/info/rfc7752>. | <https://www.rfc-editor.org/info/rfc7752>. | |||
Acknowledgements | ||||
The authors would like to thank Acee Lindem, Ketan Talaulikar, Tal | ||||
Mizrahi, Stephane Litkowski, and Bruno Decraene for their reviews and | ||||
valuable comments. | ||||
Contributors | ||||
The following person contributed to this document: | ||||
Les Ginsberg | ||||
Email: ginsberg@cisco.com | ||||
Authors' Addresses | Authors' Addresses | |||
Jeff Tantsura | Jeff Tantsura | |||
Apstra, Inc. | Apstra, Inc. | |||
Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
Uma Chunduri | Uma Chunduri | |||
Huawei Technologies | Huawei Technologies | |||
Email: uma.chunduri@huawei.com | Email: uma.chunduri@huawei.com | |||
Sam Aldrin | Sam Aldrin | |||
Google, Inc | Google, Inc. | |||
Email: aldrin.ietf@gmail.com | Email: aldrin.ietf@gmail.com | |||
Peter Psenak | Peter Psenak | |||
Cisco Systems | Cisco Systems | |||
Email: ppsenak@cisco.com | Email: ppsenak@cisco.com | |||
End of changes. 74 change blocks. | ||||
231 lines changed or deleted | 210 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |