draft-ietf-ospf-ospfv3-segment-routing-extensions-16.txt | draft-ietf-ospf-ospfv3-segment-routing-extensions-17.txt | |||
---|---|---|---|---|
Open Shortest Path First IGP P. Psenak, Ed. | Open Shortest Path First IGP P. Psenak, Ed. | |||
Internet-Draft Cisco Systems, Inc. | Internet-Draft Cisco Systems, Inc. | |||
Intended status: Standards Track S. Previdi, Ed. | Intended status: Standards Track S. Previdi, Ed. | |||
Expires: April 24, 2019 Individual | Expires: May 9, 2019 Individual | |||
October 21, 2018 | November 5, 2018 | |||
OSPFv3 Extensions for Segment Routing | OSPFv3 Extensions for Segment Routing | |||
draft-ietf-ospf-ospfv3-segment-routing-extensions-16 | draft-ietf-ospf-ospfv3-segment-routing-extensions-17 | |||
Abstract | Abstract | |||
Segment Routing (SR) allows a flexible definition of end-to-end paths | Segment Routing (SR) allows a flexible definition of end-to-end paths | |||
within IGP topologies by encoding paths as sequences of topological | within IGP topologies by encoding paths as sequences of topological | |||
sub-paths, called "segments". These segments are advertised by the | sub-paths, called "segments". These segments are advertised by the | |||
link-state routing protocols (IS-IS and OSPF). | link-state routing protocols (IS-IS and OSPF). | |||
This draft describes the OSPFv3 extensions required for Segment | This draft describes the OSPFv3 extensions required for Segment | |||
Routing. | Routing with MPLS data plane. | |||
Requirements Language | 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", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
skipping to change at page 1, line 43 ¶ | skipping to change at page 1, line 43 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on April 24, 2019. | This Internet-Draft will expire on May 9, 2019. | |||
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 . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Segment Routing Identifiers . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1. SID/Label Sub-TLV . . . . . . . . . . . . . . . . . . . . 3 | 3. Segment Routing Identifiers . . . . . . . . . . . . . . . . . 4 | |||
3. Segment Routing Capabilities . . . . . . . . . . . . . . . . 4 | 3.1. SID/Label Sub-TLV . . . . . . . . . . . . . . . . . . . . 4 | |||
3.1. SR-Algorithm TLV . . . . . . . . . . . . . . . . . . . . 4 | 4. Segment Routing Capabilities . . . . . . . . . . . . . . . . 5 | |||
3.2. SID/Label Range TLV . . . . . . . . . . . . . . . . . . . 5 | 4.1. SR-Algorithm TLV . . . . . . . . . . . . . . . . . . . . 5 | |||
3.3. SR Local Block TLV . . . . . . . . . . . . . . . . . . . 7 | 4.2. SID/Label Range TLV . . . . . . . . . . . . . . . . . . . 6 | |||
3.4. SRMS Preference TLV . . . . . . . . . . . . . . . . . . . 9 | 4.3. SR Local Block TLV . . . . . . . . . . . . . . . . . . . 8 | |||
4. OSPFv3 Extended Prefix Range TLV . . . . . . . . . . . . . . 10 | 4.4. SRMS Preference TLV . . . . . . . . . . . . . . . . . . . 10 | |||
5. Prefix SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 13 | 5. OSPFv3 Extended Prefix Range TLV . . . . . . . . . . . . . . 11 | |||
6. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 16 | 6. Prefix SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 14 | |||
6.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 17 | 7. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 17 | |||
6.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 18 | 7.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 18 | |||
7. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 19 | 7.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 19 | |||
7.1. Intra-area Segment routing in OSPFv3 . . . . . . . . . . 19 | 8. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 20 | |||
7.2. Inter-area Segment routing in OSPFv3 . . . . . . . . . . 20 | 8.1. Intra-area Segment routing in OSPFv3 . . . . . . . . . . 20 | |||
7.3. Segment Routing for External Prefixes . . . . . . . . . . 21 | 8.2. Inter-area Segment routing in OSPFv3 . . . . . . . . . . 21 | |||
7.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 22 | 8.3. Segment Routing for External Prefixes . . . . . . . . . . 22 | |||
7.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 22 | 8.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 23 | |||
7.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 22 | 8.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 23 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 | 8.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 23 | |||
8.1. OSPFv3 Extended-LSA TLV Registry . . . . . . . . . . . . 22 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | |||
8.2. OSPFv3 Extended-LSA Sub-TLV registry . . . . . . . . . . 23 | 9.1. OSPFv3 Extended-LSA TLV Registry . . . . . . . . . . . . 23 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 9.2. OSPFv3 Extended-LSA Sub-TLV registry . . . . . . . . . . 24 | |||
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 23 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 24 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 26 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 25 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | 12.2. Informative References . . . . . . . . . . . . . . . . . 27 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 | ||||
1. Introduction | 1. Introduction | |||
Segment Routing (SR) allows a flexible definition of end-to-end paths | Segment Routing (SR) allows a flexible definition of end-to-end paths | |||
within IGP topologies by encoding paths as sequences of topological | within IGP topologies by encoding paths as sequences of topological | |||
sub-paths, called "segments". These segments are advertised by the | sub-paths, called "segments". These segments are advertised by the | |||
link-state routing protocols (IS-IS and OSPF). Prefix segments | link-state routing protocols (IS-IS and OSPF). Prefix segments | |||
represent an ECMP-aware shortest-path to a prefix (or a node), as per | represent an ECMP-aware shortest-path to a prefix (or a node), as per | |||
the state of the IGP topology. Adjacency segments represent a hop | the state of the IGP topology. Adjacency segments represent a hop | |||
over a specific adjacency between two nodes in the IGP. A prefix | over a specific adjacency between two nodes in the IGP. A prefix | |||
skipping to change at page 3, line 27 ¶ | skipping to change at page 3, line 28 ¶ | |||
There are additional segment types, e.g., Binding SID defined in | There are additional segment types, e.g., Binding SID defined in | |||
[RFC8402]. | [RFC8402]. | |||
This draft describes the OSPFv3 extensions required for Segment | This draft describes the OSPFv3 extensions required for Segment | |||
Routing with MPLS data plane. | Routing with MPLS data plane. | |||
Segment Routing architecture is described in [RFC8402]. | Segment Routing architecture is described in [RFC8402]. | |||
Segment Routing use cases are described in [RFC7855]. | Segment Routing use cases are described in [RFC7855]. | |||
2. Segment Routing Identifiers | 2. Terminology | |||
This section lists some of the terminology used in this document: | ||||
ABR - Area Border Router | ||||
Adj-SID - Adjacency Segment Identifier | ||||
AS - Autonomous System | ||||
ASBR - Autonomous System Boundary Router | ||||
IS-IS - Intermediate System to Intermediate System | ||||
LDP - Label Distribution Protocol | ||||
LSP - Label Switched Path | ||||
MPLS - Multi Protocol Label Switching | ||||
OSPF - Open Shortest Path First | ||||
SPF - Shortest Path First | ||||
RSVP - Resource Reservation Protocol | ||||
SID - Segment Identifier | ||||
SR - Segment Routing | ||||
SRGB - Segment Routing Global Block | ||||
SRLB - Segment Routing Local Block | ||||
SRMS - Segment Routing Mapping Server | ||||
TLV - Type Length Value | ||||
3. Segment Routing Identifiers | ||||
Segment Routing defines various types of Segment Identifiers (SIDs): | Segment Routing defines various types of Segment Identifiers (SIDs): | |||
Prefix-SID, Adjacency-SID, LAN Adjacency SID, and Binding SID. | Prefix-SID, Adjacency-SID, LAN Adjacency SID, and Binding SID. | |||
2.1. SID/Label Sub-TLV | 3.1. SID/Label Sub-TLV | |||
The SID/Label Sub-TLV appears in multiple TLVs or Sub-TLVs defined | The SID/Label Sub-TLV appears in multiple TLVs or Sub-TLVs defined | |||
later in this document. It is used to advertise the SID or label | later in this document. It is used to advertise the SID or label | |||
associated with a prefix or adjacency. The SID/Label Sub-TLV has | associated with a prefix or adjacency. The SID/Label Sub-TLV has | |||
following format: | following format: | |||
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 | | |||
skipping to change at page 4, line 4 ¶ | skipping to change at page 4, line 43 ¶ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID/Label (variable) | | | SID/Label (variable) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
Type: 7 | Type: 7 | |||
Length: Variable, 3 or 4 octets | Length: Variable, 3 or 4 octets | |||
SID/Label: If length is set to 3, then the 20 rightmost bits | 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 | represent a label. If length is set to 4, then the value | |||
represents a 32-bit SID. | represents a 32-bit SID. | |||
The receiving router MUST ignore the SID/Label Sub-TLV if the | The receiving router MUST ignore the SID/Label Sub-TLV if the | |||
length is other then 3 or 4. | length is other than 3 or 4. | |||
3. Segment Routing Capabilities | 4. Segment Routing Capabilities | |||
Segment Routing requires some additional router capabilities to be | Segment Routing requires some additional router capabilities to be | |||
advertised to other routers in the area. | advertised to other routers in the area. | |||
These SR capabilities are advertised in the OSPFv3 Router Information | These SR capabilities are advertised in the OSPFv3 Router Information | |||
Opaque LSA (defined in [RFC7770]). | Opaque LSA (defined in [RFC7770]). | |||
3.1. SR-Algorithm TLV | 4.1. SR-Algorithm TLV | |||
The SR-Algorithm TLV is a top-level TLV of the OSPFv3 Router | The SR-Algorithm TLV is a top-level TLV of the OSPFv3 Router | |||
Information Opaque LSA (defined in [RFC7770]). | Information Opaque LSA (defined in [RFC7770]). | |||
The SR-Algorithm TLV is optional. It SHOULD only be advertised once | The SR-Algorithm TLV is optional. It SHOULD only be advertised once | |||
in the OSPFv3 Router Information Opaque LSA. If the SR-Algorithm TLV | in the OSPFv3 Router Information Opaque LSA. If the SR-Algorithm TLV | |||
is not advertised by the node, such node is considered as not being | is not advertised by the node, such node is considered as not being | |||
segment routing capable. | segment routing capable. | |||
An SR router can use various algorithms when calculating reachability | An SR router can use various algorithms when calculating reachability | |||
skipping to change at page 4, line 49 ¶ | skipping to change at page 5, line 43 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Algorithm 1 | Algorithm... | Algorithm n | | | | Algorithm 1 | Algorithm... | Algorithm n | | | |||
+- -+ | +- -+ | |||
| | | | | | |||
+ + | + + | |||
where: | where: | |||
Type: 8 | Type: 8 as defined in [I-D.ietf-ospf-segment-routing-extensions] | |||
and applicable to OSPFv3. | ||||
Length: Variable, in octets, dependent on number of algorithms | Length: Variable, in octets, dependent on number of algorithms | |||
advertised. | advertised. | |||
Algorithm: Single octet identifying the algorithm. Algorithms are | Algorithm: Single octet identifying the algorithm. Algorithms are | |||
defined in "IGP Algorithm Type" registry under "Interior Gateway | defined in "IGP Algorithm Type" registry under "Interior Gateway | |||
Protocol (IGP) Parameters", defined in | Protocol (IGP) Parameters" [ALGOREG], defined in | |||
[I-D.ietf-ospf-segment-routing-extensions]. | [I-D.ietf-ospf-segment-routing-extensions]. | |||
When multiple SR-Algorithm TLVs are received from a given router, the | When multiple SR-Algorithm TLVs are received from a given router, the | |||
receiver MUST use the first occurrence of the TLV in the OSPFv3 | receiver MUST use the first occurrence of the TLV in the OSPFv3 | |||
Router Information Opaque LSA. If the SR-Algorithm TLV appears in | Router Information Opaque LSA. If the SR-Algorithm TLV appears in | |||
multiple OSPFv3 Router Information Opaque LSAs that have different | multiple OSPFv3 Router Information Opaque LSAs that have different | |||
flooding scopes, the SR-Algorithm TLV in the OSPFv3 Router | flooding scopes, the SR-Algorithm TLV in the OSPFv3 Router | |||
Information Opaque LSA with the area-scoped flooding scope MUST be | Information Opaque LSA with the area-scoped flooding scope MUST be | |||
used. If the SR-Algorithm TLV appears in multiple OSPFv3 Router | used. If the SR-Algorithm TLV appears in multiple OSPFv3 Router | |||
Information Opaque LSAs that have the same flooding scope, the SR- | Information Opaque LSAs that have the same flooding scope, the SR- | |||
Algorithm TLV in the OSPFv3 Router Information Opaque LSA with the | Algorithm TLV in the OSPFv3 Router Information Opaque LSA with the | |||
numerically smallest Instance ID MUST be used and subsequent | numerically smallest Instance ID MUST be used and subsequent | |||
instances of the SR-Algorithm TLV MUST be ignored. | instances of the SR-Algorithm TLV MUST be ignored. | |||
The OSPFv3 Router Information Opaque LSA can be advertised at any of | The OSPFv3 Router Information Opaque LSA can be advertised at any of | |||
the defined opaque flooding scopes (link, area, or Autonomous System | the defined opaque flooding scopes (link, area, or Autonomous System | |||
(AS)). For the purpose of SR-Algorithm TLV advertisement, area- | (AS)). For the purpose of SR-Algorithm TLV advertisement, area- | |||
scoped flooding is REQUIRED. | scoped flooding is REQUIRED. | |||
3.2. SID/Label Range TLV | 4.2. SID/Label Range TLV | |||
Prefix SIDs MAY be advertised in a form of an index as described in | Prefix SIDs MAY be advertised in a form of an index as described in | |||
Section 5. Such index defines the offset in the SID/Label space | Section 6. Such index defines the offset in the SID/Label space | |||
advertised by the router. The SID/Label Range TLV is used to | advertised by the router. The SID/Label Range TLV is used to | |||
advertise such SID/Label space. | advertise such SID/Label space. | |||
The SID/Label Range TLV is a top-level TLV of the OSPFv3 Router | The SID/Label Range TLV is a top-level TLV of the OSPFv3 Router | |||
Information Opaque LSA (defined in [RFC7770]). | Information Opaque LSA (defined in [RFC7770]). | |||
The SID/Label Range TLV MAY appear multiple times and has the | The SID/Label Range TLV MAY appear multiple times and has the | |||
following format: | following format: | |||
0 1 2 3 | 0 1 2 3 | |||
skipping to change at page 6, line 19 ¶ | skipping to change at page 6, line 49 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Range Size | Reserved | | | Range Size | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-TLVs (variable) | | | Sub-TLVs (variable) | | |||
+- -+ | +- -+ | |||
| | | | | | |||
+ + | + + | |||
where: | where: | |||
Type: 9 | Type: 9 as defined in [I-D.ietf-ospf-segment-routing-extensions] | |||
and applicable to OSPFv3. | ||||
Length: Variable, in octets, dependent on Sub-TLVs. | Length: Variable, in octets, dependent on Sub-TLVs. | |||
Range Size: 3-octet SID/label range size (i.e., the number of SIDs | Range Size: 3-octet SID/label range size (i.e., the number of SIDs | |||
or labels in the range including the first SID/label). It MUST be | or labels in the range including the first SID/label). It MUST be | |||
greater than 0. | greater than 0. | |||
Reserved: SHOULD be set to 0 on transmission and MUST be ignored | Reserved: SHOULD be set to 0 on transmission and MUST be ignored | |||
on reception. | on reception. | |||
Initially, the only supported Sub-TLV is the SID/Label Sub-TLV as | Initially, the only supported Sub-TLV is the SID/Label Sub-TLV as | |||
defined in Section 2.1. The SID/Label Sub-TLV MUST be included in | defined in Section 3.1. The SID/Label Sub-TLV MUST be included in | |||
the SID/Label Range TLV. The SID/Label advertised in the SID/Label | the SID/Label Range TLV. The SID/Label advertised in the SID/Label | |||
Sub-TLV represents the first SID/Label in the advertised range. | Sub-TLV represents the first SID/Label in the advertised range. | |||
Only a single SID/Label Sub-TLV MAY be advertised in SID/Label Range | Only a single SID/Label Sub-TLV MAY be advertised in SID/Label Range | |||
TLV. If more then one SID/Label Sub-TLVs are present, the SID/Label | TLV. If more than one SID/Label Sub-TLVs are present, the SID/Label | |||
Range TLV MUST be ignored. | Range TLV MUST be ignored. | |||
Multiple occurrences of the SID/Label Range TLV MAY be advertised, in | Multiple occurrences of the SID/Label Range TLV MAY be advertised, in | |||
order to advertise multiple ranges. In such case: | order to advertise multiple ranges. In such case: | |||
o The originating router MUST encode each range into a different | o The originating router MUST encode each range into a different | |||
SID/Label Range TLV. | SID/Label Range TLV. | |||
o The originating router decides the order in which the set of SID/ | o The originating router decides the order in which the set of SID/ | |||
Label Range TLVs are advertised inside the Router Information | Label Range TLVs are advertised inside the Router Information | |||
skipping to change at page 7, line 11 ¶ | skipping to change at page 7, line 41 ¶ | |||
storage, or any other mechanism) in order to assure the SID/label | storage, or any other mechanism) in order to assure the SID/label | |||
range and SID index correspondence is preserved across graceful | range and SID index correspondence is preserved across graceful | |||
restarts. | restarts. | |||
o The receiving router MUST adhere to the order in which the ranges | o The receiving router MUST adhere to the order in which the ranges | |||
are advertised when calculating a SID/label from a SID index. | are advertised when calculating a SID/label from a SID index. | |||
o The originating router MUST NOT advertise overlapping ranges. | o The originating router MUST NOT advertise overlapping ranges. | |||
o When a router receives multiple overlapping ranges, it MUST | o When a router receives multiple overlapping ranges, it MUST | |||
conform to the procedures defined in | conform to the procedures defined in section 2.3 of | |||
[I-D.ietf-spring-segment-routing-mpls]. | [I-D.ietf-spring-segment-routing-mpls]. | |||
The following example illustrates the advertisement of multiple | The following example illustrates the advertisement of multiple | |||
ranges: | ranges: | |||
The originating router advertises the following ranges: | The originating router advertises the following ranges: | |||
Range 1: Range Size: 100 SID/Label Sub-TLV: 100 | Range 1: Range Size: 100 SID/Label Sub-TLV: 100 | |||
Range 1: Range Size: 100 SID/Label Sub-TLV: 1000 | Range 1: Range Size: 100 SID/Label Sub-TLV: 1000 | |||
Range 1: Range Size: 100 SID/Label Sub-TLV: 500 | Range 1: Range Size: 100 SID/Label Sub-TLV: 500 | |||
skipping to change at page 7, line 46 ¶ | skipping to change at page 8, line 34 ¶ | |||
index 199 means label 1099 | index 199 means label 1099 | |||
... | ... | |||
index 200 means label 500 | index 200 means label 500 | |||
... | ... | |||
The OSPFv3 Router Information Opaque LSA can be advertised at any of | The OSPFv3 Router Information Opaque LSA can be advertised at any of | |||
the defined flooding scopes (link, area, or autonomous system (AS)). | the defined flooding scopes (link, area, or autonomous system (AS)). | |||
For the purpose of SID/Label Range TLV advertisement, area-scoped | For the purpose of SID/Label Range TLV advertisement, area-scoped | |||
flooding is REQUIRED. | flooding is REQUIRED. | |||
3.3. SR Local Block TLV | 4.3. SR Local Block TLV | |||
The SR Local Block TLV (SRLB TLV) contains the range of labels the | The SR Local Block TLV (SRLB TLV) contains the range of labels the | |||
node has reserved for local SIDs. SIDs from the SRLB MAY be used for | node has reserved for local SIDs. SIDs from the SRLB MAY be used for | |||
Adjacency-SIDs, but also by components other than the OSPFv3 | Adjacency-SIDs, but also by components other than the OSPFv3 | |||
protocol. As an example, an application or a controller can instruct | protocol. As an example, an application or a controller can instruct | |||
the router to allocate a specific local SID. Some controllers or | the router to allocate a specific local SID. Some controllers or | |||
applications can use the control plane to discover the available set | applications can use the control plane to discover the available set | |||
of local SIDs on a particular router. In such cases, the SRLB is | of local SIDs on a particular router. In such cases, the SRLB is | |||
advertised in the control plane. The requirement to advertise the | advertised in the control plane. The requirement to advertise the | |||
SRLB is further described in [I-D.ietf-spring-segment-routing-mpls]. | SRLB is further described in [I-D.ietf-spring-segment-routing-mpls]. | |||
skipping to change at page 8, line 30 ¶ | skipping to change at page 9, line 19 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Range Size | Reserved | | | Range Size | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-TLVs (variable) | | | Sub-TLVs (variable) | | |||
+- -+ | +- -+ | |||
| | | | | | |||
+ + | + + | |||
where: | where: | |||
Type: 14 | Type: 14 as defined in [I-D.ietf-ospf-segment-routing-extensions] | |||
and applicable to OSPFv3. | ||||
Length: Variable, in octets, dependent on Sub-TLVs. | Length: Variable, in octets, dependent on Sub-TLVs. | |||
Range Size: 3-octet SID/label range size (i.e., the number of SIDs | Range Size: 3-octet SID/label range size (i.e., the number of SIDs | |||
or labels in the range including the first SID/label). It MUST be | or labels in the range including the first SID/label). It MUST be | |||
greater than 0. | greater than 0. | |||
Reserved: SHOULD be set to 0 on transmission and MUST be ignored | Reserved: SHOULD be set to 0 on transmission and MUST be ignored | |||
on reception. | on reception. | |||
Initially, the only supported Sub-TLV is the SID/Label Sub-TLV as | Initially, the only supported Sub-TLV is the SID/Label Sub-TLV as | |||
defined in Section 2.1. The SID/Label Sub-TLV MUST be included in | defined in Section 3.1. The SID/Label Sub-TLV MUST be included in | |||
the SRLB TLV. The SID/Label advertised in the SID/Label Sub-TLV | the SRLB TLV. The SID/Label advertised in the SID/Label Sub-TLV | |||
represents the first SID/Label in the advertised range. | represents the first SID/Label in the advertised range. | |||
Only a single SID/Label Sub-TLV MAY be advertised in the SRLB TLV. | Only a single SID/Label Sub-TLV MAY be advertised in the SRLB TLV. | |||
If more then one SID/Label Sub-TLVs are present, the SRLB TLV MUST be | If more than one SID/Label Sub-TLVs are present, the SRLB TLV MUST be | |||
ignored. | ignored. | |||
The originating router MUST NOT advertise overlapping ranges. | The originating router MUST NOT advertise overlapping ranges. | |||
When a router receives multiple overlapping ranges, it MUST conform | ||||
to the procedures defined in section 2.3 of | ||||
[I-D.ietf-spring-segment-routing-mpls]. | ||||
Each time a SID from the SRLB is allocated, it SHOULD also be | Each time a SID from the SRLB is allocated, it SHOULD also be | |||
reported to all components (e.g., controller or applications) in | reported to all components (e.g., controller or applications) in | |||
order for these components to have an up-to-date view of the current | order for these components to have an up-to-date view of the current | |||
SRLB allocation. This is required to avoid collisions between | SRLB allocation. This is required to avoid collisions between | |||
allocation instructions. | allocation instructions. | |||
Within the context of OSPFv3, the reporting of local SIDs is done | Within the context of OSPFv3, the reporting of local SIDs is done | |||
through OSPFv3 Sub-TLVs such as the Adjacency-SID (Section 6). | through OSPFv3 Sub-TLVs such as the Adjacency-SID (Section 7). | |||
However, the reporting of allocated local SIDs can also be done | However, the reporting of allocated local SIDs can also be done | |||
through other means and protocols which are outside the scope of this | through other means and protocols which are outside the scope of this | |||
document. | document. | |||
A router advertising the SRLB TLV MAY also have other label ranges, | A router advertising the SRLB TLV MAY also have other label ranges, | |||
outside of the SRLB, used for its local allocation purposes which are | outside of the SRLB, used for its local allocation purposes which are | |||
not advertised in the SRLB TLV. For example, it is possible that an | not advertised in the SRLB TLV. For example, it is possible that an | |||
Adjacency-SID is allocated using a local label that is not part of | Adjacency-SID is allocated using a local label that is not part of | |||
the SRLB. | the SRLB. | |||
The OSPFv3 Router Information Opaque LSA can be advertised at any of | The OSPFv3 Router Information Opaque LSA can be advertised at any of | |||
the defined flooding scopes (link, area, or autonomous system (AS)). | the defined flooding scopes (link, area, or autonomous system (AS)). | |||
For the purpose of SRLB TLV advertisement, area-scoped flooding is | For the purpose of SRLB TLV advertisement, area-scoped flooding is | |||
REQUIRED. | REQUIRED. | |||
3.4. SRMS Preference TLV | 4.4. SRMS Preference TLV | |||
The Segment Routing Mapping Server Preference TLV (SRMS Preference | The Segment Routing Mapping Server Preference TLV (SRMS Preference | |||
TLV) is used to advertise a preference associated with a node that | TLV) is used to advertise a preference associated with a node that | |||
acts as an SR Mapping Server. The role of an SRMS is described in | acts as an SR Mapping Server. The role of an SRMS is described in | |||
[I-D.ietf-spring-segment-routing-ldp-interop]. SRMS preference is | [I-D.ietf-spring-segment-routing-ldp-interop]. SRMS preference is | |||
defined in [I-D.ietf-spring-segment-routing-ldp-interop]. | defined in [I-D.ietf-spring-segment-routing-ldp-interop]. | |||
The SRMS Preference TLV is a top-level TLV of the OSPFv3 Router | The SRMS Preference TLV is a top-level TLV of the OSPFv3 Router | |||
Information Opaque LSA (defined in [RFC7770]). | Information Opaque LSA (defined in [RFC7770]). | |||
skipping to change at page 9, line 52 ¶ | skipping to change at page 10, line 46 ¶ | |||
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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Preference | Reserved | | | Preference | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
Type: 15 | Type: 15 as defined in [I-D.ietf-ospf-segment-routing-extensions] | |||
and applicable to OSPFv3. | ||||
Length: 4 octets | Length: 4 octets | |||
Preference: 1 octet. SRMS preference value from 0 to 255. | Preference: 1 octet. SRMS preference value from 0 to 255. | |||
Reserved: SHOULD be set to 0 on transmission and MUST be ignored | Reserved: SHOULD be set to 0 on transmission and MUST be ignored | |||
on reception. | on reception. | |||
When multiple SRMS Preference TLVs are received from a given router, | When multiple SRMS Preference TLVs are received from a given router, | |||
the receiver MUST use the first occurrence of the TLV in the OSPFv3 | the receiver MUST use the first occurrence of the TLV in the OSPFv3 | |||
Router Information Opaque LSA. If the SRMS Preference TLV appears in | Router Information Opaque LSA. If the SRMS Preference TLV appears in | |||
skipping to change at page 10, line 31 ¶ | skipping to change at page 11, line 28 ¶ | |||
instances of the SRMS Preference TLV MUST be ignored. | instances of the SRMS Preference TLV MUST be ignored. | |||
The OSPFv3 Router Information Opaque LSA can be advertised at any of | The OSPFv3 Router Information Opaque LSA can be advertised at any of | |||
the defined flooding scopes (link, area, or autonomous system (AS)). | the defined flooding scopes (link, area, or autonomous system (AS)). | |||
For the purpose of the SRMS Preference TLV advertisement, AS-scoped | For the purpose of the SRMS Preference TLV advertisement, AS-scoped | |||
flooding SHOULD be used. This is because SRMS servers can be located | flooding SHOULD be used. This is because SRMS servers can be located | |||
in different areas than consumers of the SRMS advertisements. If | in different areas than consumers of the SRMS advertisements. If | |||
SRMS advertisements from an SRMS server are only used inside the SRMS | SRMS advertisements from an SRMS server are only used inside the SRMS | |||
server's area, area-scoped flooding MAY be used. | server's area, area-scoped flooding MAY be used. | |||
4. OSPFv3 Extended Prefix Range TLV | 5. OSPFv3 Extended Prefix Range TLV | |||
In some cases it is useful to advertise attributes for a range of | In some cases it is useful to advertise attributes for a range of | |||
prefixes. The Segment Routing Mapping Server, which is described in | prefixes. The Segment Routing Mapping Server, which is described in | |||
[I-D.ietf-spring-segment-routing-ldp-interop], is an example of where | [I-D.ietf-spring-segment-routing-ldp-interop], is an example of where | |||
we need a single advertisement to advertise SIDs for multiple | we need a single advertisement to advertise SIDs for multiple | |||
prefixes from a contiguous address range. | prefixes from a contiguous address range. | |||
The OSPFv3 Extended Prefix Range TLV is defined for this purpose. | The OSPFv3 Extended Prefix Range TLV is defined for this purpose. | |||
The OSPFv3 Extended Prefix Range TLV is a top-level TLV of the | The OSPFv3 Extended Prefix Range TLV is a top-level TLV of the | |||
skipping to change at page 12, line 33 ¶ | skipping to change at page 13, line 33 ¶ | |||
best one. The following rules are used to select the best | best one. The following rules are used to select the best | |||
range from the set of advertisements for the same Prefix | range from the set of advertisements for the same Prefix | |||
Range: | Range: | |||
An ABR always prefers intra-area Prefix Range | An ABR always prefers intra-area Prefix Range | |||
advertisements over inter-area advertisements. | advertisements over inter-area advertisements. | |||
An ABR does not consider inter-area Prefix Range | An ABR does not consider inter-area Prefix Range | |||
advertisements coming from non-backbone areas. | advertisements coming from non-backbone areas. | |||
Other bits: Reserved. These MUST be zero when sent and are | ||||
ignored when received. | ||||
Reserved: SHOULD be set to 0 on transmission and MUST be ignored | Reserved: SHOULD be set to 0 on transmission and MUST be ignored | |||
on reception. | on reception. | |||
Address Prefix: | Address Prefix: | |||
For the address family IPv4 unicast, the prefix itself is | For the address family IPv4 unicast, the prefix itself is | |||
encoded as a 32-bit value. The default route is represented by | encoded as a 32-bit value. The default route is represented by | |||
a prefix of length 0. | a prefix of length 0. | |||
For the address family IPv6 unicast, the prefix, encoded as an | For the address family IPv6 unicast, the prefix, encoded as an | |||
skipping to change at page 13, line 7 ¶ | skipping to change at page 14, line 11 ¶ | |||
Prefix encoding for other address families is beyond the scope | Prefix encoding for other address families is beyond the scope | |||
of this specification. | of this specification. | |||
If the OSPFv3 Extended Prefix Range TLVs advertising the exact same | If the OSPFv3 Extended Prefix Range TLVs advertising the exact same | |||
range appears in multiple LSAs of the same type, originated by the | range appears in multiple LSAs of the same type, originated by the | |||
same OSPFv3 router, the LSA with the numerically smallest Instance ID | same OSPFv3 router, the LSA with the numerically smallest Instance ID | |||
MUST be used and subsequent instances of the OSPFv3 Extended Prefix | MUST be used and subsequent instances of the OSPFv3 Extended Prefix | |||
Range TLVs MUST be ignored. | Range TLVs MUST be ignored. | |||
5. Prefix SID Sub-TLV | 6. Prefix SID Sub-TLV | |||
The Prefix SID Sub-TLV is a Sub-TLV of the following OSPFv3 TLVs as | The Prefix SID Sub-TLV is a Sub-TLV of the following OSPFv3 TLVs as | |||
defined in [RFC8362] and in Section 4: | defined in [RFC8362] and in Section 5: | |||
Intra-Area Prefix TLV | Intra-Area Prefix TLV | |||
Inter-Area Prefix TLV | Inter-Area Prefix TLV | |||
External Prefix TLV | External Prefix TLV | |||
OSPFv3 Extended Prefix Range TLV | OSPFv3 Extended Prefix Range TLV | |||
It MAY appear more than once in the parent TLV and has the following | It MAY appear more than once in the parent TLV and has the following | |||
skipping to change at page 14, line 30 ¶ | skipping to change at page 15, line 34 ¶ | |||
then the value/index carried by this Sub-TLV has global | then the value/index carried by this Sub-TLV has global | |||
significance. | significance. | |||
Other bits: Reserved. These MUST be zero when sent and are | Other bits: Reserved. These MUST be zero when sent and are | |||
ignored when received. | ignored when received. | |||
Reserved: SHOULD be set to 0 on transmission and MUST be ignored | Reserved: SHOULD be set to 0 on transmission and MUST be ignored | |||
on reception. | on reception. | |||
Algorithm: Single octet identifying the algorithm the Prefix-SID | Algorithm: Single octet identifying the algorithm the Prefix-SID | |||
is associated with as defined in Section 3.1. | is associated with as defined in Section 4.1. | |||
A router receiving a Prefix-SID from a remote node and with an | A router receiving a Prefix-SID from a remote node and with an | |||
algorithm value that such remote node has not advertised in the | algorithm value that such remote node has not advertised in the | |||
SR-Algorithm Sub-TLV (Section 3.1) MUST ignore the Prefix-SID Sub- | SR-Algorithm Sub-TLV (Section 4.1) MUST ignore the Prefix-SID Sub- | |||
TLV. | TLV. | |||
SID/Index/Label: According to the V and L flags, it contains | SID/Index/Label: According to the V and L flags, it contains | |||
either: | either: | |||
A 32-bit index defining the offset in the SID/Label space | A 32-bit index defining the offset in the SID/Label space | |||
advertised by this router. | advertised by this router. | |||
A 24-bit label where the 20 rightmost bits are used for | A 24-bit label where the 20 rightmost bits are used for | |||
encoding the label value. | encoding the label value. | |||
skipping to change at page 16, line 46 ¶ | skipping to change at page 17, line 46 ¶ | |||
2001:DB8:1::300/120, Prefix-SID: Index 54 | 2001:DB8:1::300/120, Prefix-SID: Index 54 | |||
2001:DB8:1::400/120, Prefix-SID: Index 55 | 2001:DB8:1::400/120, Prefix-SID: Index 55 | |||
2001:DB8:1::500/120, Prefix-SID: Index 56 | 2001:DB8:1::500/120, Prefix-SID: Index 56 | |||
2001:DB8:1::600/120, Prefix-SID: Index 57 | 2001:DB8:1::600/120, Prefix-SID: Index 57 | |||
then the Prefix field in the OSPFv3 Extended Prefix Range TLV would | then the Prefix field in the OSPFv3 Extended Prefix Range TLV would | |||
be set to 2001:DB8:1::0, the Prefix Length would be set to 120, the | be set to 2001:DB8:1::0, the Prefix Length would be set to 120, the | |||
Range Size would be set to 7, and the Index value in the Prefix-SID | Range Size would be set to 7, and the Index value in the Prefix-SID | |||
Sub-TLV would be set to 51. | Sub-TLV would be set to 51. | |||
6. Adjacency Segment Identifier (Adj-SID) | 7. Adjacency Segment Identifier (Adj-SID) | |||
An Adjacency Segment Identifier (Adj-SID) represents a router | An Adjacency Segment Identifier (Adj-SID) represents a router | |||
adjacency in Segment Routing. | adjacency in Segment Routing. | |||
6.1. Adj-SID Sub-TLV | 7.1. Adj-SID Sub-TLV | |||
The Adj-SID Sub-TLV is an optional Sub-TLV of the Router-Link TLV as | The Adj-SID Sub-TLV is an optional Sub-TLV of the Router-Link TLV as | |||
defined in [RFC8362]. It MAY appear multiple times in the Router- | defined in [RFC8362]. It MAY appear multiple times in the Router- | |||
Link TLV. The Adj-SID Sub-TLV has the following format: | Link TLV. The Adj-SID Sub-TLV has the following format: | |||
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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 18, line 41 ¶ | skipping to change at page 19, line 41 ¶ | |||
An SR-capable router MAY allocate more than one Adj-SID to an | An SR-capable router MAY allocate more than one Adj-SID to an | |||
adjacency. | adjacency. | |||
An SR-capable router MAY allocate the same Adj-SID to different | An SR-capable router MAY allocate the same Adj-SID to different | |||
adjacencies. | adjacencies. | |||
When the P-flag is not set, the Adj-SID MAY be persistent. When the | When the P-flag is not set, the Adj-SID MAY be persistent. When the | |||
P-flag is set, the Adj-SID MUST be persistent. | P-flag is set, the Adj-SID MUST be persistent. | |||
6.2. LAN Adj-SID Sub-TLV | 7.2. LAN Adj-SID Sub-TLV | |||
The LAN Adj-SID Sub-TLV is an optional Sub-TLV of the Router-Link | The LAN Adj-SID Sub-TLV is an optional Sub-TLV of the Router-Link | |||
TLV. It MAY appear multiple times in the Router-Link TLV. It is | TLV. It MAY appear multiple times in the Router-Link TLV. It is | |||
used to advertise a SID/Label for an adjacency to a non-DR router on | used to advertise a SID/Label for an adjacency to a non-DR router on | |||
a broadcast, NBMA, or hybrid [RFC6845] network. | a broadcast, NBMA, or hybrid [RFC6845] network. | |||
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 | | |||
skipping to change at page 19, line 23 ¶ | skipping to change at page 20, line 23 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID/Label/Index (variable) | | | SID/Label/Index (variable) | | |||
+---------------------------------------------------------------+ | +---------------------------------------------------------------+ | |||
where: | where: | |||
Type: 6 | Type: 6 | |||
Length: 11 or 12 octets, dependent on V-flag. | Length: 11 or 12 octets, dependent on V-flag. | |||
Flags: same as in Section 6.1 | Flags: same as in Section 7.1 | |||
Weight: Weight used for load-balancing purposes. The use of the | Weight: Weight used for load-balancing purposes. The use of the | |||
weight is defined in [RFC8402]. | weight is defined in [RFC8402]. | |||
Reserved: SHOULD be set to 0 on transmission and MUST be ignored | Reserved: SHOULD be set to 0 on transmission and MUST be ignored | |||
on reception. | on reception. | |||
Neighbor ID: The Router ID of the neighbor for which the LAN-Adj- | Neighbor ID: The Router ID of the neighbor for which the LAN-Adj- | |||
SID is advertised. | SID is advertised. | |||
skipping to change at page 19, line 46 ¶ | skipping to change at page 20, line 46 ¶ | |||
A 32-bit index defining the offset in the SID/Label space | A 32-bit index defining the offset in the SID/Label space | |||
advertised by this router. | advertised by this router. | |||
A 24-bit label where the 20 rightmost bits are used for | A 24-bit label where the 20 rightmost bits are used for | |||
encoding the label value. | encoding the label value. | |||
When the P-flag is not set, the Adj-SID MAY be persistent. When | When the P-flag is not set, the Adj-SID MAY be persistent. When | |||
the P-flag is set, the Adj-SID MUST be persistent. | the P-flag is set, the Adj-SID MUST be persistent. | |||
7. Elements of Procedure | 8. Elements of Procedure | |||
7.1. Intra-area Segment routing in OSPFv3 | 8.1. Intra-area Segment routing in OSPFv3 | |||
An OSPFv3 router that supports segment routing MAY advertise Prefix- | An OSPFv3 router that supports segment routing MAY advertise Prefix- | |||
SIDs for any prefix to which it is advertising reachability (e.g., a | SIDs for any prefix to which it is advertising reachability (e.g., a | |||
loopback IP address as described in Section 5). | loopback IP address as described in Section 6). | |||
A Prefix-SID can also be advertised by SR Mapping Servers (as | A Prefix-SID can also be advertised by SR Mapping Servers (as | |||
described in [I-D.ietf-spring-segment-routing-ldp-interop]). A | described in [I-D.ietf-spring-segment-routing-ldp-interop]). A | |||
Mapping Server advertises Prefix-SIDs for remote prefixes that exist | Mapping Server advertises Prefix-SIDs for remote prefixes that exist | |||
in the OSPFv3 routing domain. Multiple Mapping Servers can advertise | in the OSPFv3 routing domain. Multiple Mapping Servers can advertise | |||
Prefix-SIDs for the same prefix, in which case the same Prefix-SID | Prefix-SIDs for the same prefix, in which case the same Prefix-SID | |||
MUST be advertised by all of them. The SR Mapping Server could use | MUST be advertised by all of them. The SR Mapping Server could use | |||
either area flooding scope or autonomous system flooding scope when | either area flooding scope or autonomous system flooding scope when | |||
advertising Prefix SIDs for prefixes, based on the configuration of | advertising Prefix SIDs for prefixes, based on the configuration of | |||
the SR Mapping Server. Depending on the flooding scope used, the SR | the SR Mapping Server. Depending on the flooding scope used, the SR | |||
Mapping Server chooses the OSPFv3 LSA type that will be used. If the | Mapping Server chooses the OSPFv3 LSA type that will be used. If the | |||
area flooding scope is needed, an E-Intra-Area-Prefix-LSA [RFC8362] | area flooding scope is needed, an E-Intra-Area-Prefix-LSA [RFC8362] | |||
is used. If autonomous system flooding scope is needed, an E-AS- | is used. If autonomous system flooding scope is needed, an E-AS- | |||
External-LSA [RFC8362] is used. | External-LSA [RFC8362] is used. | |||
When a Prefix-SID is advertised by the Mapping Server, which is | When a Prefix-SID is advertised by the Mapping Server, which is | |||
indicated by the M-flag in the Prefix-SID Sub-TLV (Section 5), the | indicated by the M-flag in the Prefix-SID Sub-TLV (Section 6), the | |||
route type as implied by the LSA type is ignored and the Prefix-SID | route type as implied by the LSA type is ignored and the Prefix-SID | |||
is bound to the corresponding prefix independent of the route type. | is bound to the corresponding prefix independent of the route type. | |||
Advertisement of the Prefix-SID by the Mapping Server using an Inter- | Advertisement of the Prefix-SID by the Mapping Server using an Inter- | |||
Area Prefix TLV, External-Prefix TLV, or Intra-Area-Prefix TLV | Area Prefix TLV, External-Prefix TLV, or Intra-Area-Prefix TLV | |||
[RFC8362] does not itself contribute to the prefix reachability. The | [RFC8362] does not itself contribute to the prefix reachability. The | |||
NU-bit MUST be set in the PrefixOptions field of the LSA which is | NU-bit MUST be set in the PrefixOptions field of the LSA which is | |||
used by the Mapping Server to advertise SID or SID Range, which | used by the Mapping Server to advertise SID or SID Range, which | |||
prevents the advertisement from contributing to prefix reachability. | prevents the advertisement from contributing to prefix reachability. | |||
An SR Mapping Server MUST use the OSPFv3 Extended Prefix Range TLVs | An SR Mapping Server MUST use the OSPFv3 Extended Prefix Range TLVs | |||
when advertising SIDs for prefixes. Prefixes of different route- | when advertising SIDs for prefixes. Prefixes of different route- | |||
types can be combined in a single OSPFv3 Extended Prefix Range TLV | types can be combined in a single OSPFv3 Extended Prefix Range TLV | |||
advertised by an SR Mapping Server. | advertised by an SR Mapping Server. | |||
Area-scoped OSPFv3 Extended Prefix Range TLVs are propagated between | Area-scoped OSPFv3 Extended Prefix Range TLVs are propagated between | |||
areas. Similar to propagation of prefixes between areas, an ABR only | areas. Similar to propagation of prefixes between areas, an ABR only | |||
propagates the OSPFv3 Extended Prefix Range TLV that it considers to | propagates the OSPFv3 Extended Prefix Range TLV that it considers to | |||
be the best from the set it received. The rules used to pick the | be the best from the set it received. The rules used to pick the | |||
best OSPFv3 Extended Prefix Range TLV are described in Section 4. | best OSPFv3 Extended Prefix Range TLV are described in Section 5. | |||
When propagating an OSPFv3 Extended Prefix Range TLV between areas, | When propagating an OSPFv3 Extended Prefix Range TLV between areas, | |||
ABRs MUST set the IA-Flag, that is used to prevent redundant flooding | ABRs MUST set the IA-Flag, that is used to prevent redundant flooding | |||
of the OSPFv3 Extended Prefix Range TLV between areas as described in | of the OSPFv3 Extended Prefix Range TLV between areas as described in | |||
Section 4. | Section 5. | |||
7.2. Inter-area Segment routing in OSPFv3 | 8.2. Inter-area Segment routing in OSPFv3 | |||
In order to support SR in a multi-area environment, OSPFv3 MUST | In order to support SR in a multi-area environment, OSPFv3 MUST | |||
propagate Prefix-SID information between areas. The following | propagate Prefix-SID information between areas. The following | |||
procedure is used to propagate Prefix SIDs between areas. | procedure is used to propagate Prefix SIDs between areas. | |||
When an OSPFv3 ABR advertises an Inter-Area-Prefix-LSA from an intra- | When an OSPFv3 ABR advertises an Inter-Area-Prefix-LSA from an intra- | |||
area prefix to all its connected areas, it will also include the | area prefix to all its connected areas, it will also include the | |||
Prefix-SID Sub-TLV, as described in Section 5. The Prefix-SID value | Prefix-SID Sub-TLV, as described in Section 6. The Prefix-SID value | |||
will be set as follows: | will be set as follows: | |||
The ABR will look at its best path to the prefix in the source | The ABR will look at its best path to the prefix in the source | |||
area and find the advertising router associated with the best path | area and find the advertising router associated with the best path | |||
to that prefix. | to that prefix. | |||
The ABR will then determine if such router advertised a Prefix-SID | The ABR will then determine if such router advertised a Prefix-SID | |||
for the prefix and use it when advertising the Prefix-SID to other | for the prefix and use it when advertising the Prefix-SID to other | |||
connected areas. | connected areas. | |||
If no Prefix-SID was advertised for the prefix in the source area | If no Prefix-SID was advertised for the prefix in the source area | |||
by the router that contributes to the best path to the prefix, the | by the router that contributes to the best path to the prefix, the | |||
originating ABR will use the Prefix-SID advertised by any other | originating ABR will use the Prefix-SID advertised by any other | |||
router when propagating the Prefix-SID for the prefix to other | router when propagating the Prefix-SID for the prefix to other | |||
areas. | areas. | |||
When an OSPFv3 ABR advertises Inter-Area-Prefix-LSA LSAs from an | When an OSPFv3 ABR advertises Inter-Area-Prefix-LSA LSAs from an | |||
inter-area route to all its connected areas, it will also include the | inter-area route to all its connected areas, it will also include the | |||
Prefix-SID Sub-TLV, as described in Section 5. The Prefix-SID value | Prefix-SID Sub-TLV, as described in Section 6. The Prefix-SID value | |||
will be set as follows: | will be set as follows: | |||
The ABR will look at its best path to the prefix in the backbone | The ABR will look at its best path to the prefix in the backbone | |||
area and find the advertising router associated with the best path | area and find the advertising router associated with the best path | |||
to that prefix. | to that prefix. | |||
The ABR will then determine if such router advertised a Prefix-SID | The ABR will then determine if such router advertised a Prefix-SID | |||
for the prefix and use it when advertising the Prefix-SID to other | for the prefix and use it when advertising the Prefix-SID to other | |||
connected areas. | connected areas. | |||
If no Prefix-SID was advertised for the prefix in the backbone | If no Prefix-SID was advertised for the prefix in the backbone | |||
area by the ABR that contributes to the best path to the prefix, | area by the ABR that contributes to the best path to the prefix, | |||
the originating ABR will use the Prefix-SID advertised by any | the originating ABR will use the Prefix-SID advertised by any | |||
other router when propagating the Prefix-SID for the prefix to | other router when propagating the Prefix-SID for the prefix to | |||
other areas. | other areas. | |||
7.3. Segment Routing for External Prefixes | 8.3. Segment Routing for External Prefixes | |||
AS-External-LSAs are flooded domain wide. When an ASBR, which | AS-External-LSAs are flooded domain wide. When an ASBR, which | |||
supports SR, originates an E-AS-External-LSA, it SHOULD also include | supports SR, originates an E-AS-External-LSA, it SHOULD also include | |||
a Prefix-SID Sub-TLV, as described in Section 5. The Prefix-SID | a Prefix-SID Sub-TLV, as described in Section 6. The Prefix-SID | |||
value will be set to the SID that has been reserved for that prefix. | value will be set to the SID that has been reserved for that prefix. | |||
When an NSSA [RFC3101] ABR translates an E-NSSA-LSA into an E-AS- | When an NSSA [RFC3101] ABR translates an E-NSSA-LSA into an E-AS- | |||
External-LSA, it SHOULD also advertise the Prefix-SID for the prefix. | External-LSA, it SHOULD also advertise the Prefix-SID for the prefix. | |||
The NSSA ABR determines its best path to the prefix advertised in the | The NSSA ABR determines its best path to the prefix advertised in the | |||
translated E-NSSA-LSA and finds the advertising router associated | translated E-NSSA-LSA and finds the advertising router associated | |||
with that path. If the advertising router has advertised a Prefix- | with that path. If the advertising router has advertised a Prefix- | |||
SID for the prefix, then the NSSA ABR uses it when advertising the | SID for the prefix, then the NSSA ABR uses it when advertising the | |||
Prefix-SID for the E-AS-External-LSA. Otherwise, the Prefix-SID | Prefix-SID for the E-AS-External-LSA. Otherwise, the Prefix-SID | |||
advertised by any other router will be used. | advertised by any other router will be used. | |||
7.4. Advertisement of Adj-SID | 8.4. Advertisement of Adj-SID | |||
The Adjacency Segment Routing Identifier (Adj-SID) is advertised | The Adjacency Segment Routing Identifier (Adj-SID) is advertised | |||
using the Adj-SID Sub-TLV as described in Section 6. | using the Adj-SID Sub-TLV as described in Section 7. | |||
7.4.1. Advertisement of Adj-SID on Point-to-Point Links | 8.4.1. Advertisement of Adj-SID on Point-to-Point Links | |||
An Adj-SID MAY be advertised for any adjacency on a P2P link that is | An Adj-SID MAY be advertised for any adjacency on a P2P link that is | |||
in neighbor state 2-Way or higher. If the adjacency on a P2P link | in neighbor state 2-Way or higher. If the adjacency on a P2P link | |||
transitions from the FULL state, then the Adj-SID for that adjacency | transitions from the FULL state, then the Adj-SID for that adjacency | |||
MAY be removed from the area. If the adjacency transitions to a | MAY be removed from the area. If the adjacency transitions to a | |||
state lower then 2-Way, then the Adj-SID advertisement MUST be | state lower than 2-Way, then the Adj-SID advertisement MUST be | |||
withdrawn from the area. | withdrawn from the area. | |||
7.4.2. Adjacency SID on Broadcast or NBMA Interfaces | 8.4.2. Adjacency SID on Broadcast or NBMA Interfaces | |||
Broadcast, NBMA, or hybrid [RFC6845] networks in OSPFv3 are | Broadcast, NBMA, or hybrid [RFC6845] networks in OSPFv3 are | |||
represented by a star topology where the Designated Router (DR) is | represented by a star topology where the Designated Router (DR) is | |||
the central point to which all other routers on the broadcast, NBMA, | the central point to which all other routers on the broadcast, NBMA, | |||
or hybrid network connect. As a result, routers on the broadcast, | or hybrid network connect. As a result, routers on the broadcast, | |||
NBMA, or hybrid network advertise only their adjacency to the DR. | NBMA, or hybrid network advertise only their adjacency to the DR. | |||
Routers that do not act as DR do not form or advertise adjacencies | Routers that do not act as DR do not form or advertise adjacencies | |||
with each other. They do, however, maintain 2-Way adjacency state | with each other. They do, however, maintain 2-Way adjacency state | |||
with each other and are directly reachable. | with each other and are directly reachable. | |||
When Segment Routing is used, each router on the broadcast, NBMA, or | When Segment Routing is used, each router on the broadcast, NBMA, or | |||
hybrid network MAY advertise the Adj-SID for its adjacency to the DR | hybrid network MAY advertise the Adj-SID for its adjacency to the DR | |||
using the Adj-SID Sub-TLV as described in Section 6.1. | using the Adj-SID Sub-TLV as described in Section 7.1. | |||
SR-capable routers MAY also advertise a LAN-Adj-SID for other | SR-capable routers MAY also advertise a LAN-Adj-SID for other | |||
neighbors (e.g., BDR, DR-OTHER) on the broadcast, NBMA, or hybrid | neighbors (e.g., BDR, DR-OTHER) on the broadcast, NBMA, or hybrid | |||
network using the LAN-Adj-SID Sub-TLV as described in Section 6.2. | network using the LAN-Adj-SID Sub-TLV as described in Section 7.2. | |||
8. IANA Considerations | 9. IANA Considerations | |||
This specification updates several existing OSPFv3 registries. | This specification updates several existing OSPFv3 registries. | |||
8.1. OSPFv3 Extended-LSA TLV Registry | 9.1. OSPFv3 Extended-LSA TLV Registry | |||
Following values are allocated: | Following values are allocated: | |||
o 9 - OSPFv3 Extended Prefix Range TLV | o 9 - OSPFv3 Extended Prefix Range TLV | |||
8.2. OSPFv3 Extended-LSA Sub-TLV registry | 9.2. OSPFv3 Extended-LSA Sub-TLV registry | |||
o 4 - Prefix SID Sub-TLV | o 4 - Prefix SID Sub-TLV | |||
o 5 - Adj-SID Sub-TLV | o 5 - Adj-SID Sub-TLV | |||
o 6 - LAN Adj-SID Sub-TLV | o 6 - LAN Adj-SID Sub-TLV | |||
o 7 - SID/Label Sub-TLV | o 7 - SID/Label Sub-TLV | |||
9. Security Considerations | 10. Security Considerations | |||
With the OSPFv3 segment routing extensions defined herein, OSPFv3 | With the OSPFv3 segment routing extensions defined herein, OSPFv3 | |||
will now program the MPLS data plane [RFC3031]. Previously, LDP | will now program the MPLS data plane [RFC3031]. Previously, LDP | |||
[RFC5036] or another label distribution mechanism was required to | [RFC5036] or another label distribution mechanism was required to | |||
advertise MPLS labels and program the MPLS data plane. | advertise MPLS labels and program the MPLS data plane. | |||
In general, the same types of attacks that can be carried out on the | In general, the same types of attacks that can be carried out on the | |||
IP control plane can be carried out on the MPLS control plane | IP control plane can be carried out on the MPLS control plane | |||
resulting in traffic being misrouted in the respective data planes. | resulting in traffic being misrouted in the respective data planes. | |||
However, the latter can be more difficult to detect and isolate. | However, the latter can be more difficult to detect and isolate. | |||
skipping to change at page 23, line 43 ¶ | skipping to change at page 24, line 43 ¶ | |||
be used. | be used. | |||
Implementations MUST assure that malformed TLV and Sub-TLV defined in | Implementations MUST assure that malformed TLV and Sub-TLV defined in | |||
this document are detected and do not provide a vulnerability for | this document are detected and do not provide a vulnerability for | |||
attackers to crash the OSPFv3 router or routing process. Reception | attackers to crash the OSPFv3 router or routing process. Reception | |||
of a malformed TLV or Sub-TLV SHOULD be counted and/or logged for | of a malformed TLV or Sub-TLV SHOULD be counted and/or logged for | |||
further analysis. Logging of malformed TLVs and Sub-TLVs SHOULD be | further analysis. Logging of malformed TLVs and Sub-TLVs SHOULD be | |||
rate-limited to prevent a Denial of Service (DoS) attack (distributed | rate-limited to prevent a Denial of Service (DoS) attack (distributed | |||
or otherwise) from overloading the OSPFv3 control plane. | or otherwise) from overloading the OSPFv3 control plane. | |||
10. Contributors | 11. Contributors | |||
The following people gave a substantial contribution to the content | The following people gave a substantial contribution to the content | |||
of this document and should be considered as co-authors: | of this document and should be considered as co-authors: | |||
Clarence Filsfils | Clarence Filsfils | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
Brussels | Brussels | |||
Belgium | Belgium | |||
Email: cfilsfil@cisco.com | Email: cfilsfil@cisco.com | |||
skipping to change at page 24, line 45 ¶ | skipping to change at page 25, line 45 ¶ | |||
Nuage Networks | Nuage Networks | |||
US | US | |||
Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
Thanks to Acee Lindem for his substantial contribution to the content | Thanks to Acee Lindem for his substantial contribution to the content | |||
of this document. | of this document. | |||
We would like to thank Anton Smirnov for his contribution as well. | We would like to thank Anton Smirnov for his contribution as well. | |||
11. References | 12. References | |||
11.1. Normative References | 12.1. Normative References | |||
[ALGOREG] "IGP Algorithm Types", <https://www.iana.org/assignments/ | ||||
igp-parameters/igp-parameters.xhtml#igp-algorithm-types>. | ||||
[I-D.ietf-ospf-segment-routing-extensions] | [I-D.ietf-ospf-segment-routing-extensions] | |||
Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | |||
Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | |||
Extensions for Segment Routing", draft-ietf-ospf-segment- | Extensions for Segment Routing", draft-ietf-ospf-segment- | |||
routing-extensions-25 (work in progress), April 2018. | routing-extensions-25 (work in progress), April 2018. | |||
[I-D.ietf-spring-segment-routing-ldp-interop] | [I-D.ietf-spring-segment-routing-ldp-interop] | |||
Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., and | Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., and | |||
S. Litkowski, "Segment Routing interworking with LDP", | S. Litkowski, "Segment Routing interworking with LDP", | |||
draft-ietf-spring-segment-routing-ldp-interop-15 (work in | draft-ietf-spring-segment-routing-ldp-interop-15 (work in | |||
progress), September 2018. | progress), September 2018. | |||
[I-D.ietf-spring-segment-routing-mpls] | [I-D.ietf-spring-segment-routing-mpls] | |||
Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., | Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., | |||
Litkowski, S., and R. Shakir, "Segment Routing with MPLS | Litkowski, S., and R. Shakir, "Segment Routing with MPLS | |||
data plane", draft-ietf-spring-segment-routing-mpls-14 | data plane", draft-ietf-spring-segment-routing-mpls-15 | |||
(work in progress), June 2018. | (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>. | |||
skipping to change at page 26, line 20 ¶ | skipping to change at page 27, line 20 ¶ | |||
[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, April | |||
2018, <https://www.rfc-editor.org/info/rfc8362>. | 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>. | |||
11.2. Informative References | 12.2. Informative References | |||
[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>. | |||
[RFC7166] Bhatia, M., Manral, V., and A. Lindem, "Supporting | [RFC7166] Bhatia, M., Manral, V., and A. Lindem, "Supporting | |||
Authentication Trailer for OSPFv3", RFC 7166, | Authentication Trailer for OSPFv3", RFC 7166, | |||
DOI 10.17487/RFC7166, March 2014, | DOI 10.17487/RFC7166, March 2014, | |||
<https://www.rfc-editor.org/info/rfc7166>. | <https://www.rfc-editor.org/info/rfc7166>. | |||
End of changes. 64 change blocks. | ||||
90 lines changed or deleted | 145 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/ |