| < draft-ietf-ospf-segment-routing-extensions-03.txt | draft-ietf-ospf-segment-routing-extensions-04.txt > | |||
|---|---|---|---|---|
| Open Shortest Path First IGP P. Psenak, Ed. | Open Shortest Path First IGP P. Psenak, Ed. | |||
| Internet-Draft S. Previdi, Ed. | Internet-Draft S. Previdi, Ed. | |||
| Intended status: Standards Track C. Filsfils | Intended status: Standards Track C. Filsfils | |||
| Expires: June 5, 2015 Cisco Systems, Inc. | Expires: August 5, 2015 Cisco Systems, Inc. | |||
| H. Gredler | H. Gredler | |||
| Juniper Networks, Inc. | Juniper Networks, Inc. | |||
| R. Shakir | R. Shakir | |||
| British Telecom | British Telecom | |||
| W. Henderickx | W. Henderickx | |||
| Alcatel-Lucent | Alcatel-Lucent | |||
| J. Tantsura | J. Tantsura | |||
| Ericsson | Ericsson | |||
| December 2, 2014 | February 1, 2015 | |||
| OSPF Extensions for Segment Routing | OSPF Extensions for Segment Routing | |||
| draft-ietf-ospf-segment-routing-extensions-03 | draft-ietf-ospf-segment-routing-extensions-04 | |||
| 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 within IGP topologies by encoding paths as sequences of | paths within IGP topologies by encoding paths as sequences of | |||
| topological sub-paths, called "segments". These segments are | topological sub-paths, called "segments". These segments are | |||
| advertised by the link-state routing protocols (IS-IS and OSPF). | advertised by the link-state routing protocols (IS-IS and OSPF). | |||
| This draft describes the OSPF extensions required for Segment | This draft describes the OSPF extensions required for Segment | |||
| Routing. | Routing. | |||
| skipping to change at page 2, line 4 ¶ | skipping to change at page 2, line 4 ¶ | |||
| 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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 June 5, 2015. | This Internet-Draft will expire on August 5, 2015. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2015 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 | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://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 | |||
| skipping to change at page 2, line 43 ¶ | skipping to change at page 2, line 43 ¶ | |||
| 6.2. ERO Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . 14 | 6.2. ERO Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 6.2.1. IPv4 ERO Sub-TLV . . . . . . . . . . . . . . . . . . 15 | 6.2.1. IPv4 ERO Sub-TLV . . . . . . . . . . . . . . . . . . 15 | |||
| 6.2.2. Unnumbered Interface ID ERO Sub-TLV . . . . . . . . . 16 | 6.2.2. Unnumbered Interface ID ERO Sub-TLV . . . . . . . . . 16 | |||
| 6.2.3. IPv4 Backup ERO Sub-TLV . . . . . . . . . . . . . . . 17 | 6.2.3. IPv4 Backup ERO Sub-TLV . . . . . . . . . . . . . . . 17 | |||
| 6.2.4. Unnumbered Interface ID Backup ERO Sub-TLV . . . . . 18 | 6.2.4. Unnumbered Interface ID Backup ERO Sub-TLV . . . . . 18 | |||
| 7. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 19 | 7. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 19 | |||
| 7.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 19 | 7.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 7.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 20 | 7.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 20 | |||
| 8. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 22 | 8. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 22 | |||
| 8.1. Intra-area Segment routing in OSPFv2 . . . . . . . . . . 22 | 8.1. Intra-area Segment routing in OSPFv2 . . . . . . . . . . 22 | |||
| 8.2. Inter-area Segment routing in OSPFv2 . . . . . . . . . . 22 | 8.2. Inter-area Segment routing in OSPFv2 . . . . . . . . . . 23 | |||
| 8.3. SID for External Prefixes . . . . . . . . . . . . . . . . 23 | 8.3. SID for External Prefixes . . . . . . . . . . . . . . . . 24 | |||
| 8.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 24 | 8.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 24 | |||
| 8.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 24 | 8.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 24 | |||
| 8.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 24 | 8.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 25 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 9.1. OSPF OSPF Router Information (RI) TLVs Registry . . . . . 25 | 9.1. OSPF OSPF Router Information (RI) TLVs Registry . . . . . 25 | |||
| 9.2. OSPF Extended Prefix LSA TLV Registry . . . . . . . . . . 25 | 9.2. OSPF Extended Prefix LSA TLV Registry . . . . . . . . . . 25 | |||
| 9.3. OSPF Extended Prefix LSA Sub-TLV Registry . . . . . . . . 25 | 9.3. OSPF Extended Prefix LSA Sub-TLV Registry . . . . . . . . 25 | |||
| 9.4. OSPF Extended Link LSA Sub-TLV Registry . . . . . . . . . 25 | 9.4. OSPF Extended Link LSA Sub-TLV Registry . . . . . . . . . 26 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 25 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 26 | |||
| 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 26 | 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 26 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 26 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 26 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 27 | 13.2. Informative References . . . . . . . . . . . . . . . . . 27 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 1. Introduction | 1. Introduction | |||
| 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 within IGP topologies by encoding paths as sequences of | paths within IGP topologies by encoding paths as sequences of | |||
| topological sub-paths, called "segments". These segments are | topological sub-paths, called "segments". These segments are | |||
| advertised by the link-state routing protocols (IS-IS and OSPF). | advertised by the link-state routing protocols (IS-IS and OSPF). | |||
| Prefix segments represent an ecmp-aware shortest-path to a prefix (or | Prefix segments represent an ecmp-aware shortest-path to a prefix (or | |||
| a node), as per the state of the IGP topology. Adjacency segments | a node), as per the state of the IGP topology. Adjacency segments | |||
| represent a hop over a specific adjacency between two nodes in the | represent a hop over a specific adjacency between two nodes in the | |||
| skipping to change at page 3, line 34 ¶ | skipping to change at page 3, line 34 ¶ | |||
| plane can be applied to both IPv6 and MPLS data-planes, and does not | plane can be applied to both IPv6 and MPLS data-planes, and does not | |||
| require any additional signalling (other than IGP extensions). For | require any additional signalling (other than IGP extensions). For | |||
| example, when used in MPLS networks, SR paths do not require any LDP | example, when used in MPLS networks, SR paths do not require any LDP | |||
| or RSVP-TE signalling. However, SR can interoperate in the presence | or RSVP-TE signalling. However, SR can interoperate in the presence | |||
| of LSPs established with RSVP or LDP. | of LSPs established with RSVP or LDP. | |||
| This draft describes the OSPF extensions required for Segment | This draft describes the OSPF extensions required for Segment | |||
| Routing. | Routing. | |||
| Segment Routing architecture is described in | Segment Routing architecture is described in | |||
| [I-D.filsfils-rtgwg-segment-routing]. | [I-D.ietf-spring-segment-routing]. | |||
| Segment Routing use cases are described in | Segment Routing use cases are described in | |||
| [I-D.filsfils-rtgwg-segment-routing-use-cases]. | [I-D.filsfils-spring-segment-routing-use-cases]. | |||
| 2. Segment Routing Identifiers | 2. 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. | |||
| For the purpose of the advertisements of various SID values, new | For the purpose of the advertisements of various SID values, new | |||
| Opaque LSAs [RFC5250] are defined in | Opaque LSAs [RFC5250] are defined in | |||
| [I-D.ietf-ospf-prefix-link-attr]. These new LSAs are defined as | [I-D.ietf-ospf-prefix-link-attr]. These new LSAs are defined as | |||
| generic containers that can be used to advertise any additional | generic containers that can be used to advertise any additional | |||
| skipping to change at page 7, line 36 ¶ | skipping to change at page 7, line 36 ¶ | |||
| ... | ... | |||
| The RI LSA can be advertised at any of the defined flooding scopes | The RI LSA can be advertised at any of the defined flooding scopes | |||
| (link, area, or autonomous system (AS)). For the purposes of the SR- | (link, area, or autonomous system (AS)). For the purposes of the SR- | |||
| Capability TLV propagation, area scope flooding is required. | Capability TLV propagation, area scope flooding is required. | |||
| 4. OSPF Extended Prefix Range TLV | 4. OSPF Extended Prefix Range TLV | |||
| In some cases it is useful to advertise attributes for the range of | In some cases it is useful to advertise attributes for the range of | |||
| prefixes. Segment Routing Mapping Server, which is described in | prefixes. Segment Routing Mapping Server, which is described in | |||
| [I-D.filsfils-rtgwg-segment-routing] is an example, where we need a | [I-D.filsfils-spring-segment-routing-ldp-interop], is an example, | |||
| single advertisement to advertise SIDs for multiple prefixes from a | where we need a single advertisement to advertise SIDs for multiple | |||
| contiguous address range. | prefixes from a contiguous address range. | |||
| OSPF Extended Prefix Range TLV, which is a new top level TLV of the | OSPF Extended Prefix Range TLV, which is a new top level TLV of the | |||
| Extended Prefix LSA described in [I-D.ietf-ospf-prefix-link-attr] is | Extended Prefix LSA described in [I-D.ietf-ospf-prefix-link-attr] is | |||
| defined for this purpose. | defined for this purpose. | |||
| Multiple OSPF Extended Prefix Range TLVs MAY be advertised in each | Multiple OSPF Extended Prefix Range TLVs MAY be advertised in each | |||
| OSPF Extended Prefix Opaque LSA, but all prefix ranges included in a | OSPF Extended Prefix Opaque LSA, but all prefix ranges included in a | |||
| single OSPF Extended Prefix Opaque LSA MUST have the same flooding | single OSPF Extended Prefix Opaque LSA MUST have the same flooding | |||
| scope. The OSPF Extended Prefix Range TLV has the following format: | scope. The OSPF Extended Prefix Range TLV has the following format: | |||
| skipping to change at page 9, line 47 ¶ | skipping to change at page 9, line 47 ¶ | |||
| where: | where: | |||
| Type: TBD, suggested value 2. | Type: TBD, suggested value 2. | |||
| Length: variable | Length: variable | |||
| Flags: 1 octet field. The following flags are defined: | Flags: 1 octet field. The following flags are defined: | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +--+--+--+--+--+--+--+--+ | +--+--+--+--+--+--+--+--+ | |||
| |N |NP|M |E |V |L | | | | | |NP|M |E |V |L | | | | |||
| +--+--+--+--+--+--+--+--+ | +--+--+--+--+--+--+--+--+ | |||
| where: | where: | |||
| N-Flag: Node-SID flag. If set, then the Prefix-SID refers to | ||||
| the router identified by the prefix. Typically, the N-Flag is | ||||
| set to Prefix-SIDs corresponding to a router loopback address. | ||||
| The N-Flag is set when the Prefix-SID is a Node-SID, as | ||||
| described in [I-D.filsfils-rtgwg-segment-routing]. | ||||
| NP-Flag: No-PHP flag. If set, then the penultimate hop MUST | NP-Flag: No-PHP flag. If set, then the penultimate hop MUST | |||
| NOT pop the Prefix-SID before delivering the packet to the node | NOT pop the Prefix-SID before delivering the packet to the node | |||
| that advertised the Prefix-SID. | that advertised the Prefix-SID. | |||
| M-Flag: Mapping Server Flag. If set, the SID is advertised | M-Flag: Mapping Server Flag. If set, the SID is advertised | |||
| from the Segment Routing Mapping Server functionality as | from the Segment Routing Mapping Server functionality as | |||
| described in [I-D.filsfils-rtgwg-segment-routing]. | described in [I-D.filsfils-spring-segment-routing-ldp-interop]. | |||
| E-Flag: Explicit-Null Flag. If set, any upstream neighbor of | E-Flag: Explicit-Null Flag. If set, any upstream neighbor of | |||
| the Prefix-SID originator MUST replace the Prefix-SID with a | the Prefix-SID originator MUST replace the Prefix-SID with a | |||
| Prefix-SID having an Explicit-NULL value (0 for IPv4) before | Prefix-SID having an Explicit-NULL value (0 for IPv4) before | |||
| forwarding the packet. | forwarding the packet. | |||
| V-Flag: Value/Index Flag. If set, then the Prefix-SID carries | V-Flag: Value/Index Flag. If set, then the Prefix-SID carries | |||
| an absolute value. If not set, then the Prefix-SID carries an | an absolute value. If not set, then the Prefix-SID carries an | |||
| index. | index. | |||
| skipping to change at page 13, line 51 ¶ | skipping to change at page 13, line 46 ¶ | |||
| where: | where: | |||
| M-bit - When the bit is set the binding represents the | M-bit - When the bit is set the binding represents the | |||
| mirroring context as defined in | mirroring context as defined in | |||
| [I-D.minto-rsvp-lsp-egress-fast-protection]. | [I-D.minto-rsvp-lsp-egress-fast-protection]. | |||
| MT-ID: Multi-Topology ID (as defined in [RFC4915]). | MT-ID: Multi-Topology ID (as defined in [RFC4915]). | |||
| 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 [I-D.filsfils-rtgwg-segment-routing]. | weight is defined in [I-D.ietf-spring-segment-routing]. | |||
| The SID/Label Binding TLV supports the following Sub-TLVs: | The SID/Label Binding TLV supports the following Sub-TLVs: | |||
| SID/Label Sub-TLV as described in Section 2.1. This Sub-TLV MUST | SID/Label Sub-TLV as described in Section 2.1. This Sub-TLV MUST | |||
| appear in the SID/Label Binding Sub-TLV and it MUST only appear | appear in the SID/Label Binding Sub-TLV and it MUST only appear | |||
| once. | once. | |||
| ERO Metric Sub-TLV as defined in Section 6.1. | ERO Metric Sub-TLV as defined in Section 6.1. | |||
| ERO Sub-TLVs as defined in Section 6.2. | ERO Sub-TLVs as defined in Section 6.2. | |||
| skipping to change at page 19, line 20 ¶ | skipping to change at page 19, line 20 ¶ | |||
| 7. 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. | |||
| 7.1. Adj-SID Sub-TLV | 7.1. Adj-SID Sub-TLV | |||
| Adj-SID is an optional Sub-TLV of the Extended Link TLV defined in | Adj-SID is an optional Sub-TLV of the Extended Link TLV defined in | |||
| [I-D.ietf-ospf-prefix-link-attr]. It MAY appear multiple times in | [I-D.ietf-ospf-prefix-link-attr]. It MAY appear multiple times in | |||
| the Extended Link TLV. Examples where more than one Adj-SID may be | the Extended Link TLV. Examples where more than one Adj-SID may be | |||
| used per neighbor are described in | used per neighbor are described in section 4 of | |||
| [I-D.filsfils-rtgwg-segment-routing-use-cases]. The Adj-SID Sub-TLV | [I-D.filsfils-spring-segment-routing-use-cases]. The Adj-SID Sub-TLV | |||
| has the following format: | 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | Reserved | MT-ID | Weight | | | Flags | Reserved | MT-ID | Weight | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID/Label/Index (variable) | | | SID/Label/Index (variable) | | |||
| skipping to change at page 19, line 51 ¶ | skipping to change at page 19, line 51 ¶ | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| |B|V|L|S| | | |B|V|L|S| | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| where: | where: | |||
| B-Flag: Backup Flag. If set, the Adj-SID refers to an | B-Flag: Backup Flag. If set, the Adj-SID refers to an | |||
| adjacency being protected (e.g.: using IPFRR or MPLS-FRR) as | adjacency being protected (e.g.: using IPFRR or MPLS-FRR) as | |||
| described in [I-D.filsfils-rtgwg-segment-routing-use-cases]. | described in section 3.1 of | |||
| [I-D.filsfils-spring-segment-routing-use-cases]. | ||||
| The V-Flag: Value/Index Flag. If set, then the Prefix-SID | The V-Flag: Value/Index Flag. If set, then the Adj-SID carries | |||
| carries an absolute value. If not set, then the Prefix-SID | an absolute value. If not set, then the Adj-SID carries an | |||
| carries an index. | index. | |||
| The L-Flag: Local/Global Flag. If set, then the value/index | The L-Flag: Local/Global Flag. If set, then the value/index | |||
| carried by the Prefix-SID has local significance. If not set, | carried by the Adj-SID has local significance. If not set, | |||
| then the value/index carried by this Sub-TLV has global | then the value/index carried by this Sub-TLV has global | |||
| significance. | significance. | |||
| The S-Flag. Set Flag. When set, the S-Flag indicates that the | The S-Flag. Set Flag. When set, the S-Flag indicates that the | |||
| Adj-SID refers to a set of adjacencies (and therefore MAY be | Adj-SID refers to a set of adjacencies (and therefore MAY be | |||
| assigned to other adjacencies as well). | assigned to other adjacencies as well). | |||
| 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. | |||
| MT-ID: Multi-Topology ID (as defined in [RFC4915]. | MT-ID: Multi-Topology ID (as defined in [RFC4915]. | |||
| 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 [I-D.filsfils-rtgwg-segment-routing]. | weight is defined in [I-D.ietf-spring-segment-routing]. | |||
| 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. | |||
| An SR capable router MAY allocate an Adj-SID for each of its | An SR capable router MAY allocate an Adj-SID for each of its | |||
| adjacencies and set the B-Flag when the adjacency is protected by an | adjacencies and set the B-Flag when the adjacency is protected by an | |||
| FRR mechanism (IP or MPLS) as described in | FRR mechanism (IP or MPLS) as described in section 3.1 of | |||
| [I-D.filsfils-rtgwg-segment-routing-use-cases]. | [I-D.filsfils-spring-segment-routing-use-cases]. | |||
| 7.2. LAN Adj-SID Sub-TLV | 7.2. LAN Adj-SID Sub-TLV | |||
| LAN Adj-SID is an optional Sub-TLV of the Extended Link TLV defined | LAN Adj-SID is an optional Sub-TLV of the Extended Link TLV defined | |||
| in [I-D.ietf-ospf-prefix-link-attr]. It MAY appear multiple times in | in [I-D.ietf-ospf-prefix-link-attr]. It MAY appear multiple times in | |||
| the Extended-Link TLV. It is used to advertise a SID/Label for an | the Extended-Link TLV. It is used to advertise a SID/Label for an | |||
| adjacency to a non-DR node on a broadcast or NBMA network. | adjacency to a non-DR node on a broadcast or NBMA 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 | |||
| skipping to change at page 21, line 34 ¶ | skipping to change at page 21, line 34 ¶ | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| |B|V|L|S| | | |B|V|L|S| | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| where: | where: | |||
| B-Flag: Backup-flag: set if the LAN-Adj-SID refer to an | B-Flag: Backup-flag: set if the LAN-Adj-SID refer to an | |||
| adjacency being protected (e.g.: using IPFRR or MPLS-FRR) as | adjacency being protected (e.g.: using IPFRR or MPLS-FRR) as | |||
| described in [I-D.filsfils-rtgwg-segment-routing-use-cases]. | described in section 3.1 of | |||
| [I-D.filsfils-spring-segment-routing-use-cases]. | ||||
| The V-Flag: Value/Index Flag. If set, then the Prefix-SID | The V-Flag: Value/Index Flag. If set, then the Prefix-SID | |||
| carries an absolute value. If not set, then the Prefix-SID | carries an absolute value. If not set, then the Prefix-SID | |||
| carries an index. | carries an index. | |||
| The L-Flag: Local/Global Flag. If set, then the value/index | The L-Flag: Local/Global Flag. If set, then the value/index | |||
| carried by the Prefix-SID has local significance. If not set, | carried by the Prefix-SID has local significance. If not set, | |||
| then the value/index carried by this Sub-TLV has global | then the value/index carried by this Sub-TLV has global | |||
| significance. | significance. | |||
| The S-Flag. Set Flag. When set, the S-Flag indicates that the | The S-Flag. Set Flag. When set, the S-Flag indicates that the | |||
| Adj-SID refers to a set of adjacencies (and therefore MAY be | Adj-SID refers to a set of adjacencies (and therefore MAY be | |||
| assigned to other adjacencies as well). | assigned to other adjacencies as well). | |||
| 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. | |||
| MT-ID: Multi-Topology ID (as defined in [RFC4915]. | MT-ID: Multi-Topology ID (as defined in [RFC4915]. | |||
| 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 [I-D.filsfils-rtgwg-segment-routing]. | weight is defined in [I-D.ietf-spring-segment-routing]. | |||
| 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 22, line 31 ¶ | skipping to change at page 22, line 33 ¶ | |||
| An OSPFv2 router that supports segment routing MAY advertise Prefix- | An OSPFv2 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 5). | |||
| If multiple routers advertise a Prefix-SID for the same prefix, then | If multiple routers advertise a Prefix-SID for the same prefix, then | |||
| the Prefix-SID MUST be the same. This is required in order to allow | the Prefix-SID MUST be the same. This is required in order to allow | |||
| traffic load-balancing when multiple equal cost paths to the | traffic load-balancing when multiple equal cost paths to the | |||
| destination exist in the network. | destination exist in the network. | |||
| Prefix-SID can also be advertised by the SR Mapping Servers (as | Prefix-SID can also be advertised by the SR Mapping Servers (as | |||
| described in [I-D.filsfils-rtgwg-segment-routing-use-cases]). The | described in [I-D.filsfils-spring-segment-routing-ldp-interop]). The | |||
| Mapping Server advertises Prefix-SIDs for remote prefixes that exist | Mapping Server advertises Prefix-SIDs for remote prefixes that exist | |||
| in the OSPFv2 routing domain. Multiple Mapping Servers can advertise | in the OSPFv2 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 flooding scope of the OSPF | MUST be advertised by all of them. The flooding scope of the OSPF | |||
| Extended Prefix Opaque LSA that is generated by the SR Mapping Server | Extended Prefix Opaque LSA that is generated by the SR Mapping Server | |||
| could be either area scoped or AS scoped and is determined based on | could be either area scoped or AS scoped and is determined based on | |||
| the configuration of the SR Mapping Server. | the configuration of the SR Mapping Server. | |||
| SR Mapping Server MUST use OSPF Extended Prefix Range TLV when | ||||
| advertising SIDs for prefixes. Prefixes of different route-types can | ||||
| be combined in a single OSPF Extended Prefix Range TLV advertised by | ||||
| the SR Mapping Server. | ||||
| Area scoped OSPF Extended Prefix Range TLV are propagated between | ||||
| areas. Similar to propagation of prefixes between areas, ABR only | ||||
| propagates the OSPF Extended Prefix Range TLV that it considers to be | ||||
| the best from the set it received. The rules used to pick the best | ||||
| OSPF Extended Prefix Range TLV is described in Section 4. | ||||
| When propagating OSPF Extended Prefix Range TLV between areas, ABR | ||||
| MUST set the IA-Flag, that is used to prevent redundant flooding of | ||||
| the OSPF Extended Prefix Range TLV between areas as described in | ||||
| Section 4. | ||||
| If the Prefix-SID that is advertised in Prefix SID Sub-TLV is also | ||||
| covered by the OSPF Extended Prefix Range TLV, the Prefix-SID | ||||
| advertised in Prefix SID Sub-TLV MUST be preferred. | ||||
| 8.2. Inter-area Segment routing in OSPFv2 | 8.2. Inter-area Segment routing in OSPFv2 | |||
| In order to support SR in a multi-area environment, OSPFv2 must | In order to support SR in a multi-area environment, OSPFv2 must | |||
| propagate Prefix-SID information between areas. The following | propagate Prefix-SID information between areas. The following | |||
| procedure is used in order to propagate Prefix SIDs between areas. | procedure is used in order to propagate Prefix SIDs between areas. | |||
| When an OSPF ABR advertises a Type-3 Summary LSA from an intra-area | When an OSPF ABR advertises a Type-3 Summary LSA from an intra-area | |||
| prefix to all its connected areas, it will also originate an Extended | prefix to all its connected areas, it will also originate an Extended | |||
| Prefix Opaque LSA, as described in [I-D.ietf-ospf-prefix-link-attr]. | Prefix Opaque LSA, as described in [I-D.ietf-ospf-prefix-link-attr]. | |||
| The flooding scope of the Extended Prefix Opaque LSA type will be set | The flooding scope of the Extended Prefix Opaque LSA type will be set | |||
| skipping to change at page 23, line 17 ¶ | skipping to change at page 23, line 40 ¶ | |||
| 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 (e.g.: a Prefix-SID coming from an SR Mapping Server as | router (e.g.: a Prefix-SID coming from an SR Mapping Server as | |||
| defined in [I-D.filsfils-rtgwg-segment-routing-use-cases]) when | defined in [I-D.filsfils-spring-segment-routing-ldp-interop]) when | |||
| propagating the Prefix-SID for the prefix to other areas. | propagating the Prefix-SID for the prefix to other areas. | |||
| When an OSPF ABR advertises Type-3 Summary LSAs from an inter-area | When an OSPF ABR advertises Type-3 Summary LSAs from an inter-area | |||
| route to all its connected areas it will also originate an Extended | route to all its connected areas it will also originate an Extended | |||
| Prefix Opaque LSA, as described in [I-D.ietf-ospf-prefix-link-attr]. | Prefix Opaque LSA, as described in [I-D.ietf-ospf-prefix-link-attr]. | |||
| The flooding scope of the Extended Prefix Opaque LSA type will be set | The flooding scope of the Extended Prefix Opaque LSA type will be set | |||
| to area-scope. The route-type in OSPF Extended Prefix TLV is set to | to area-scope. The route-type in OSPF Extended Prefix TLV is set to | |||
| inter-area. The Prefix-SID Sub-TLV will be included in this LSA and | inter-area. The Prefix-SID Sub-TLV will be included in this LSA and | |||
| the Prefix-SID will be set as follows: | the Prefix-SID will be set as follows: | |||
| skipping to change at page 23, line 40 ¶ | skipping to change at page 24, line 17 ¶ | |||
| 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 ABR that contributes to the best path to the prefix, the | by the ABR 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 (e.g.: a Prefix-SID coming from an SR Mapping Server as | router (e.g.: a Prefix-SID coming from an SR Mapping Server as | |||
| defined in [I-D.filsfils-rtgwg-segment-routing-use-cases]) when | defined in [I-D.filsfils-spring-segment-routing-ldp-interop]) when | |||
| propagating the Prefix-SID for the prefix to other areas. | propagating the Prefix-SID for the prefix to other areas. | |||
| 8.3. SID for External Prefixes | 8.3. SID for External Prefixes | |||
| Type-5 LSAs are flooded domain wide. When an ASBR, which supports | Type-5 LSAs are flooded domain wide. When an ASBR, which supports | |||
| SR, generates Type-5 LSAs, it should also originate an Extended | SR, generates Type-5 LSAs, it should also originate an Extended | |||
| Prefix Opaque LSAs, as described in [I-D.ietf-ospf-prefix-link-attr]. | Prefix Opaque LSAs, as described in [I-D.ietf-ospf-prefix-link-attr]. | |||
| The flooding scope of the Extended Prefix Opaque LSA type is set to | The flooding scope of the Extended Prefix Opaque LSA type is set to | |||
| AS-scope. The route-type in the OSPF Extended Prefix TLV is set to | AS-scope. The route-type in the OSPF Extended Prefix TLV is set to | |||
| external. The Prefix-SID Sub-TLV is included in this LSA and the | external. The Prefix-SID Sub-TLV is included in this LSA and the | |||
| skipping to change at page 24, line 13 ¶ | skipping to change at page 24, line 39 ¶ | |||
| that prefix. | that prefix. | |||
| When an NSSA ABR translates Type-7 LSAs into Type-5 LSAs, it should | When an NSSA ABR translates Type-7 LSAs into Type-5 LSAs, it should | |||
| also advertise the Prefix-SID for the prefix. The NSSA ABR | also advertise the Prefix-SID for the prefix. The NSSA ABR | |||
| determines its best path to the prefix advertised in the translated | determines its best path to the prefix advertised in the translated | |||
| Type-7 LSA and finds the advertising router associated with that | Type-7 LSA and finds the advertising router associated with that | |||
| path. If the advertising router has advertised a Prefix-SID for the | path. If the advertising router has advertised a Prefix-SID for the | |||
| prefix, then the NSSA ABR uses it when advertising the Prefix-SID for | prefix, then the NSSA ABR uses it when advertising the Prefix-SID for | |||
| the Type-5 prefix. Otherwise, the Prefix-SID advertised by any other | the Type-5 prefix. Otherwise, the Prefix-SID advertised by any other | |||
| router will be used (e.g.: a Prefix-SID coming from an SR Mapping | router will be used (e.g.: a Prefix-SID coming from an SR Mapping | |||
| Server as defined in [I-D.filsfils-rtgwg-segment-routing-use-cases]). | Server as defined in | |||
| [I-D.filsfils-spring-segment-routing-ldp-interop]). | ||||
| 8.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 7. | using the Adj-SID Sub-TLV as described in Section 7. | |||
| 8.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 | |||
| skipping to change at page 27, line 10 ¶ | skipping to change at page 27, line 32 ¶ | |||
| [RFC4970] Lindem, A., Shen, N., Vasseur, JP., Aggarwal, R., and S. | [RFC4970] Lindem, A., Shen, N., Vasseur, JP., Aggarwal, R., and S. | |||
| Shaffer, "Extensions to OSPF for Advertising Optional | Shaffer, "Extensions to OSPF for Advertising Optional | |||
| Router Capabilities", RFC 4970, July 2007. | Router Capabilities", RFC 4970, July 2007. | |||
| [RFC5250] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The | [RFC5250] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The | |||
| OSPF Opaque LSA Option", RFC 5250, July 2008. | OSPF Opaque LSA Option", RFC 5250, July 2008. | |||
| 13.2. Informative References | 13.2. Informative References | |||
| [I-D.filsfils-rtgwg-segment-routing] | [I-D.filsfils-spring-segment-routing-ldp-interop] | |||
| Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., | Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., | |||
| Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., | Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., | |||
| Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe, | Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe, | |||
| "Segment Routing Architecture", draft-filsfils-rtgwg- | "Segment Routing interoperability with LDP", draft- | |||
| segment-routing-01 (work in progress), October 2013. | filsfils-spring-segment-routing-ldp-interop-02 (work in | |||
| progress), September 2014. | ||||
| [I-D.filsfils-rtgwg-segment-routing-use-cases] | [I-D.filsfils-spring-segment-routing-use-cases] | |||
| Filsfils, C., Francois, P., Previdi, S., Decraene, B., | Filsfils, C., Francois, P., Previdi, S., Decraene, B., | |||
| Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., | Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., | |||
| Ytti, S., Henderickx, W., Tantsura, J., Kini, S., and E. | Ytti, S., Henderickx, W., Tantsura, J., Kini, S., and E. | |||
| Crabbe, "Segment Routing Use Cases", draft-filsfils-rtgwg- | Crabbe, "Segment Routing Use Cases", draft-filsfils- | |||
| segment-routing-use-cases-02 (work in progress), October | spring-segment-routing-use-cases-01 (work in progress), | |||
| 2013. | October 2014. | |||
| [I-D.gredler-ospf-label-advertisement] | [I-D.gredler-ospf-label-advertisement] | |||
| Gredler, H., Amante, S., Scholl, T., and L. Jalil, | Gredler, H., Amante, S., Scholl, T., and L. Jalil, | |||
| "Advertising MPLS labels in OSPF", draft-gredler-ospf- | "Advertising MPLS labels in OSPF", draft-gredler-ospf- | |||
| label-advertisement-03 (work in progress), May 2013. | label-advertisement-03 (work in progress), May 2013. | |||
| [I-D.ietf-ospf-prefix-link-attr] | [I-D.ietf-ospf-prefix-link-attr] | |||
| Psenak, P., Gredler, H., Shakir, R., Henderickx, W., | Psenak, P., Gredler, H., Shakir, R., Henderickx, W., | |||
| Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute | Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute | |||
| Advertisement", draft-ietf-ospf-prefix-link-attr-01 (work | Advertisement", draft-ietf-ospf-prefix-link-attr-02 (work | |||
| in progress), September 2014. | in progress), December 2014. | |||
| [I-D.ietf-spring-segment-routing] | ||||
| Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., | ||||
| Litkowski, S., Horneffer, M., Shakir, R., Tantsura, J., | ||||
| and E. Crabbe, "Segment Routing Architecture", draft-ietf- | ||||
| spring-segment-routing-00 (work in progress), December | ||||
| 2014. | ||||
| [I-D.minto-rsvp-lsp-egress-fast-protection] | [I-D.minto-rsvp-lsp-egress-fast-protection] | |||
| Jeganathan, J., Gredler, H., and Y. Shen, "RSVP-TE LSP | Jeganathan, J., Gredler, H., and Y. Shen, "RSVP-TE LSP | |||
| egress fast-protection", draft-minto-rsvp-lsp-egress-fast- | egress fast-protection", draft-minto-rsvp-lsp-egress-fast- | |||
| protection-03 (work in progress), November 2013. | protection-03 (work in progress), November 2013. | |||
| Authors' Addresses | Authors' Addresses | |||
| Peter Psenak (editor) | Peter Psenak (editor) | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| End of changes. 34 change blocks. | ||||
| 51 lines changed or deleted | 76 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/ | ||||