< draft-li-ospf-ospfv3-srv6-extensions-07.txt.orig | draft-li-ospf-ospfv3-srv6-extensions-07.txt > | |||
---|---|---|---|---|
skipping to change at page 2, line 33 ¶ | skipping to change at page 2, line 33 ¶ | |||
2. SRv6-Capabilities TLV . . . . . . . . . . . . . . . . . . . . 3 | 2. SRv6-Capabilities TLV . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Advertisement of Supported Algorithms . . . . . . . . . . . . 5 | 3. Advertisement of Supported Algorithms . . . . . . . . . . . . 5 | |||
4. Advertisement of SRH Operation Limits . . . . . . . . . . . . 5 | 4. Advertisement of SRH Operation Limits . . . . . . . . . . . . 5 | |||
5. Advertisement of SRv6 Locator and End SIDs . . . . . . . . . 5 | 5. Advertisement of SRv6 Locator and End SIDs . . . . . . . . . 5 | |||
6. SRv6 Locator LSA . . . . . . . . . . . . . . . . . . . . . . 6 | 6. SRv6 Locator LSA . . . . . . . . . . . . . . . . . . . . . . 6 | |||
6.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 8 | 6.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 8 | |||
7. Advertisment of SRv6 End SIDs . . . . . . . . . . . . . . . . 10 | 7. Advertisment of SRv6 End SIDs . . . . . . . . . . . . . . . . 10 | |||
8. Advertisment of SRv6 SIDs Associated with Adjacencies . . . . 11 | 8. Advertisment of SRv6 SIDs Associated with Adjacencies . . . . 11 | |||
8.1. SRv6 End.X SID Sub-TLV . . . . . . . . . . . . . . . . . 12 | 8.1. SRv6 End.X SID Sub-TLV . . . . . . . . . . . . . . . . . 12 | |||
8.2. SRv6 LAN End.X SID Sub-TLV . . . . . . . . . . . . . . . 14 | 8.2. SRv6 LAN End.X SID Sub-TLV . . . . . . . . . . . . . . . 14 | |||
9. SRv6 SID Structure sub-TLV . . . . . . . . . . . . . . . . . 15 | 9. SRv6 SID Structure Sub-TLV . . . . . . . . . . . . . . . . . 15 | |||
10. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
11.1. OSPF Router Information TLVs . . . . . . . . . . . . . . 17 | 11.1. OSPF Router Information TLVs . . . . . . . . . . . . . . 17 | |||
11.2. OSPFv3 LSA Function Codes . . . . . . . . . . . . . . . 17 | 11.2. OSPFv3 LSA Function Codes . . . . . . . . . . . . . . . 17 | |||
11.3. OSPFv3 Extended-LSA sub-TLVs . . . . . . . . . . . . . . 17 | 11.3. OSPFv3 Extended-LSA Sub-TLVs . . . . . . . . . . . . . . 17 | |||
11.4. OSPFv3 Locator LSA TLVs . . . . . . . . . . . . . . . . 17 | 11.4. OSPFv3 Locator LSA TLVs . . . . . . . . . . . . . . . . 17 | |||
11.5. OSPFv3 Locator LSA sub-TLVs . . . . . . . . . . . . . . 18 | 11.5. OSPFv3 Locator LSA Sub-TLVs . . . . . . . . . . . . . . 18 | |||
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 | |||
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
13.1. Normative References . . . . . . . . . . . . . . . . . . 19 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 19 | |||
13.2. Informative References . . . . . . . . . . . . . . . . . 20 | 13.2. Informative References . . . . . . . . . . . . . . . . . 20 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
1. Introduction | 1. Introduction | |||
Segment Routing (SR) architecture [RFC8402] specifies how a node can | Segment Routing (SR) architecture [RFC8402] specifies how a node can | |||
steer a packet through an ordered list of instructions, called | steer a packet through an ordered list of instructions, called | |||
skipping to change at page 3, line 16 ¶ | skipping to change at page 3, line 16 ¶ | |||
the use of the Segment Routing Header (SRH) defined in | the use of the Segment Routing Header (SRH) defined in | |||
[I-D.ietf-6man-segment-routing-header]. SRv6 refers to this SR | [I-D.ietf-6man-segment-routing-header]. SRv6 refers to this SR | |||
instantiation on the IPv6 dataplane. The network programming | instantiation on the IPv6 dataplane. The network programming | |||
paradigm for SRv6 is specified in | paradigm for SRv6 is specified in | |||
[I-D.ietf-spring-srv6-network-programming] which describes several | [I-D.ietf-spring-srv6-network-programming] which describes several | |||
well-known functions that can be bound to SRv6 SIDs. | well-known functions that can be bound to SRv6 SIDs. | |||
This document specifies extensions to OSPFv3 in order to support SRv6 | This document specifies extensions to OSPFv3 in order to support SRv6 | |||
as defined in [I-D.ietf-spring-srv6-network-programming] by signaling | as defined in [I-D.ietf-spring-srv6-network-programming] by signaling | |||
the SRv6 capabilities of the node and certain SRv6 SIDs with their | the SRv6 capabilities of the node and certain SRv6 SIDs with their | |||
endpoint behaviors (e.g. End, End.X, etc.) that are instantiated on | endpoint behaviors (e.g., End, End.X, etc.) that are instantiated on | |||
the SRv6 capable router. | the SRv6 capable router. | |||
At a high level, the extensions to OSPFv3 comprise of the following: | At a high level, the extensions to OSPFv3 are comprised of the following: | |||
1. SRv6 Capabilities TLV to advertise the support for SRv6 features | 1. SRv6 Capabilities TLV to advertise SRv6 features | |||
and SRH operations supported by the router | and SRH operations supported by the router | |||
2. SRv6 Locator TLV to advertise the SRv6 Locator - a form of | 2. SRv6 Locator TLV to advertise the SRv6 Locator - a form of | |||
summary address for the algorithm specific SIDs associated with | summary address for the algorithm specific SIDs associated with | |||
the router | the router | |||
3. TLVs and sub-TLVs to advertise the SRv6 SIDs instantiated on the | 3. TLVs and sub-TLVs to advertise the SRv6 SIDs instantiated on the | |||
router along with their endpoint behaviors | router along with their endpoint behaviors | |||
2. SRv6-Capabilities TLV | 2. SRv6-Capabilities TLV | |||
skipping to change at page 3, line 44 ¶ | skipping to change at page 3, line 44 ¶ | |||
(SRv6), the list of segments is expressed using the segment routing | (SRv6), the list of segments is expressed using the segment routing | |||
header (SRH) as defined in [I-D.ietf-6man-segment-routing-header]. | header (SRH) as defined in [I-D.ietf-6man-segment-routing-header]. | |||
A router that supports SRv6 MUST be able to process the SRH as | A router that supports SRv6 MUST be able to process the SRH as | |||
described in [I-D.ietf-6man-segment-routing-header], as well as apply | described in [I-D.ietf-6man-segment-routing-header], as well as apply | |||
endpoint behaviors as described in | endpoint behaviors as described in | |||
[I-D.ietf-spring-srv6-network-programming]. | [I-D.ietf-spring-srv6-network-programming]. | |||
The SRv6 Capabilities TLV is designed for an OSPFv3 router to | The SRv6 Capabilities TLV is designed for an OSPFv3 router to | |||
advertise its SRv6 support along with its related capabilities for | advertise its SRv6 support along with its related capabilities for | |||
SRv6 functionality. This is a new optional top level TLV of OSPFv3 | SRv6 functionality. This is an optional top level TLV of the OSPFv3 | |||
Router Information LSA [RFC7770] which MUST be advertised by a SRv6 | Router Information LSA [RFC7770] which MUST be advertised by an SRv6 | |||
enabled router. | enabled router. | |||
This TLV SHOULD be advertised only once in the OSPFv3 Router | This TLV SHOULD be advertised only once in the OSPFv3 Router | |||
Information LSA. When multiple SRv6 Capabilities TLVs are received | Information LSA. When multiple SRv6 Capabilities TLVs are received | |||
from a given router, the receiver MUST use the first occurrence of | from a given router, the receiver MUST use the first occurrence of | |||
the TLV in the OSPFV3 Router Information Opaque LSA. If the SRv6 | the TLV in the OSPFV3 Router Information Opaque LSA. If the SRv6 | |||
Capabilities TLV appears in multiple OSPFv3 Router Information Opaque | Capabilities TLV appears in multiple OSPFv3 Router Information Opaque | |||
LSAs that have different flooding scopes, the TLV in the OSPFv3 | LSAs that have different flooding scopes, the TLV in the OSPFv3 | |||
Router Information Opaque LSA with the area-scoped flooding scope | Router Information Opaque LSA with the area-scoped flooding scope | |||
MUST be used. If the SRv6 Capabilities TLV appears in multiple | MUST be used. If the SRv6 Capabilities TLV appears in multiple | |||
skipping to change at page 4, line 37 ¶ | skipping to change at page 4, line 37 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Where: | Where: | |||
o Type: 16 bit field. TBD | o Type: 16 bit field. TBD | |||
o Length: 16 bit field. Length of Capability TLV + length of Sub- | o Length: 16 bit field. Length of Capability TLV + length of Sub- | |||
TLVs | TLVs | |||
o Reserved : 16 bit field. SHOULD be set to 0 and MUST be ignored | o Reserved : 16 bit field. SHOULD be set to 0 and MUST be ignored | |||
by receiver. | on receipt. | |||
o Flags: 16 bit field. The following flags are defined: | o Flags: 16 bit field. The following flags are defined: | |||
0 1 | 0 1 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |O| | | | |O| | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
skipping to change at page 5, line 17 ¶ | skipping to change at page 5, line 17 ¶ | |||
3. Advertisement of Supported Algorithms | 3. Advertisement of Supported Algorithms | |||
SRv6 enabled OSPFv3 router advertises its algorithm support using the | SRv6 enabled OSPFv3 router advertises its algorithm support using the | |||
SR Algorithm TLV defined in | SR Algorithm TLV defined in | |||
[I-D.ietf-ospf-segment-routing-extensions] as described in | [I-D.ietf-ospf-segment-routing-extensions] as described in | |||
[I-D.ietf-ospf-ospfv3-segment-routing-extensions]. | [I-D.ietf-ospf-ospfv3-segment-routing-extensions]. | |||
4. Advertisement of SRH Operation Limits | 4. Advertisement of SRH Operation Limits | |||
A SRv6 enabled router may have different capabilities and limits when | An SRv6 enabled router may have different capabilities and limits when | |||
it comes to SRH processing and this needs to be advertised to other | it comes to SRH processing and this needs to be advertised to other | |||
routers in the SRv6 domain. | routers in the SRv6 domain. | |||
[RFC8476] defines the means to advertise node/link specific values | [RFC8476] defines the means to advertise node/link specific values | |||
for Maximum SID Depths (MSD) of various types. Node MSDs are | for Maximum SID Depths (MSD) of various types. Node MSDs are | |||
advertised using the Node MSD TLV in the OSPFv3 Router Information | advertised using the Node MSD TLV in the OSPFv3 Router Information | |||
LSA [RFC7770] while Link MSDs are advertised using the Link MSD sub- | LSA [RFC7770] while Link MSDs are advertised using the Link MSD sub- | |||
TLV of the E-Router-LSA TLV [RFC8362]. The format of the MSD types | TLV of the E-Router-LSA TLV [RFC8362]. The format of the MSD types | |||
for OSPFv3 is defined in [RFC8476]. | for OSPFv3 is defined in [RFC8476]. | |||
The MSD types for SRv6 that are defined in | The MSD types for SRv6 that are defined in | |||
[I-D.ietf-lsr-isis-srv6-extensions] for IS-IS are also used by | [I-D.ietf-lsr-isis-srv6-extensions] for IS-IS are also used by | |||
OSPFv3. These MSD Types are allocated under the IGP MSD Types | OSPFv3. These MSD Types are allocated under the IGP MSD Types | |||
registry maintained by IANA that are shared by IS-IS and OSPF. | registry maintained by IANA that are shared by IS-IS and OSPF. | |||
5. Advertisement of SRv6 Locator and End SIDs | 5. Advertisement of SRv6 Locator and End SIDs | |||
An SRv6 Segment Identifier (SID) is 128 bits and represented as | An SRv6 Segment Identifier (SID) is 128 bits and is represented as | |||
LOC:FUNCT as described in [I-D.ietf-spring-srv6-network-programming]. | LOC:FUNCT as described in [I-D.ietf-spring-srv6-network-programming]. | |||
A node is provisioned with algorithm specific locators for each | A node is provisioned with algorithm specific locators for each | |||
algorithm supported by that node. Each locator is a covering prefix | algorithm supported by that node. Each locator is a prefix subsuming | |||
for all SIDs provisioned on that node which have the matching | all SIDs provisioned on that node which have the matching | |||
algorithm. | algorithm. | |||
Locators MUST be advertised in the SRv6 Locator LSA (see Section 6). | Locators MUST be advertised in the SRv6 Locator LSA (see Section 6). | |||
Forwarding entries for the locators advertised in the SRv6 Locator | Forwarding entries for the locators advertised in the SRv6 Locator | |||
LSA MUST be installed in the forwarding plane of receiving SRv6 | LSA MUST be installed in the forwarding plane of receiving SRv6 | |||
capable routers when the associated algorithm is supported by the | capable routers when the associated algorithm is supported by the | |||
receiving node. Locators can be of different route types similar to | receiving node. Locators can be of different route types similar to | |||
existing OSPF LSA route types - Intra-Area, Inter-Area, External and | existing OSPF LSA route types - Intra-Area, Inter-Area, External, and | |||
NSSA. The computation of locator reachability and their | NSSA. The computation of locator reachability and their | |||
advertisement are similar to how normal OSPF prefix reachability LSAs | advertisement are similar to how normal OSPF prefix reachability LSAs | |||
are processed as part of the SPF computation. | are processed as part of the SPF computation. | |||
Locators are routable and MAY also be advertised via Prefix LSAs of | Locators are routable and MAY also be advertised via Prefix LSAs of | |||
different types - Inter-Area Prefix LSA, AS-External LSA, NSSA LSA or | different types - Inter-Area Prefix LSA, AS-External LSA, NSSA LSA, or | |||
Intra-Area Prefix LSA (or their equivalent extended LSAs [RFC8362]). | Intra-Area Prefix LSA (or their equivalent extended LSAs [RFC8362]). | |||
Locators associated with Flexible Algorithms SHOULD NOT be advertised | Locators associated with Flexible Algorithms SHOULD NOT be advertised | |||
via Prefix LSAs. Locators associated with algorithm 0 (for all | via Prefix LSAs. Locators associated with algorithm 0 (for all | |||
supported topologies) SHOULD be advertised in Prefix LSAs so that | supported topologies) SHOULD be advertised in Prefix LSAs so that | |||
legacy routers (i.e., routers which do NOT support SRv6) will install | legacy routers (i.e., routers which do NOT support SRv6) will install | |||
a forwarding entry for algorithm 0 SRv6 traffic. | a forwarding entry for algorithm 0 SRv6 traffic. | |||
In cases where a locator advertisement is received in both in a | In cases where a locator advertisement is received in both in a | |||
Prefix LSA and an SRv6 Locator LSA, the Prefix LSA advertisement MUST | Prefix LSA and an SRv6 Locator LSA, the Prefix LSA advertisement MUST | |||
be preferred when installing entries in the forwarding plane. This | be preferred when installing entries in the forwarding plane. This | |||
skipping to change at page 7, line 27 ¶ | skipping to change at page 7, line 27 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
+- TLVs -+ | +- TLVs -+ | |||
| ... | | | ... | | |||
Figure 1: SRv6 Locator LSA | Figure 1: SRv6 Locator LSA | |||
The format of the TLVs within the body of the SRv6 Locator LSA is the | The format of the TLVs within the body of the SRv6 Locator LSA is the | |||
same as the format used by [RFC3630]. The variable TLV section | same as the format used by [RFC3630]. The variable TLV section | |||
consists of one or more nested TLV tuples. Nested TLVs are also | consists of one or more nested TLV tuples. Nested TLVs are also | |||
referred to as sub- TLVs. The format of each TLV is: | referred to as sub-TLVs. The format of each TLV is: | |||
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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Value | | | Value | | |||
o | o | |||
o | o | |||
o | o | |||
skipping to change at page 8, line 8 ¶ | skipping to change at page 8, line 8 ¶ | |||
TLV is padded to 4-octet alignment; padding is not included in the | TLV is padded to 4-octet alignment; padding is not included in the | |||
Length field (so a 3-octet value would have a length of 3, but the | Length field (so a 3-octet value would have a length of 3, but the | |||
total size of the TLV would be 8 octets). Nested TLVs are also | total size of the TLV would be 8 octets). Nested TLVs are also | |||
32-bit aligned. For example, a 1-byte value would have the Length | 32-bit aligned. For example, a 1-byte value would have the Length | |||
field set to 1, and 3 octets of padding would be added to the end of | field set to 1, and 3 octets of padding would be added to the end of | |||
the value portion of the TLV. The padding is composed of zeros. | the value portion of the TLV. The padding is composed of zeros. | |||
6.1. SRv6 Locator TLV | 6.1. SRv6 Locator TLV | |||
The SRv6 Locator TLV is a top-level TLV of the SRv6 Locator LSA that | The SRv6 Locator TLV is a top-level TLV of the SRv6 Locator LSA that | |||
is used to advertise a SRv6 Locator, its attributes and SIDs | is used to advertise an SRv6 Locator, its attributes, and SIDs | |||
associated with it. Multiple SRv6 Locator TLVs MAY be advertised in | associated with it. Multiple SRv6 Locator TLVs MAY be advertised in | |||
each SRv6 Locator LSA. However, since the S12 bits define the | each SRv6 Locator LSA. However, since the S12 bits define the | |||
flooding scope, the LSA flooding scope MUST satisfy the application- | flooding scope, the LSA flooding scope MUST satisfy the application- | |||
specific requirements for all the locators included in a single SRv6 | specific requirements for all the locators included in a single SRv6 | |||
Locator LSA. | Locator LSA. | |||
When multiple SRv6 Locator TLVs are received from a given router in a | When multiple SRv6 Locator TLVs are received from a given router in an | |||
SRv6 Locator LSA for the same Locator, the receiver MUST use the | SRv6 Locator LSA for the same Locator, the receiver MUST use the | |||
first occurrence of the TLV in the LSA. If the SRv6 Locator TLV for | first occurrence of the TLV in the LSA. If the SRv6 Locator TLV for | |||
the same Locator appears in multiple SRv6 Locator LSAs that have | the same Locator appears in multiple SRv6 Locator LSAs that have | |||
different flooding scopes, the TLV in the SRv6 Locator LSA with the | different flooding scopes, the TLV in the SRv6 Locator LSA with the | |||
area-scoped flooding scope MUST be used. If the SRv6 Locator TLV for | area-scoped flooding scope MUST be used. If the SRv6 Locator TLV for | |||
the same Locator appears in multiple SRv6 Locator LSAs that have the | the same Locator appears in multiple SRv6 Locator LSAs that have the | |||
same flooding scope, the TLV in the SRv6 Locator LSA with the | same flooding scope, the TLV in the SRv6 Locator LSA with the | |||
numerically smallest Link-State ID MUST be used and subsequent | numerically smallest Link-State ID MUST be used and subsequent | |||
instances of the TLV MUST be ignored. | instances of the TLV MUST be ignored. | |||
skipping to change at page 9, line 25 ¶ | skipping to change at page 9, line 25 ¶ | |||
2 - Inter-Area | 2 - Inter-Area | |||
3 - AS External | 3 - AS External | |||
4 - NSSA External | 4 - NSSA External | |||
Figure 4 | Figure 4 | |||
Algorithm: 8 bit field. Associated algorithm. Algorithm values | Algorithm: 8 bit field. Associated algorithm. Algorithm values | |||
are defined in the IGP Algorithm Type registry. | are defined in the IGP Algorithm Type registry. | |||
Locator Length: 8 bit field. Carries the length of the Locator | Locator Length: 8 bit field. Carries the length of the Locator | |||
prefix as number of bits (1-128). | prefix as the number of locator bits (1-128). | |||
Flags: 8 bit field. The following flags are defined | Flags: 8 bit field. The following flags are defined | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|N|A| Reserved | | |N|A| Reserved | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
Figure 5 | Figure 5 | |||
* N flag : When the locator uniquely identifies a node in the | * N flag : When the locator uniquely identifies a node in the | |||
network (i.e. it is provisioned on one and only one node), the | network (i.e., it is provisioned on one and only one node), the | |||
N bit MUST be set. Otherwise, this bit MUST be clear. | N bit MUST be set. Otherwise, this bit MUST be clear. | |||
* A bit : When the Locator is configured as anycast, the A bit | * A bit : When the Locator is configured as anycast, the A bit | |||
SHOULD be set. Otherwise, this bit MUST be clear. | SHOULD be set. Otherwise, this bit MUST be clear. | |||
* Other flags are not defined and SHOULD be set to 0 and MUST be | * Other flags are not defined and SHOULD be set to 0 and MUST be | |||
ignored on receipt. | ignored on receipt. | |||
Metric : 32 bit field. The metric value associated with the | Metric : 32 bit field. The metric value associated with the | |||
locator. | locator. | |||
Locator : 16 octets. This field encodes the advertised SRv6 | Locator : 16 octets. This field encodes the advertised SRv6 | |||
Locator. | Locator. | |||
Sub-TLVs : Used to advertise sub-TLVs that provide additional | Sub-TLVs : Used to advertise Sub-TLVs that provide additional | |||
attributes for the given SRv6 Locator and SRv6 SIDs associated | attributes for the given SRv6 Locator and SRv6 SIDs associated | |||
with it. | with it. | |||
7. Advertisment of SRv6 End SIDs | 7. Advertisment of SRv6 End SIDs | |||
SRv6 End SID sub-TLV is a new sub-TLV of SRv6 Locator TLV in the SRv6 | The SRv6 End SID Sub-TLV is a Sub-TLV of the SRv6 Locator TLV in the SRv6 | |||
Locator LSA (defined in Section 6). It is used to advertise the SRv6 | Locator LSA (defined in Section 6). It is used to advertise the SRv6 | |||
SIDs belonging to the node along with their associated functions. | SIDs belonging to the node along with their associated functions. | |||
SIDs associated with adjacencies are advertised as described in | SIDs associated with adjacencies are advertised as described in | |||
Section 8. Every SRv6 enabled OSPFv3 router SHOULD advertise at | Section 8. Every SRv6 enabled OSPFv3 router SHOULD advertise at | |||
least one SRv6 SID associated with an END behavior for its node as | least one SRv6 SID associated with an END behavior for its node as | |||
specified in [I-D.ietf-spring-srv6-network-programming]. | specified in [I-D.ietf-spring-srv6-network-programming]. | |||
SRv6 End SIDs inherit the algorithm from the parent locator. The | SRv6 End SIDs inherit the algorithm from the parent locator. The | |||
SRv6 End SID MUST be a subnet of the associated Locator. SRv6 End | SRv6 End SID MUST be contained in the subnet of the associated | |||
SIDs which are NOT a subnet of the associated locator MUST be | Locator. SRv6 End SIDs which are NOT in a subnet of the | |||
ignored. | associated locator MUST be ignored. | |||
The router MAY advertise multiple instances of the SRv6 End SID sub- | The router MAY advertise multiple instances of the SRv6 End SID Sub- | |||
TLV within the SRv6 Locator TLV - one for each of the SRv6 SIDs to be | TLV within the SRv6 Locator TLV - one for each of the SRv6 SIDs to be | |||
advertised. When multiple SRv6 End SID sub-TLVs are received in the | advertised. When multiple SRv6 End SID Sub-TLVs are received in the | |||
SRv6 Locator TLV from a given router for the same SRv6 SID value, the | SRv6 Locator TLV from a given router for the same SRv6 SID value, the | |||
receiver MUST use the first occurrence of the sub-TLV in the SRv6 | receiver MUST use the first occurrence of the Sub-TLV in the SRv6 | |||
Locator TLV. | Locator TLV. | |||
The format of SRv6 End SID sub-TLV is shown below | The format of SRv6 End SID Sub-TLV is shown below | |||
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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Flags | Reserved | Endpoint Behavior ID | | | Flags | Reserved | Endpoint Behavior ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (128 bits) ... | | | SID (128 bits) ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID cont ... | | | SID cont ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID cont ... | | | SID cont ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID cont ... | | | SID cont ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-Sub-TLVs (variable) . . . | | Sub-Sub-TLVs (variable) . . . | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 6: SRv6 End SID sub-TLV | Figure 6: SRv6 End SID Sub-TLV | |||
Where: | Where: | |||
Type: 16 bit field. Value is 1 for this type. | Type: 16 bit field. Value is 1 for this type. | |||
Length: 16 bit field. The total length of the value portion of | Length: 16 bit field. The total length of the value portion of | |||
the sub-TLV including sub-sub-TLVs. | the sub-TLV including sub-sub-TLVs. | |||
Reserved : 8 bit field. Should be set to 0 and MUST be ignored on | Reserved : 8 bit field. Should be set to 0 and MUST be ignored on | |||
receipt. | receipt. | |||
skipping to change at page 11, line 25 ¶ | skipping to change at page 11, line 25 ¶ | |||
Flags: 8 bit field which define the flags associated with the SID. | Flags: 8 bit field which define the flags associated with the SID. | |||
No flags are currently defined and SHOULD be set to 0 and MUST be | No flags are currently defined and SHOULD be set to 0 and MUST be | |||
ignored on receipt. | ignored on receipt. | |||
Endpoint Behavior ID: 16 bit field. The endpoint behavior code | Endpoint Behavior ID: 16 bit field. The endpoint behavior code | |||
point for this SRv6 SID as defined in | point for this SRv6 SID as defined in | |||
[I-D.ietf-spring-srv6-network-programming]. | [I-D.ietf-spring-srv6-network-programming]. | |||
SID : 16 octets. This field encodes the advertised SRv6 SID. | SID : 16 octets. This field encodes the advertised SRv6 SID. | |||
Sub-Sub-TLVs : Used to advertise sub-sub-TLVs that provide | Sub-TLVs : Used to advertise Sub-TLVs that provide | |||
additional attributes for the given SRv6 SID. | additional attributes for the given SRv6 SID. | |||
8. Advertisment of SRv6 SIDs Associated with Adjacencies | 8. Advertisment of SRv6 SIDs Associated with Adjacencies | |||
The SRv6 endpoint behaviors are defined in | The SRv6 endpoint behaviors are defined in | |||
[I-D.ietf-spring-srv6-network-programming] include certain behaviors | [I-D.ietf-spring-srv6-network-programming] include certain behaviors | |||
which are specific to links or adjacencies. The most basic of this | which are specific to links or adjacencies. The most basic of these | |||
which is critical for link state routing protocols like OSPFv3 is the | which is critical for link state routing protocols like OSPFv3 is the | |||
End.X behavior that is an instruction to forward to a specific | End.X behavior that is an instruction to forward to a specific | |||
neighbor on a specific link. These SRv6 SIDs along with others that | neighbor on a specific link. These SRv6 SIDs along with others that | |||
are defined in [I-D.ietf-spring-srv6-network-programming] which are | are defined in [I-D.ietf-spring-srv6-network-programming] which are | |||
specific to links or adjacencies need to be advertised by OSPFv3 so | specific to links or adjacencies need to be advertised by OSPFv3 so | |||
that this information is available with all routers in the area to | that this information is available to all routers in the area to | |||
influence the packet path via these SRv6 SIDs over the specific | influence the packet path via these SRv6 SIDs over the specific | |||
adjacencies. | adjacencies. | |||
The advertising of SRv6 SIDs and their behaviors that are specific to | The advertisement of SRv6 SIDs and their behaviors that are specific to | |||
a particular neighbor are done via two different optional sub-TLVs of | a particular neighbor is done via two different optional Sub-TLVs of | |||
the E-Router-Link TLV defined in [RFC8362] as follows: | the E-Router-Link TLV defined in [RFC8362] as follows: | |||
o SRv6 End.X SID Sub-TLV: for OSPFv3 adjacency over point-to-point | o SRv6 End.X SID Sub-TLV: For OSPFv3 adjacencies over point-to-point | |||
or point-to-multipoint links and the adjacency to the Designated | or point-to-multipoint links and the adjacency to the Designated | |||
Router (DR) over broadcast and non-broadcast-multi-access (NBMA) | Router (DR) over broadcast and non-broadcast-multi-access (NBMA) | |||
links. | links. | |||
o SRv6 LAN End.X SID Sub-TLV: for OSPFv3 adjacency on broadcast and | o SRv6 LAN End.X SID Sub-TLV: For OSPFv3 adjacencies on broadcast and | |||
NBMA links to the Backup DR and DR-Other neighbors. This sub-TLV | NBMA links to the Backup DR and DR-Other neighbors. This Sub-TLV | |||
includes the OSPFv3 router-id of the neighbor and thus allows for | includes the OSPFv3 router-id of the neighbor and thus allows for | |||
multiple instances of this TLV for each neighbor to be explicitly | an instance of this Sub-TLV for each neighbor to be explicitly | |||
advertised under the E-Router-Link TLV for the same link. | advertised under the E-Router-Link TLV for the same link. | |||
Every SRv6 enabled OSPFv3 router SHOULD instantiate at least one | Every SRv6 enabled OSPFv3 router SHOULD instantiate at least one | |||
End.X function with a unique SRv6 SID corresponding to each of its | End.X function with a unique SRv6 SID corresponding to each of its | |||
neighbor. A router MAY instantiate more than one SRv6 SID for the | neighbors. A router MAY instantiate more than one SRv6 SID for the | |||
End.X function for a single neighbor. The same SRv6 SID MAY be | End.X function for a single neighbor. The same SRv6 SID MAY be | |||
advertised for the End.X function corresponding to more than one | advertised for the End.X function corresponding to more than one | |||
neighbor. Thus multiple instances of the SRv6 End.X SID and SRv6 LAN | neighbor. Thus multiple instances of the SRv6 End.X SID and SRv6 LAN | |||
End.X SID sub-TLVs MAY be advertised within the E-Router-Link TLV for | End.X SID sub-TLVs MAY be advertised within the E-Router-Link TLV for | |||
a single link. | a single link. | |||
All End.X SIDs MUST be a subnet of a Locator with matching algorithm | All End.X SIDs MUST be subsumed by the subnet of a Locator with the | |||
which is advertised by the same node in an SRv6 Locator TLV. End.X | matching algorithm which is advertised by the same node in an SRv6 | |||
SIDs which do not meet this requirement MUST be ignored. | Locator TLV. End.X SIDs which do not meet this requirement MUST be | |||
ignored. | ||||
8.1. SRv6 End.X SID Sub-TLV | 8.1. SRv6 End.X SID Sub-TLV | |||
The format of the SRv6 End.X SID sub-TLV is shown below | The format of the SRv6 End.X SID sub-TLV is shown below | |||
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 13, line 13 ¶ | skipping to change at page 13, line 13 ¶ | |||
the TLV. | the TLV. | |||
Endpoint Behaviour ID: 16 bit field. The code point for the | Endpoint Behaviour ID: 16 bit field. The code point for the | |||
endpoint behavior for this SRv6 SID as defined in | endpoint behavior for this SRv6 SID as defined in | |||
[I-D.ietf-spring-srv6-network-programming]. | [I-D.ietf-spring-srv6-network-programming]. | |||
Flags: 8 bit field with the following definition: | Flags: 8 bit field with the following definition: | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|B|S|P| Rsvd | | |B|S|P| Reserved| | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
* B-Flag: Backup Flag. If set, the SID refers to a path that is | * B-Flag: Backup Flag. If set, the SID refers to a path that is | |||
eligible for protection. | eligible for protection. | |||
* S-Flag: Set Flag. When set, the S-Flag indicates that the | * S-Flag: Set Flag. When set, the S-Flag indicates that the | |||
End.X SID refers to a set of adjacencies (and therefore MAY be | End.X SID refers to a set of adjacencies (and therefore MAY be | |||
assigned to other adjacencies as well). | assigned to other adjacencies as well). | |||
* P-Flag: Persistent Flag: If set, the SID is persistently | * P-Flag: Persistent Flag: If set, the SID is persistently | |||
allocated, i.e., the SID value remains consistent across router | allocated, i.e., the SID value remains consistent across router | |||
restart and session/interface flap. | restart and session/interface flap. | |||
* Rsvd bits: Reserved for future use and MUST be zero when | * Reserved bits: Reserved for future use and MUST be zero when | |||
originated and ignored when received. | originated and ignored when received. | |||
Reserved1 : 8 bit field. Should be set to 0 and MUST be ignored | Reserved1 : 8 bit field. Should be set to 0 and MUST be ignored | |||
on receipt. | on receipt. | |||
Algorithm : 8 bit field. Associated algorithm. Algorithm values | Algorithm : 8 bit field. Associated algorithm. Algorithm values | |||
are defined in the IGP Algorithm Type registry. | are defined in the IGP Algorithm Type registry. | |||
Weight: 8 bit field whose value represents the weight of the End.X | Weight: 8 bit field whose value represents the weight of the End.X | |||
SID for the purpose of load balancing. The use of the weight is | SID for the purpose of load-balancing. The use of the weight is | |||
defined in [RFC8402]. | defined in [RFC8402]. | |||
Reserved2 : 16 bit field. Should be set to 0 and MUST be ignored | Reserved2 : 16 bit field. Should be set to 0 and MUST be ignored | |||
on receipt. | on receipt. | |||
SID: 16 octets. This field encodes the advertised SRv6 SID. | SID: 16 octets. This field encodes the advertised SRv6 SID. | |||
Sub-TLVs : Used to advertise sub-TLVs that provide additional | Sub-TLVs : Used to advertise Sub-TLVs that provide additional | |||
attributes for the given SRv6 End.X SID. | attributes for the given SRv6 End.X SID. | |||
8.2. SRv6 LAN End.X SID Sub-TLV | 8.2. SRv6 LAN End.X SID Sub-TLV | |||
The format of the SRv6 LAN End.X SID sub-TLV is as shown below | The format of the SRv6 LAN End.X SID Sub-TLV is as shown below | |||
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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Endpoint Behaviour | Flags | Reserved1 | | | Endpoint Behaviour | Flags | Reserved1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Algorithm | Weight | Reserved2 | | | Algorithm | Weight | Reserved2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 14, line 49 ¶ | skipping to change at page 14, line 49 ¶ | |||
[I-D.ietf-spring-srv6-network-programming]. | [I-D.ietf-spring-srv6-network-programming]. | |||
o SID Flags: 8 bit field which define the flags associated with the | o SID Flags: 8 bit field which define the flags associated with the | |||
SID. No flags are currently defined and SHOULD be set to 0 and | SID. No flags are currently defined and SHOULD be set to 0 and | |||
MUST be ignored on receipt. | MUST be ignored on receipt. | |||
o Flags: 8 bit field with the following definition: | o Flags: 8 bit field with the following definition: | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|B|S|P| Rsvd | | |B|S|P| Reserved| | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
* B-Flag: Backup Flag. If set, the SID refers to a path that is | * B-Flag: Backup Flag. If set, the SID refers to a path that is | |||
eligible for protection. | eligible for protection. | |||
* S-Flag: Set Flag. When set, the S-Flag indicates that the | * S-Flag: Set Flag. When set, the S-Flag indicates that the | |||
End.X SID refers to a set of adjacencies (and therefore MAY be | End.X SID refers to a set of adjacencies (and therefore MAY be | |||
assigned to other adjacencies as well). | assigned to other adjacencies as well). | |||
* P-Flag: Persistent Flag: If set, the SID is persistently | * P-Flag: Persistent Flag: If set, the SID is persistently | |||
allocated, i.e., the SID value remains consistent across router | allocated, i.e., the SID value remains consistent across router | |||
restart and session/interface flap. | restart and session/interface flap. | |||
* Rsvd bits: Reserved for future use and MUST be zero when | * Reserved bits: Reserved for future use and MUST be zero when | |||
originated and ignored when received. | originated and ignored when received. | |||
o Reserved1 : 8 bit field. Should be set to 0 and MUST be ignored | o Reserved1 : 8 bit field. Should be set to 0 and MUST be ignored | |||
on receipt. | on receipt. | |||
o Algorithm : 8 bit field. Associated algorithm. Algorithm values | o Algorithm : 8 bit field. Associated algorithm. Algorithm values | |||
are defined in the IGP Algorithm Type registry. | are defined in the IGP Algorithm Type registry. | |||
o Weight: 8 bit field whose value represents the weight of the End.X | o Weight: 8 bit field whose value represents the weight of the End.X | |||
SID for the purpose of load balancing. The use of the weight is | SID for the purpose of load balancing. The use of the weight is | |||
defined in [RFC8402]. | defined in [RFC8402]. | |||
o Reserved2 : 16 bit field. Should be set to 0 and MUST be ignored | o Reserved2 : 16 bit field. Should be set to 0 and MUST be ignored | |||
on receipt. | on receipt. | |||
o Neighbor ID : 4 octets of OSPFv3 Router-id of the neighbor | o Neighbor ID : 4 octets of OSPFv3 Router-id of the neighbor | |||
o SID: 16 octets. This field encodes the advertised SRv6 SID. | o SID: 16 octets. This field encodes the advertised SRv6 SID. | |||
o Sub-TLVs : Used to advertise sub-TLVs that provide additional | o Sub-TLVs : Used to advertise Sub-TLVs that provide additional | |||
attributes for the given SRv6 SID. | attributes for the given SRv6 SID. | |||
9. SRv6 SID Structure sub-TLV | 9. SRv6 SID Structure Sub-TLV | |||
SRv6 SID Structure sub-TLV is used to advertise the length of each | SRv6 SID Structure Sub-TLV is used to advertise the length of each | |||
individual part of the SRv6 SID as defined in | individual part of the SRv6 SID as defined in | |||
[I-D.ietf-spring-srv6-network-programming]. It is used as an | [I-D.ietf-spring-srv6-network-programming]. It is used as an | |||
optional sub-sub-TLV of the following: | optional Sub-TLV of the following: | |||
o SRv6 End SID sub-TLV (refer Section 7) | o SRv6 End SID Sub-TLV (refer Section 7) | |||
o SRv6 End.X SID sub-TLV (refer Section 8.1) | o SRv6 End.X SID Sub-TLV (refer Section 8.1) | |||
o SRv6 LAN End.X SID sub-TLV (refer Section 8.2) | o SRv6 LAN End.X SID Sub-TLV (refer Section 8.2) | |||
The sub-TLV has the following format: | The 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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| LB Length | LN Length | Fun. Length | Arg. Length | | | LB Length | LN Length | Fun. Length | Arg. Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 7: SRv6 SID Structure sub-TLV | Figure 7: SRv6 SID Structure sub-TLV | |||
skipping to change at page 16, line 36 ¶ | skipping to change at page 16, line 36 ¶ | |||
Argument Length: 1 octet field. SRv6 SID Argument length in bits. | Argument Length: 1 octet field. SRv6 SID Argument length in bits. | |||
10. Security Considerations | 10. Security Considerations | |||
Existing security extensions as described in [RFC5340] and [RFC8362] | Existing security extensions as described in [RFC5340] and [RFC8362] | |||
apply to these SRv6 extensions. While OSPFv3 is under a single | apply to these SRv6 extensions. While OSPFv3 is under a single | |||
administrative domain, there can be deployments where potential | administrative domain, there can be deployments where potential | |||
attackers have access to one or more networks in the OSPFv3 routing | attackers have access to one or more networks in the OSPFv3 routing | |||
domain. In these deployments, stronger authentication mechanisms | domain. In these deployments, stronger authentication mechanisms | |||
such as those specified in [RFC4552] SHOULD be used. | such as those specified in [RFC4552] or [RFC7166] SHOULD 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 malformed TLV or Sub-TLV SHOULD be counted and/or logged for | of 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. | |||
11. IANA Considerations | 11. IANA Considerations | |||
skipping to change at page 17, line 22 ¶ | skipping to change at page 17, line 22 ¶ | |||
Section 2. | Section 2. | |||
11.2. OSPFv3 LSA Function Codes | 11.2. OSPFv3 LSA Function Codes | |||
This document proposes the following new code point in the "OSPFv3 | This document proposes the following new code point in the "OSPFv3 | |||
LSA Function Codes" registry under the "OSPFv3 Parameters" registry | LSA Function Codes" registry under the "OSPFv3 Parameters" registry | |||
for the new SRv6 Locator LSA: | for the new SRv6 Locator LSA: | |||
o Type TBD (suggested 42): SRv6 Locator LSA: Refer to Section 6. | o Type TBD (suggested 42): SRv6 Locator LSA: Refer to Section 6. | |||
11.3. OSPFv3 Extended-LSA sub-TLVs | 11.3. OSPFv3 Extended-LSA Sub-TLVs | |||
This document proposes the following new code points in the "OSPFv3 | This document proposes the following new code points in the "OSPFv3 | |||
Extended-LSA Sub-TLVs" registry under the "OSPFv3 Parameters" | Extended-LSA Sub-TLVs" registry under the "OSPFv3 Parameters" | |||
registry for the new sub-TLVs: | registry for the new Sub-TLVs: | |||
o Type TBD (suggested 10): SRv6 SID Structure Sub-TLV : Refer to | o Type TBD (suggested 10): SRv6 SID Structure Sub-TLV : Refer to | |||
Section 9. | Section 9. | |||
o Type TBD (suggested 11): SRv6 End.X SID Sub-TLV : Refer to | o Type TBD (suggested 11): SRv6 End.X SID Sub-TLV : Refer to | |||
Section 8.1. | Section 8.1. | |||
o Type TBD (suggested 12): SRv6 LAN End.X SID Sub-TLV : Refer to | o Type TBD (suggested 12): SRv6 LAN End.X SID Sub-TLV : Refer to | |||
Section 8.2. | Section 8.2. | |||
skipping to change at page 18, line 17 ¶ | skipping to change at page 18, line 17 ¶ | |||
RFCs. | RFCs. | |||
Types in the range 33024-45055 are to be assigned on a First Come | Types in the range 33024-45055 are to be assigned on a First Come | |||
First Served (FCFS) basis. | First Served (FCFS) basis. | |||
Types in the range 45056-65535 are not to be assigned at this time. | Types in the range 45056-65535 are not to be assigned at this time. | |||
Before any assignments can be made in the 33024-65535 range, there | Before any assignments can be made in the 33024-65535 range, there | |||
MUST be an IETF specification that specifies IANA Considerations that | MUST be an IETF specification that specifies IANA Considerations that | |||
cover the range being assigned. | cover the range being assigned. | |||
11.5. OSPFv3 Locator LSA sub-TLVs | 11.5. OSPFv3 Locator LSA Sub-TLVs | |||
This document proposes setting up of a new "OSPFv3 Locator LSA Sub- | This document proposes setting up of a new "OSPFv3 Locator LSA Sub- | |||
TLVs" registry that defines sub-TLVs at any level of nesting for the | TLVs" registry that defines Sub-TLVs at any level of nesting for the | |||
SRv6 Locator TLVs to be added under the "OSPFv3 Parameters" registry. | SRv6 Locator TLVs to be added under the "OSPFv3 Parameters" registry. | |||
The initial code-points assignment is as below: | The initial code-points assignment is as below: | |||
o Type 0: Reserved. | o Type 0: Reserved. | |||
o Type 1: SRv6 End SID sub-TLV : Refer to Section 7. | o Type 1: SRv6 End SID Sub-TLV : Refer to Section 7. | |||
o Type 10: SRv6 SID Structure Sub-TLV : Refer to Section 9. | o Type 10: SRv6 SID Structure Sub-TLV : Refer to Section 9. | |||
Types in the range 2-9 and 11-32767 are allocated via IETF Review or | Types in the range 2-9 and 11-32767 are allocated via IETF Review or | |||
IESG Approval [RFC8126]. | IESG Approval [RFC8126]. | |||
Types in the range 32768-33023 are Reserved for Experimental Use; | Types in the range 32768-33023 are Reserved for Experimental Use; | |||
these will not be registered with IANA and MUST NOT be mentioned by | these will not be registered with IANA and MUST NOT be mentioned by | |||
RFCs. | RFCs. | |||
End of changes. 56 change blocks. | ||||
64 lines changed or deleted | 65 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/ |