< draft-li-ospf-ospfv3-srv6-extensions-06.txt   draft-li-ospf-ospfv3-srv6-extensions-07.txt >
Network Working Group Z. Li Network Working Group Z. Li
Internet-Draft Z. Hu Internet-Draft Z. Hu
Intended status: Standards Track D. Cheng Intended status: Standards Track D. Cheng
Expires: May 7, 2020 Huawei Technologies Expires: May 7, 2020 Huawei Technologies
K. Talaulikar K. Talaulikar
P. Psenak P. Psenak
Cisco Systems Cisco Systems
November 4, 2019 November 4, 2019
OSPFv3 Extensions for SRv6 OSPFv3 Extensions for SRv6
draft-li-ospf-ospfv3-srv6-extensions-06 draft-li-ospf-ospfv3-srv6-extensions-07
Abstract Abstract
Segment Routing (SR) allows for a flexible definition of end-to-end Segment Routing (SR) allows for a flexible definition of end-to-end
paths by encoding paths as sequences of topological sub-paths, called paths by encoding paths as sequences of topological sub-paths, called
"segments". Segment routing architecture can be implemented over an "segments". Segment routing architecture can be implemented over an
MPLS data plane as well as an IPv6 data plane. This draft describes MPLS data plane as well as an IPv6 data plane. This draft describes
the OSPFv3 extensions required to support Segment Routing over an the OSPFv3 extensions required to support Segment Routing over an
IPv6 data plane (SRv6). IPv6 data plane (SRv6).
skipping to change at page 2, line 22 skipping to change at page 2, line 22
(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 . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
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. Advertising Anycast Property . . . . . . . . . . . . . . . . 5 5. Advertisement of SRv6 Locator and End SIDs . . . . . . . . . 5
6. Advertisement of SRv6 Locator and End SIDs . . . . . . . . . 6 6. SRv6 Locator LSA . . . . . . . . . . . . . . . . . . . . . . 6
7. SRv6 Locator LSA . . . . . . . . . . . . . . . . . . . . . . 7 6.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 8
7.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 9 7. Advertisment of SRv6 End SIDs . . . . . . . . . . . . . . . . 10
8. Advertisment of SRv6 End SIDs . . . . . . . . . . . . . . . . 11 8. Advertisment of SRv6 SIDs Associated with Adjacencies . . . . 11
9. Advertisment of SRv6 SIDs Associated with Adjacencies . . . . 12 8.1. SRv6 End.X SID Sub-TLV . . . . . . . . . . . . . . . . . 12
9.1. SRv6 End.X SID Sub-TLV . . . . . . . . . . . . . . . . . 13 8.2. SRv6 LAN End.X SID Sub-TLV . . . . . . . . . . . . . . . 14
9.2. SRv6 LAN End.X SID Sub-TLV . . . . . . . . . . . . . . . 15 9. SRv6 SID Structure sub-TLV . . . . . . . . . . . . . . . . . 15
10. SRv6 SID Structure sub-TLV . . . . . . . . . . . . . . . . . 16 10. Security Considerations . . . . . . . . . . . . . . . . . . . 16
11. Security Considerations . . . . . . . . . . . . . . . . . . . 17 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 11.1. OSPF Router Information TLVs . . . . . . . . . . . . . . 17
12.1. OSPF Router Information TLVs . . . . . . . . . . . . . . 18 11.2. OSPFv3 LSA Function Codes . . . . . . . . . . . . . . . 17
12.2. OSPFv3 LSA Function Codes . . . . . . . . . . . . . . . 18 11.3. OSPFv3 Extended-LSA sub-TLVs . . . . . . . . . . . . . . 17
12.3. OSPFv3 Extended-LSA sub-TLVs . . . . . . . . . . . . . . 18 11.4. OSPFv3 Locator LSA TLVs . . . . . . . . . . . . . . . . 17
12.4. OSPFv3 Locator LSA TLVs . . . . . . . . . . . . . . . . 18 11.5. OSPFv3 Locator LSA sub-TLVs . . . . . . . . . . . . . . 18
12.5. OSPFv3 Locator LSA sub-TLVs . . . . . . . . . . . . . . 19 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18
12.6. Prefix Attribute bits Option . . . . . . . . . . . . . . 19 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 19
13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 13.1. Normative References . . . . . . . . . . . . . . . . . . 19
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 13.2. Informative References . . . . . . . . . . . . . . . . . 20
14.1. Normative References . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21
14.2. Informative References . . . . . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
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
segments. These segments are identified through Segment Identifiers segments. These segments are identified through Segment Identifiers
(SIDs). (SIDs).
Segment Routing can be instantiated on the IPv6 data plane through Segment Routing can be instantiated on the IPv6 data plane through
the use of the Segment Routing Header (SRH) defined in the use of the Segment Routing Header (SRH) defined in
skipping to change at page 5, line 44 skipping to change at page 5, line 33
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. Advertising Anycast Property 5. Advertisement of SRv6 Locator and End SIDs
Both prefixes and SRv6 Locators may be configured as anycast and as
such the same value can be advertised by multiple routers. It is
useful for other routers to know that the advertisement is for an
anycast identifier.
A new bit in "Bit Values for prefix options" registry [RFC5340] is
defined to advertise the anycast property:
Bit #: 1 (Suggested - to be assigned by IANA) Name: Anycast Bit
(A-bit)
When the prefix/SRv6 locator is configured as anycast, the A-bit
SHOULD be set. Otherwise, this A-bit MUST be clear.
The A-bit MUST be preserved when leaked between areas.
The A-bit and the N-bit MUST NOT both be set.
If both N-bit and A-bit are set in the prefix/SRv6 Locator
advertisement, the receiving routers MUST ignore the N-bit.
The same prefix/SRv6 Locator can be advertised by multiple routers.
If at least one of them sets the A-bit in its advertisement, the
prefix/SRv6 Locator SHOULD be considered as anycast.
6. 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 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 covering prefix
for all SIDs provisioned on that node which have the matching for all SIDs provisioned on that node which have the matching
algorithm. algorithm.
Locators MUST be advertised in the SRv6 Locator LSA (see Section 7). 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
skipping to change at page 7, line 25 skipping to change at page 6, line 34
SRv6 SIDs are not directly routable and MUST NOT be installed in the SRv6 SIDs are not directly routable and MUST NOT be installed in the
forwarding plane. Reachability to SRv6 SIDs depends upon the forwarding plane. Reachability to SRv6 SIDs depends upon the
existence of a covering locator. Adherence to the rules defined in existence of a covering locator. Adherence to the rules defined in
this section will assure that SRv6 SIDs associated with a supported this section will assure that SRv6 SIDs associated with a supported
algorithm will be forwarded correctly, while SRv6 SIDs associated algorithm will be forwarded correctly, while SRv6 SIDs associated
with an unsupported algorithm will be dropped. NOTE: The drop with an unsupported algorithm will be dropped. NOTE: The drop
behavior depends on the absence of a default/summary route covering a behavior depends on the absence of a default/summary route covering a
given locator. given locator.
7. SRv6 Locator LSA 6. SRv6 Locator LSA
The SRv6 Locator LSA has a function code of TBD while the S1/S2 bits The SRv6 Locator LSA has a function code of TBD while the S1/S2 bits
are dependent on the desired flooding scope for the LSA. The are dependent on the desired flooding scope for the LSA. The
flooding scope of the SRv6 Locator LSA depends on the scope of the flooding scope of the SRv6 Locator LSA depends on the scope of the
advertised SRv6 Locator and is under the control of the advertising advertised SRv6 Locator and is under the control of the advertising
router. The U bit will be set indicating that the LSA should be router. The U bit will be set indicating that the LSA should be
flooded even if it is not understood. flooded even if it is not understood.
Multiple SRv6 Locator LSAs can be advertised by an OSPFv3 router and Multiple SRv6 Locator LSAs can be advertised by an OSPFv3 router and
they are distinguished by their Link State IDs (which are chosen they are distinguished by their Link State IDs (which are chosen
skipping to change at page 9, line 5 skipping to change at page 8, line 5
The Length field defines the length of the value portion in octets The Length field defines the length of the value portion in octets
(thus, a TLV with no value portion would have a length of 0). The (thus, a TLV with no value portion would have a length of 0). The
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.
7.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 a 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 a
skipping to change at page 10, line 31 skipping to change at page 9, line 31
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 number of 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| 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
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.
8. 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 SRv6 End SID sub-TLV is a new sub-TLV of SRv6 Locator TLV in the SRv6
Locator LSA (defined in Section 7). 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 9. 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 a subnet of the associated Locator. SRv6 End
SIDs which are NOT a subnet of the associated locator MUST be SIDs which are NOT a subnet of the associated locator MUST be
ignored. 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
skipping to change at page 12, line 28 skipping to change at page 11, line 28
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-Sub-TLVs : Used to advertise sub-sub-TLVs that provide
additional attributes for the given SRv6 SID. additional attributes for the given SRv6 SID.
9. 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 this
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 with all routers in the area to
skipping to change at page 13, line 21 skipping to change at page 12, line 21
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 a subnet of a Locator with matching algorithm
which is advertised by the same node in an SRv6 Locator TLV. End.X which is advertised by the same node in an SRv6 Locator TLV. End.X
SIDs which do not meet this requirement MUST be ignored. SIDs which do not meet this requirement MUST be ignored.
9.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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Endpoint Behaviour ID | Flags | Reserved1 | | Endpoint Behaviour ID | Flags | Reserved1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 15, line 5 skipping to change at page 14, line 5
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.
9.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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 16, line 38 skipping to change at page 15, line 38
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.
10. 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-sub-TLV of the following:
o SRv6 End SID sub-TLV (refer Section 8) o SRv6 End SID sub-TLV (refer Section 7)
o SRv6 End.X SID sub-TLV (refer Section 9.1) o SRv6 End.X SID sub-TLV (refer Section 8.1)
o SRv6 LAN End.X SID sub-TLV (refer Section 9.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
Where: Where:
Type: 2 octet field with value TBD, see Section 12. Type: 2 octet field with value TBD, see Section 11.
Length: 2 octet field with the value 4. Length: 2 octet field with the value 4.
LB Length: 1 octet field. SRv6 SID Locator Block length in bits. LB Length: 1 octet field. SRv6 SID Locator Block length in bits.
LN Length: 1 octet field. SRv6 SID Locator Node length in bits. LN Length: 1 octet field. SRv6 SID Locator Node length in bits.
Function Length: 1 octet field. SRv6 SID Function length in bits. Function Length: 1 octet field. SRv6 SID Function length in bits.
Argument Length: 1 octet field. SRv6 SID Argument length in bits. Argument Length: 1 octet field. SRv6 SID Argument length in bits.
11. 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] 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.
12. IANA Considerations 11. IANA Considerations
This document specifies updates to multiple OSPF and OSPFv3 related This document specifies updates to multiple OSPF and OSPFv3 related
IANA registries as follows. IANA registries as follows.
12.1. OSPF Router Information TLVs 11.1. OSPF Router Information TLVs
This document proposes the following new code point in the "OSPF This document proposes the following new code point in the "OSPF
Router Information (RI) TLVs" registry under the "OSPF Parameters" Router Information (RI) TLVs" registry under the "OSPF Parameters"
registry for the new TLVs: registry for the new TLVs:
Type TBD (suggested 17): SRv6-Capabilities TLV: Refer to Type TBD (suggested 17): SRv6-Capabilities TLV: Refer to
Section 2. Section 2.
12.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 7. o Type TBD (suggested 42): SRv6 Locator LSA: Refer to Section 6.
12.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 10. 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 9.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 9.2. Section 8.2.
12.4. OSPFv3 Locator LSA TLVs 11.4. OSPFv3 Locator LSA TLVs
This document proposes setting up of a new "OSPFv3 Locator LSA TLVs" This document proposes setting up of a new "OSPFv3 Locator LSA TLVs"
registry that defines top-level TLVs for the OSPFv3 SRv6 Locator LSA registry that defines top-level TLVs for the OSPFv3 SRv6 Locator LSA
to be added under the "OSPFv3 Parameters" registry. The initial to be added under the "OSPFv3 Parameters" registry. The initial
code-points assignment is as below: code-points assignment is as below:
o Type 0: Reserved. o Type 0: Reserved.
o Type 1: SRv6 Locator TLV : Refer to Section 7.1. o Type 1: SRv6 Locator TLV : Refer to Section 6.1.
Types in the range 2-32767 are allocated via IETF Review or IESG Types in the range 2-32767 are allocated via IETF Review or IESG
Approval [RFC8126]. 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.
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.
12.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 8. o Type 1: SRv6 End SID sub-TLV : Refer to Section 7.
o Type 10: SRv6 SID Structure Sub-TLV : Refer to Section 10. 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.
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.
12.6. Prefix Attribute bits Option 12. Acknowledgements
This document adds a new bit in the "Bit Values for prefix options"
registry:
Bit #: 1
Description: A bit
Reference: Refer to Section 5.
13. Acknowledgements
The authors would like to thank Chenzichao for their review and The authors would like to thank Chenzichao for their review and
comments on this document. comments on this document.
14. References 13. References
14.1. Normative References 13.1. Normative References
[I-D.ali-spring-srv6-oam] [I-D.ali-spring-srv6-oam]
Ali, Z., Filsfils, C., Kumar, N., Pignataro, C., Ali, Z., Filsfils, C., Kumar, N., Pignataro, C.,
faiqbal@cisco.com, f., Gandhi, R., Leddy, J., Matsushima, faiqbal@cisco.com, f., Gandhi, R., Leddy, J., Matsushima,
S., Raszuk, R., daniel.voyer@bell.ca, d., Dawra, G., S., Raszuk, R., daniel.voyer@bell.ca, d., Dawra, G.,
Peirens, B., Chen, M., and G. Naik, "Operations, Peirens, B., Chen, M., and G. Naik, "Operations,
Administration, and Maintenance (OAM) in Segment Routing Administration, and Maintenance (OAM) in Segment Routing
Networks with IPv6 Data plane (SRv6)", draft-ali-spring- Networks with IPv6 Data plane (SRv6)", draft-ali-spring-
srv6-oam-02 (work in progress), October 2018. srv6-oam-02 (work in progress), October 2018.
[I-D.ietf-6man-segment-routing-header] [I-D.ietf-6man-segment-routing-header]
Filsfils, C., Dukes, D., Previdi, S., Leddy, J., Filsfils, C., Dukes, D., Previdi, S., Leddy, J.,
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header Matsushima, S., and d. daniel.voyer@bell.ca, "IPv6 Segment
(SRH)", draft-ietf-6man-segment-routing-header-26 (work in Routing Header (SRH)", draft-ietf-6man-segment-routing-
progress), October 2019. header-22 (work in progress), November 2019.
[I-D.ietf-lsr-isis-srv6-extensions] [I-D.ietf-lsr-isis-srv6-extensions]
Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and
Z. Hu, "IS-IS Extension to Support Segment Routing over Z. Hu, "IS-IS Extension to Support Segment Routing over
IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-02 IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-02
(work in progress), July 2019. (work in progress), July 2019.
[I-D.ietf-ospf-ospfv3-segment-routing-extensions] [I-D.ietf-ospf-ospfv3-segment-routing-extensions]
Psenak, P. and S. Previdi, "OSPFv3 Extensions for Segment Psenak, P. and S. Previdi, "OSPFv3 Extensions for Segment
Routing", draft-ietf-ospf-ospfv3-segment-routing- Routing", draft-ietf-ospf-ospfv3-segment-routing-
extensions-23 (work in progress), January 2019. extensions-23 (work in progress), January 2019.
[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-27 (work in progress), December 2018. routing-extensions-27 (work in progress), December 2018.
[I-D.ietf-spring-srv6-network-programming] [I-D.ietf-spring-srv6-network-programming]
Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., Filsfils, C., Camarillo, P., Leddy, J.,
Matsushima, S., and Z. Li, "SRv6 Network Programming", daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6
draft-ietf-spring-srv6-network-programming-05 (work in Network Programming", draft-ietf-spring-srv6-network-
progress), October 2019. programming-01 (work in progress), July 2019.
[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>.
[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>.
skipping to change at page 21, line 47 skipping to change at page 20, line 42
[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>.
[RFC8476] Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, [RFC8476] Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak,
"Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476, "Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476,
DOI 10.17487/RFC8476, December 2018, DOI 10.17487/RFC8476, December 2018,
<https://www.rfc-editor.org/info/rfc8476>. <https://www.rfc-editor.org/info/rfc8476>.
14.2. Informative References 13.2. Informative References
[RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
(TE) Extensions to OSPF Version 2", RFC 3630, (TE) Extensions to OSPF Version 2", RFC 3630,
DOI 10.17487/RFC3630, September 2003, DOI 10.17487/RFC3630, September 2003,
<https://www.rfc-editor.org/info/rfc3630>. <https://www.rfc-editor.org/info/rfc3630>.
Authors' Addresses Authors' Addresses
Zhenbin Li Zhenbin Li
Huawei Technologies Huawei Technologies
 End of changes. 41 change blocks. 
103 lines changed or deleted 66 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/