| < draft-ietf-ospf-prefix-link-attr-10.txt | draft-ietf-ospf-prefix-link-attr-11.txt > | |||
|---|---|---|---|---|
| Network Working Group P. Psenak | Network Working Group P. Psenak | |||
| Internet-Draft Cisco Systems | Internet-Draft Cisco Systems | |||
| Intended status: Standards Track H. Gredler | Intended status: Standards Track H. Gredler | |||
| Expires: February 12, 2016 Juniper Networks, Inc. | Expires: February 19, 2016 Juniper Networks, Inc. | |||
| R. Shakir | R. Shakir | |||
| Individual Contributor | Individual Contributor | |||
| W. Henderickx | W. Henderickx | |||
| Alcatel-Lucent | Alcatel-Lucent | |||
| J. Tantsura | J. Tantsura | |||
| Ericsson | Ericsson | |||
| A. Lindem | A. Lindem | |||
| Cisco Systems | Cisco Systems | |||
| August 11, 2015 | August 18, 2015 | |||
| OSPFv2 Prefix/Link Attribute Advertisement | OSPFv2 Prefix/Link Attribute Advertisement | |||
| draft-ietf-ospf-prefix-link-attr-10.txt | draft-ietf-ospf-prefix-link-attr-11.txt | |||
| Abstract | Abstract | |||
| OSPFv2 requires functional extension beyond what can readily be done | OSPFv2 requires functional extension beyond what can readily be done | |||
| with the fixed-format Link State Advertisements (LSAs) as described | with the fixed-format Link State Advertisements (LSAs) as described | |||
| in RFC 2328. This document defines OSPF opaque LSAs based on Type- | in RFC 2328. This document defines OSPF opaque LSAs based on Type- | |||
| Length-Value (TLV) tuples that can be used to associate additional | Length-Value (TLV) tuples that can be used to associate additional | |||
| attributes with prefixes or links. Dependent on the application, | attributes with prefixes or links. Dependent on the application, | |||
| these prefixes and links may or not be advertised in the fixed-format | these prefixes and links may or not be advertised in the fixed-format | |||
| LSAs. The OSPF opaque LSAs are optional and fully backward | LSAs. The OSPF opaque LSAs are optional and fully backward | |||
| skipping to change at page 1, line 46 ¶ | skipping to change at page 1, line 46 ¶ | |||
| 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 February 12, 2016. | This Internet-Draft will expire on February 19, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 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 | |||
| skipping to change at page 2, line 43 ¶ | skipping to change at page 2, line 43 ¶ | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 3 | |||
| 2. OSPFv2 Extended Prefix Opaque LSA . . . . . . . . . . . . . . 3 | 2. OSPFv2 Extended Prefix Opaque LSA . . . . . . . . . . . . . . 3 | |||
| 2.1. OSPFv2 Extended Prefix TLV . . . . . . . . . . . . . . . 5 | 2.1. OSPFv2 Extended Prefix TLV . . . . . . . . . . . . . . . 5 | |||
| 3. OSPFv2 Extended Link Opaque LSA . . . . . . . . . . . . . . . 8 | 3. OSPFv2 Extended Link Opaque LSA . . . . . . . . . . . . . . . 8 | |||
| 3.1. OSPFv2 Extended Link TLV . . . . . . . . . . . . . . . . 9 | 3.1. OSPFv2 Extended Link TLV . . . . . . . . . . . . . . . . 9 | |||
| 4. Backward Compatibility . . . . . . . . . . . . . . . . . . . 10 | 4. Backward Compatibility . . . . . . . . . . . . . . . . . . . 10 | |||
| 5. Implementation Status . . . . . . . . . . . . . . . . . . . . 10 | 5. Implementation Status . . . . . . . . . . . . . . . . . . . . 10 | |||
| 5.1. Implementation Survey Results . . . . . . . . . . . . . . 11 | 5.1. Implementation Survey Results . . . . . . . . . . . . . . 11 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 7.1. OSPF Extended Prefix Opaque LSA TLV Registry . . . . . . 12 | 7.1. OSPF Extended Prefix Opaque LSA TLV Registry . . . . . . 13 | |||
| 7.2. OSPF Extended Prefix TLV Sub-TLV Registry . . . . . . . . 12 | 7.2. OSPF Extended Prefix TLV Sub-TLV Registry . . . . . . . . 13 | |||
| 7.3. OSPF Extended Link Opaque LSA TLV Registry . . . . . . . 13 | 7.3. OSPF Extended Prefix TLV Flags Registry . . . . . . . . . 13 | |||
| 7.4. OSPF Extended Link TLV Sub-TLV Registry . . . . . . . . . 13 | 7.4. OSPF Extended Link Opaque LSA TLV Registry . . . . . . . 14 | |||
| 7.5. OSPF Extended Link TLV Sub-TLV Registry . . . . . . . . . 14 | ||||
| 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 14 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 15 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 14 | 9.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | ||||
| 1. Introduction | 1. Introduction | |||
| OSPFv2 requires functional extension beyond what can readily be done | OSPFv2 requires functional extension beyond what can readily be done | |||
| with the fixed-format Link State Advertisements (LSAs) as described | with the fixed-format Link State Advertisements (LSAs) as described | |||
| in RFC 2328 [OSPFV2]. This document defines OSPF opaque LSAs based | in RFC 2328 [OSPFV2]. This document defines OSPF opaque LSAs based | |||
| on Type-Length-Value (TLV) tuples that can be used to associate | on Type-Length-Value (TLV) tuples that can be used to associate | |||
| additional attributes with prefixes or links. Dependent on the | additional attributes with prefixes or links. Dependent on the | |||
| application, these prefixes and links may or not be advertised in the | application, these prefixes and links may or not be advertised in the | |||
| fixed-format LSAs. The OSPF opaque LSAs are optional and fully | fixed-format LSAs. The OSPF opaque LSAs are optional and fully | |||
| skipping to change at page 4, line 19 ¶ | skipping to change at page 4, line 19 ¶ | |||
| mapping server deployment [SEGMENT-ROUTING]), the LSA flooding scope | mapping server deployment [SEGMENT-ROUTING]), the LSA flooding scope | |||
| may be greater than the scope of the corresponding prefixes. | may be greater than the scope of the corresponding prefixes. | |||
| The format of the OSPFv2 Extended Prefix Opaque LSA is as follows: | The format of the OSPFv2 Extended Prefix Opaque LSA is as follows: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LS age | Options | 9, 10, or 11 | | | LS age | Options | 9, 10, or 11 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Opaque type | Instance | | | Opaque type | Opaque ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Advertising Router | | | Advertising Router | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LS sequence number | | | LS sequence number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LS checksum | length | | | LS checksum | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| +- TLVs -+ | +- TLVs -+ | |||
| | ... | | | ... | | |||
| OSPFv2 Extended Prefix Opaque LSA | OSPFv2 Extended Prefix Opaque LSA | |||
| The opaque type used by OSPFv2 Extended Prefix Opaque LSA is 7. The | The opaque type used by OSPFv2 Extended Prefix Opaque LSA is 7. The | |||
| opaque type is used to differential the various type of OSPFv2 Opaque | opaque type is used to differentiate the various type of OSPFv2 | |||
| LSA and is described in section 3 of [OPAQUE]. | Opaque LSA and is described in section 3 of [OPAQUE]. The LSA | |||
| "Length" field [OSPFV2] represents the total length (in octets) of | ||||
| the Opaque LSA including the LSA header and all TLVs (including | ||||
| padding). | ||||
| The Instance field is an arbitrary value used to maintain multiple | The Opaque ID field is an arbitrary value used to maintain multiple | |||
| Extended Prefix Opaque LSAs. For OSPFv2 Extended Prefix Opaque LSAs, | Extended Prefix Opaque LSAs. For OSPFv2 Extended Prefix Opaque LSAs, | |||
| the Instance has no semantic significance other than to differentiate | the Opaque ID has no semantic significance other than to | |||
| Extended Prefix Opaque LSAs originated by the same OSPFv2 router. If | differentiate Extended Prefix Opaque LSAs originated by the same | |||
| multiple Extended Prefix Opaque LSAs include the same prefix, the | OSPFv2 router. If multiple Extended Prefix Opaque LSAs include the | |||
| attributes from the Opaque LSA with the lowest Instance will be used. | same prefix, the attributes from the Opaque LSA with the lowest | |||
| Opaque ID SHOULD be used. | ||||
| The format of the TLVs within the body of the OSPFv2 Extended Prefix | The format of the TLVs within the body of the OSPFv2 Extended Prefix | |||
| Opaque LSA is the same as the format used by the Traffic Engineering | Opaque LSA is the same as the format used by the Traffic Engineering | |||
| Extensions to OSPF [TE]. The variable TLV section consists of one or | Extensions to OSPF [TE]. The variable TLV section consists of one or | |||
| more nested Type/Length/Value (TLV) tuples. Nested TLVs are also | more nested Type/Length/Value (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 | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Format | TLV Format | |||
| 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 TLV | (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 length | 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 total | 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 32-bit | 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 field set | aligned. For example, a 1-byte value would have the length field set | |||
| skipping to change at page 6, line 31 ¶ | skipping to change at page 6, line 46 ¶ | |||
| 1 - Intra-Area | 1 - Intra-Area | |||
| 3 - Inter-Area | 3 - Inter-Area | |||
| 5 - AS External | 5 - AS External | |||
| 7 - NSSA External | 7 - NSSA External | |||
| These route types correspond directly to the OSPFv2 LSAs types as | These route types correspond directly to the OSPFv2 LSAs types as | |||
| defined in http://www.iana.org/assignments/ospfv2-parameters/ | defined in http://www.iana.org/assignments/ospfv2-parameters/ | |||
| ospfv2-parameters.xhtml#ospfv2-parameters-5. | ospfv2-parameters.xhtml#ospfv2-parameters-5. Specification of | |||
| route types other than those defined will prevent correlation with | ||||
| existing OSPFv2 LSAs and is beyond the scope this specification. | ||||
| Prefix Length | Prefix Length | |||
| Length in the prefix in bits. | Length in the prefix in bits. | |||
| AF | AF | |||
| Address family for the prefix. Currently, the only supported | Address family for the prefix. Currently, the only supported | |||
| value is 0 for IPv4 unicast. OSPFv3 [OSPFV3] is used for OSPF | value is 0 for IPv4 unicast. The inclusion of address family in | |||
| advertisement of IPv6 prefixes so this address family is not | this TLV allows for future extension. | |||
| applicable. The inclusion of address family in this TLV allows | ||||
| for future extension. | ||||
| Flags: 1 octet field. The following flags are defined: | ||||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| |A|N| | | | | | | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| where: | Flags | |||
| This one octet field contains flags applicable to the prefix. | ||||
| Supported Flags include: | ||||
| A-Flag: Attach flag. An Area Border Router (ABR) generating an | 0x80 - A-Flag (Attach flag): An Area Border Router (ABR) | |||
| Extended Prefix TLV for inter-area prefix that is locally | generating an Extended Prefix TLV for inter-area prefix that is | |||
| connected or attached in other connected area SHOULD set this | locally connected or attached in other connected area SHOULD | |||
| flag. | set this flag. | |||
| N-Flag: Set when the prefix identifies the advertising router | 0x40 - N-Flag (Node Flag): Set when the prefix identifies the | |||
| i.e., the prefix is a host prefix advertising a globally | advertising router i.e., the prefix is a host prefix | |||
| reachable address typically associated with a loopback address. | advertising a globally reachable address typically associated | |||
| The advertising router MAY choose to NOT set this flag even | with a loopback address. The advertising router MAY choose to | |||
| when the above conditions are met. If the flag is set and the | not set this flag even when the above conditions are met. If | |||
| prefix length is NOT a host prefix then the flag MUST be | the flag is set and the prefix length is not a host prefix then | |||
| ignored. The flag is preserved when the OSPFv2 Extended Prefix | the flag MUST be ignored. The flag is preserved when the | |||
| Opaque LSA is propagated between areas. | OSPFv2 Extended Prefix Opaque LSA is propagated between areas. | |||
| Address Prefix | Address Prefix | |||
| The prefix itself encoded as a 32-bit value. The default route is | For the address family IPv4 unicast, the prefix itself encoded as | |||
| represented by a prefix of length 0. | a 32-bit value. The default route is represented by a prefix of | |||
| length 0. Prefix encoding for other address families is beyond | ||||
| the scope of this specification. | ||||
| If this TLV is advertised multiple times for the same prefix in the | If this TLV is advertised multiple times for the same prefix in the | |||
| same OSPFv2 Extended Prefix Opaque LSA, only the first instance is | same OSPFv2 Extended Prefix Opaque LSA, only the first instance of | |||
| used by receiving OSPFv2 Routers. This situation SHOULD be logged as | the TLV is used by receiving OSPFv2 Routers. This situation SHOULD | |||
| an error. | be logged as an error. | |||
| If this TLV is advertised multiple times for the same prefix in | If this TLV is advertised multiple times for the same prefix in | |||
| different OSPFv2 Extended Prefix Opaque LSAs originated by the same | different OSPFv2 Extended Prefix Opaque LSAs originated by the same | |||
| OSPF router, the OSPF advertising router is re-originating Extended | OSPF router, the OSPF advertising router is re-originating Extended | |||
| Prefix Opaque LSAs for multiple prefixes and is most likely repacking | Prefix Opaque LSAs for multiple prefixes and is most likely repacking | |||
| Extended-Prefix-TLVs in Extended Prefix Opaque LSAs. In this case, | Extended-Prefix-TLVs in Extended Prefix Opaque LSAs. In this case, | |||
| the Extended-Prefix-TLV in the Extended Prefix Opaque LSA with the | the Extended-Prefix-TLV in the Extended Prefix Opaque LSA with the | |||
| smallest Instance is used by receiving OSPFv2 Routers. This | smallest Opaque ID is used by receiving OSPFv2 Routers. This | |||
| situation MAY be logged as a warning. | situation may be logged as a warning. | |||
| It is RECOMMENDED that OSPF routers advertising Extended Prefix TLVs | It is RECOMMENDED that OSPF routers advertising Extended Prefix TLVs | |||
| in different Extended Prefix Opaque LSAs re-originate these LSAs in | in different Extended Prefix Opaque LSAs re-originate these LSAs in | |||
| ascending order of Instance to minimize the disruption. | ascending order of Opaque ID to minimize the disruption. | |||
| If this TLV is advertised multiple times for the same prefix in | If this TLV is advertised multiple times for the same prefix in | |||
| different OSPFv2 Extended Prefix Opaque LSAs originated by the | different OSPFv2 Extended Prefix Opaque LSAs originated by different | |||
| different OSPF routers, the application using the information is | OSPF routers, the application using the information is required to | |||
| required to determine which OSPFv2 Extended Prefix Opaque LSA is | determine which OSPFv2 Extended Prefix Opaque LSA is used. For | |||
| used. For example, the application could prefer the LSA providing | example, the application could prefer the LSA providing the best path | |||
| the best path to the prefix. | to the prefix. | |||
| This document creates a registry for OSPF Extended Prefix sub-TLVs in | This document creates a registry for OSPF Extended Prefix sub-TLVs in | |||
| Section 7. | Section 7. | |||
| 3. OSPFv2 Extended Link Opaque LSA | 3. OSPFv2 Extended Link Opaque LSA | |||
| The OSPFv2 Extended Link Opaque LSA will be used to advertise | The OSPFv2 Extended Link Opaque LSA will be used to advertise | |||
| additional link attributes. Opaque LSAs are described in [OPAQUE]. | additional link attributes. Opaque LSAs are described in [OPAQUE]. | |||
| The OSPFv2 Extended Link Opaque LSA has an area flooding scope. | The OSPFv2 Extended Link Opaque LSA has an area flooding scope. | |||
| Multiple OSPFv2 Extended Link Opaque LSAs can be advertised by a | Multiple OSPFv2 Extended Link Opaque LSAs can be advertised by a | |||
| single router in an area. | single router in an area. | |||
| The format of the OSPFv2 Extended Link Opaque LSA is as follows: | The format of the OSPFv2 Extended Link Opaque LSA is as follows: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LS age | Options | 10 | | | LS age | Options | 10 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Opaque type | Instance | | | Opaque type | Opaque ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Advertising Router | | | Advertising Router | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LS sequence number | | | LS sequence number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LS checksum | length | | | LS checksum | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| +- TLVs -+ | +- TLVs -+ | |||
| | ... | | | ... | | |||
| OSPFv2 Extended Link Opaque LSA | OSPFv2 Extended Link Opaque LSA | |||
| The Opaque type used by OSPFv2 Extended Link Opaque LSA is 8. The | The Opaque type used by OSPFv2 Extended Link Opaque LSA is 8. The | |||
| opaque type is used to differential the various type of OSPFv2 Opaque | opaque type is used to differentiate the various type of OSPFv2 | |||
| LSA and is described in section 3 of [OPAQUE]. | Opaque LSA and is described in section 3 of [OPAQUE]. The LSA | |||
| "Length" field [OSPFV2] represents the total length (in octets) of | ||||
| the Opaque LSA including the LSA header and all TLVs (including | ||||
| padding). | ||||
| The Instance field is an arbitrary value used to maintain multiple | The Opaque ID field is an arbitrary value used to maintain multiple | |||
| Extended Prefix Opaque LSAs. For OSPFv2 Extended Link Opaque LSAs, | Extended Prefix Opaque LSAs. For OSPFv2 Extended Link Opaque LSAs, | |||
| the Instance has no semantic significance other than to differentiate | the Opaque ID has no semantic significance other than to | |||
| Extended Link Opaque LSAs originated by the same OSPFv2 router. If | differentiate Extended Link Opaque LSAs originated by the same OSPFv2 | |||
| multiple Extended Link Opaque LSAs include the same link, the | router. If multiple Extended Link Opaque LSAs include the same link, | |||
| attributes from the Opaque LSA with the lowest Instance will be used. | the attributes from the Opaque LSA with the lowest Opaque ID will be | |||
| used. | ||||
| The format of the TLVs within the body of the OSPFv2 Extended Link | The format of the TLVs within the body of the OSPFv2 Extended Link | |||
| Opaque LSA is the same as described in Section 2. | Opaque LSA is the same as described in Section 2. | |||
| 3.1. OSPFv2 Extended Link TLV | 3.1. OSPFv2 Extended Link TLV | |||
| The OSPFv2 Extended Link TLV is used to advertise various attributes | The OSPFv2 Extended Link TLV is used to advertise various attributes | |||
| of the link. It describes a single link and is constructed of a set | of the link. It describes a single link and is constructed of a set | |||
| of Sub-TLVs. There are no ordering requirements for the Sub-TLVs. | of Sub-TLVs. There are no ordering requirements for the Sub-TLVs. | |||
| Only one Extended Link TLV SHALL be advertised in each Extended Link | Only one Extended Link TLV SHALL be advertised in each Extended Link | |||
| skipping to change at page 9, line 41 ¶ | skipping to change at page 10, line 6 ¶ | |||
| Type | Type | |||
| The TLV type. The value is 1 for this TLV type. | The TLV type. The value is 1 for this TLV type. | |||
| Length | Length | |||
| Variable dependent on sub-TLVs. | Variable dependent on sub-TLVs. | |||
| Link-Type | Link-Type | |||
| Link-Type is defined in section A.4.2 of [OSPFV2] and | Link-Type is defined in section A.4.2 of [OSPFV2] and | |||
| http://www.iana.org/assignments/ospfv2-parameters/ | http://www.iana.org/assignments/ospfv2-parameters/ | |||
| ospfv2-parameters.xhtml#ospfv2-parameters-6. | ospfv2-parameters.xhtml#ospfv2-parameters-6. Specification of | |||
| link types other than those defined will prevent correlation with | ||||
| existing OSPFv2 Router-LSA links and is beyond the scope this | ||||
| specification. | ||||
| Link-ID | Link-ID | |||
| Link-ID is defined in section A.4.2 of [OSPFV2]. | Link-ID is defined in section A.4.2 of [OSPFV2]. | |||
| Link Data | Link Data | |||
| Link-Data is defined in section A.4.2 of [OSPFV2]. | Link-Data is defined in section A.4.2 of [OSPFV2]. | |||
| If this TLV is advertised multiple times in the same OSPFv2 Extended | If this TLV is advertised multiple times in the same OSPFv2 Extended | |||
| Link Opaque LSA, only the first instance is used by receiving OSPFv2 | Link Opaque LSA, only the first instance of the TLV is used by | |||
| Routers. This situation SHOULD be logged as an error. | receiving OSPFv2 Routers. This situation SHOULD be logged as an | |||
| error. | ||||
| If this TLV is advertised multiple times for the same link in | If this TLV is advertised multiple times for the same link in | |||
| different OSPFv2 Extended Link Opaque LSAs originated by the same | different OSPFv2 Extended Link Opaque LSAs originated by the same | |||
| OSPF router, the Extended Link TLV in the Extended Link Opaque LSA | OSPF router, the Extended Link TLV in the Extended Link Opaque LSA | |||
| with the smallest Instance is used by receiving OSPFv2 Routers. This | with the smallest Opaque ID is used by receiving OSPFv2 Routers. | |||
| situation MAY be logged as a warning. | This situation may be logged as a warning. | |||
| It is RECOMMENDED that OSPF routers advertising Extended Link TLVs in | It is RECOMMENDED that OSPF routers advertising Extended Link TLVs in | |||
| different Extended Link Opaque LSAs re-originate these LSAs in | different Extended Link Opaque LSAs re-originate these LSAs in | |||
| ascending order of Instance to minimize the disruption. | ascending order of Opaque ID to minimize the disruption. | |||
| This document creates a registry for OSPF Extended Link sub-TLVs in | This document creates a registry for OSPF Extended Link sub-TLVs in | |||
| Section 7. | Section 7. | |||
| 4. Backward Compatibility | 4. Backward Compatibility | |||
| Since opaque OSPFv2 LSAs are optional and backward compatible | Since opaque OSPFv2 LSAs are optional and backward compatible | |||
| [OPAQUE], the extensions described herein are fully backward | [OPAQUE], the extensions described herein are fully backward | |||
| compatible. However, future OSPFv2 extensions utilizing these | compatible. However, future OSPFv2 applications utilizing these | |||
| extensions MUST address backward compatibility of the corresponding | extensions MUST address backward compatibility of the corresponding | |||
| functionality. | functionality. | |||
| 5. Implementation Status | 5. Implementation Status | |||
| Note to RFC Editor: this section may be removed on publication as an | Note to RFC Editor: this section may be removed on publication as an | |||
| RFC. | RFC. | |||
| This section records the status of known implementations of the | This section records the status of known implementations of the | |||
| protocol defined by this specification at the time of posting of this | protocol defined by this specification at the time of posting of this | |||
| skipping to change at page 11, line 48 ¶ | skipping to change at page 12, line 12 ¶ | |||
| Alcatel-Lucent's support of this specification is included in SR OS, | Alcatel-Lucent's support of this specification is included in SR OS, | |||
| Release 13.0.R4. Cisco's support is included in IOS-XR 5.3.2. The | Release 13.0.R4. Cisco's support is included in IOS-XR 5.3.2. The | |||
| FreeRouter implementation is available in the FreeRouter 15.6.4 | FreeRouter implementation is available in the FreeRouter 15.6.4 | |||
| distribution. Huawei and Juniper will respectively provide support | distribution. Huawei and Juniper will respectively provide support | |||
| in future versions Versatile Routing Platform (VRP) and JUniper | in future versions Versatile Routing Platform (VRP) and JUniper | |||
| Network Operating System (JUNOS). | Network Operating System (JUNOS). | |||
| 6. Security Considerations | 6. Security Considerations | |||
| In general, new LSAs defined in this document are subject to the same | In general, new LSAs defined in this document are subject to the same | |||
| security concerns as those described in [OSPFV2]. Additionally, | security concerns as those described in [OSPFV2] and [OPAQUE]. | |||
| implementations must assure that malformed TLV and Sub-TLV | ||||
| permutations do not result in errors that cause hard OSPF failures. | OSPFv2 applications utilizing these OSPFv2 extensions must define the | |||
| security considerations relating to those applications in the | ||||
| specifications corresponding to those applications. | ||||
| Additionally, implementations must assure that malformed TLV and Sub- | ||||
| TLV permutations are detected and do not provide a vulnerability for | ||||
| attackers to crash the OSPFv2 router or routing process. Malformed | ||||
| LSAs MUST NOT be stored in the Link State Database (LSDB), | ||||
| acknowledged, or reflooded. Reception of malformed LSAs SHOULD be | ||||
| counted and/or logged for further analysis. | ||||
| 7. IANA Considerations | 7. IANA Considerations | |||
| This specification updates the Opaque Link-State Advertisements (LSA) | This specification updates the Opaque Link-State Advertisements (LSA) | |||
| Option Types with the following values: | Option Types with the following values: | |||
| o 7 (IANA Early Allocation [RFC7120]) - OSPFv2 Extended Prefix | o 7 (IANA Early Allocation [RFC7120]) - OSPFv2 Extended Prefix | |||
| Opaque LSA | Opaque LSA | |||
| o 8 (IANA Early Allocation [RFC7120]) - OSPFv2 Extended Link Opaque | o 8 (IANA Early Allocation [RFC7120]) - OSPFv2 Extended Link Opaque | |||
| LSA | LSA | |||
| This specification also creates four new registries: | This specification also creates five new registries: | |||
| o OSPF Extended Prefix Opaque LSA TLVs | o OSPF Extended Prefix Opaque LSA TLVs | |||
| o OSPF Extended Prefix TLV Sub-TLVs | o OSPF Extended Prefix TLV Sub-TLVs | |||
| o OSPF Extended Prefix TLV Flags | ||||
| o OSPF Extended Link Opaque LSA TLVs | o OSPF Extended Link Opaque LSA TLVs | |||
| o OSPF Extended Link TLV Sub-TLVs | o OSPF Extended Link TLV Sub-TLVs | |||
| 7.1. OSPF Extended Prefix Opaque LSA TLV Registry | 7.1. OSPF Extended Prefix Opaque LSA TLV Registry | |||
| The "OSPF Extend Prefix Opaque LSA TLV" registry will define top- | The "OSPF Extend Prefix Opaque LSA TLV" registry will define top- | |||
| level TLVs for the Extended Prefix Opaque LSAs and should be added to | level TLVs for the Extended Prefix Opaque LSAs and should be added to | |||
| the "Open Shortest Path First v2 (OSPFv2) Parameters" registries | the "Open Shortest Path First v2 (OSPFv2) Parameters" registries | |||
| group. New values can be allocated via IETF Review or IESG Approval. | group. New values can be allocated via IETF Review or IESG Approval. | |||
| skipping to change at page 13, line 17 ¶ | skipping to change at page 13, line 45 ¶ | |||
| o 0 - Reserved | o 0 - Reserved | |||
| Types in the range 32768-33023 are for experimental use; these will | Types in the range 32768-33023 are for experimental use; these will | |||
| not be registered with IANA, and MUST NOT be mentioned by RFCs. | not be registered with IANA, and MUST NOT be mentioned by RFCs. | |||
| Types in the range 33024-65535 are not to be assigned at this time. | Types in the range 33024-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 | |||
| covers the range being assigned. | covers the range being assigned. | |||
| 7.3. OSPF Extended Link Opaque LSA TLV Registry | 7.3. OSPF Extended Prefix TLV Flags Registry | |||
| The "OSPF Extended Prefix TLV Flags" registry will define the bits in | ||||
| the 8-bit Extended Prefix TLV Flags (Section 2.1). This | ||||
| specification defines the N (0x80) and A (0x40) bits. The registry | ||||
| should be added to the "Open Shortest Path First v2 (OSPFv2) | ||||
| Parameters" registries group. New values can be allocated via IETF | ||||
| Review or IESG Approval. | ||||
| 7.4. OSPF Extended Link Opaque LSA TLV Registry | ||||
| The "OSPF Extended Link Opaque LSA TLV" registry will define top- | The "OSPF Extended Link Opaque LSA TLV" registry will define top- | |||
| level TLVs for Extended Link Opaque LSAs and should be added to the | level TLVs for Extended Link Opaque LSAs and should be added to the | |||
| "Open Shortest Path First v2 (OSPFv2) Parameters" registries group. | "Open Shortest Path First v2 (OSPFv2) Parameters" registries group. | |||
| New values can be allocated via IETF Review or IESG Approval. | New values can be allocated via IETF Review or IESG Approval. | |||
| Following initial values are allocated: | Following initial values are allocated: | |||
| o 0 - Reserved | o 0 - Reserved | |||
| o 1 - OSPFv2 Extended Link TLV | o 1 - OSPFv2 Extended Link TLV | |||
| Types in the range 32768-33023 are for experimental use; these will | Types in the range 32768-33023 are for experimental use; these will | |||
| not be registered with IANA, and MUST NOT be mentioned by RFCs. | not be registered with IANA, and MUST NOT be mentioned by RFCs. | |||
| Types in the range 33024-65535 are not to be assigned at this time. | Types in the range 33024-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 am IETF specification that specifies IANA Considerations that | MUST be am IETF specification that specifies IANA Considerations that | |||
| covers the range being assigned. | covers the range being assigned. | |||
| 7.4. OSPF Extended Link TLV Sub-TLV Registry | 7.5. OSPF Extended Link TLV Sub-TLV Registry | |||
| The OSPF Extended Link TLV sub-TLV registry will define sub-TLVs at | The OSPF Extended Link TLV sub-TLV registry will define sub-TLVs at | |||
| any level of nesting for Extended Link TLVs and should be added to | any level of nesting for Extended Link TLVs and should be added to | |||
| the "Open Shortest Path First v2 (OSPFv2) Parameters" registries | the "Open Shortest Path First v2 (OSPFv2) Parameters" registries | |||
| group. New values can be allocated via IETF Review or IESG Approval. | group. New values can be allocated via IETF Review or IESG Approval. | |||
| The following initial values are allocated: | The following initial values are allocated: | |||
| o 0 - Reserved | o 0 - Reserved | |||
| skipping to change at page 14, line 17 ¶ | skipping to change at page 15, line 5 ¶ | |||
| 8. Acknowledgments | 8. Acknowledgments | |||
| We would like to thank Anton Smirnov for his contribution. | We would like to thank Anton Smirnov for his contribution. | |||
| Thanks to Tony Przygienda for his review and comments. | Thanks to Tony Przygienda for his review and comments. | |||
| Thanks to Wim Henderickx, Greg Harkins, Peter Psenak, Eric Wu, | Thanks to Wim Henderickx, Greg Harkins, Peter Psenak, Eric Wu, | |||
| Shraddha Hegde, and Csaba Mate for their responses to the | Shraddha Hegde, and Csaba Mate for their responses to the | |||
| implementation survey. | implementation survey. | |||
| Thanks to Alia Atlas for AD review and comments. | ||||
| Thanks to Tom Petch for review and comments. | Thanks to Tom Petch for review and comments. | |||
| Thanks to Carlos Pignataro for Operations Directorate Review and | Thanks to Alia Atlas and Alvaro Retana for AD review and comments. | |||
| Comments. | ||||
| Thanks to Carlos Pignataro and Ron Bonica for Operations Directorate | ||||
| review and comments. | ||||
| Thanks to Suresh Krishnan for Gen-ART review and comments. | ||||
| Thanks to Ben Campbell, Kathleen Moriarty, and Barry Leiba for IESG | ||||
| review and comments. | ||||
| 9. References | 9. References | |||
| 9.1. Normative References | 9.1. Normative References | |||
| [OPAQUE] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The | [OPAQUE] 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. | |||
| [OSPFV2] Moy, J., "OSPF Version 2", RFC 2328, April 1998. | [OSPFV2] Moy, J., "OSPF Version 2", RFC 2328, April 1998. | |||
| skipping to change at page 15, line 5 ¶ | skipping to change at page 15, line 45 ¶ | |||
| [BIER] Psenak, P., Kumar, N., Wijnands, I., Dolganow, A., | [BIER] Psenak, P., Kumar, N., Wijnands, I., Dolganow, A., | |||
| Przygienda, T., Zhang, J., and S. Aldrin, "OSPF Extensions | Przygienda, T., Zhang, J., and S. Aldrin, "OSPF Extensions | |||
| for BIER", draft-ietf-bier-ospf-bier-extensions-00.txt | for BIER", draft-ietf-bier-ospf-bier-extensions-00.txt | |||
| (work in progress), April 2015. | (work in progress), April 2015. | |||
| [I-D.ietf-ospf-ospfv3-lsa-extend] | [I-D.ietf-ospf-ospfv3-lsa-extend] | |||
| Lindem, A., Mirtorabi, S., Roy, A., and F. Baker, "OSPFv3 | Lindem, A., Mirtorabi, S., Roy, A., and F. Baker, "OSPFv3 | |||
| LSA Extendibility", draft-ietf-ospf-ospfv3-lsa-extend-06 | LSA Extendibility", draft-ietf-ospf-ospfv3-lsa-extend-06 | |||
| (work in progress), February 2015. | (work in progress), February 2015. | |||
| [OSPFV3] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF | ||||
| for IPv6", RFC 5340, July 2008. | ||||
| [RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code | [RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code | |||
| Points", BCP 100, RFC 7120, January 2014. | Points", BCP 100, RFC 7120, January 2014. | |||
| [SEGMENT-ROUTING] | [SEGMENT-ROUTING] | |||
| 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-04.txt (work in progress), February | routing-extensions-05.txt (work in progress), June 2015. | |||
| 2015. | ||||
| [TI-LFA] Francois, P., Filsfils, C., Bashandy, A., Decraene, B., | [TI-LFA] Francois, P., Filsfils, C., Bashandy, A., Decraene, B., | |||
| and S. Litkowski, "Topology Independent Fast Reroute using | and S. Litkowski, "Topology Independent Fast Reroute using | |||
| Segment Routing", draft-francois-spring-segment-routing- | Segment Routing", draft-francois-rtgwg-segment-routing-ti- | |||
| ti-lfa-01.txt (work in progress), October 2014. | lfa-00.txt (work in progress), August 2014. | |||
| Authors' Addresses | Authors' Addresses | |||
| Peter Psenak | Peter Psenak | |||
| Cisco Systems | Cisco Systems | |||
| Apollo Business Center | Apollo Business Center | |||
| Mlynske nivy 43 | Mlynske nivy 43 | |||
| Bratislava, 821 09 | Bratislava, 821 09 | |||
| Slovakia | Slovakia | |||
| End of changes. 43 change blocks. | ||||
| 95 lines changed or deleted | 129 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/ | ||||