Internet DRAFT - draft-ietf-ospf-lsa-extend

draft-ietf-ospf-lsa-extend






Network Working Group                                          P. Psenak
Internet-Draft                                                S. Previdi
Intended status: Standards Track                             C. Filsfils
Expires: February 12, 2015                                 Cisco Systems
                                                              H. Gredler
                                                  Juniper Networks, Inc.
                                                               R. Shakir
                                                          British Telcom
                                                           W. Henderickx
                                                          Alcatel-Lucent
                                                             J. Tantsura
                                                                Ericsson
                                                               A. Lindem
                                                           Cisco Systems
                                                         August 11, 2014


                        OSPFv2 LSA Extendibility
                   draft-ietf-ospf-lsa-extend-00.txt

Abstract

   OSPFv2 requires functional extension beyond what can readily be done
   with the fixed-format Link State Advertisements (LSAs) as described
   in RFC 2323.  This document defines OSPF opaque LSAs based on Type-
   Length-Value (TLV) tuples that can be used to associate additional
   attributes with advertised prefixes or links.  The OSPF opaque LSAs
   are optional and fully backward compatible.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on February 12, 2015.

Copyright Notice




Psenak, et al.          Expires February 12, 2015               [Page 1]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.



























Psenak, et al.          Expires February 12, 2015               [Page 2]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Requirements notation  . . . . . . . . . . . . . . . . . .  4
     1.2.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . .  4
   2.  OSPFv2 Extended Prefix Opaque LSA  . . . . . . . . . . . . . .  4
     2.1.  OSPFv2 Extended Prefix TLV . . . . . . . . . . . . . . . .  6
   3.  OSPFv2 Extended Link Opaque LSA  . . . . . . . . . . . . . . .  7
     3.1.  OSPFv2 Extended Link TLV . . . . . . . . . . . . . . . . .  8
   4.  Backward Compatibility . . . . . . . . . . . . . . . . . . . .  9
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
     6.1.  OSPF Extended Prefix LSA TLV Registry  . . . . . . . . . . 10
     6.2.  OSPF Extended Prefix TLV Sub-TLV Registry  . . . . . . . . 11
     6.3.  OSPF Extended Link LSA TLV Registry  . . . . . . . . . . . 11
     6.4.  OSPF Extended Link TLV Sub-TLV Registry  . . . . . . . . . 11
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 12
     7.2.  Informative References . . . . . . . . . . . . . . . . . . 12
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12































Psenak, et al.          Expires February 12, 2015               [Page 3]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


1.  Introduction

   OSPFv2 requires functional extension beyond what can readily be done
   with the fixed-format Link State Advertisements (LSAs) as described
   in RFC 2328 [OSPFV2].  This document defines OSPF opaque LSAs based
   on Type-Length-Value (TLV) tuples that can be used to associate
   additional attributes with advertised prefixes or links.  The OSPF
   opaque LSAs are optional and fully backward compatible.  This is in
   contrast to the approach taken in OSPFv3 [OSPFV3-LSA-EXTEND] where
   the existing LSAs will be replaced TLV-based extended LSAs.

   New requirements such as source/destination routing, route tagging,
   and segment routing necessitate this extension.

   The specfication defines the following OSPFv2 opaque LSAs:

   1.  OSPFv2 Extended Prefix LSA - Allows advertisement of additional
       attributes for prefixes advertised in Router-LSAs, Network-LSAs,
       Network-Summary-LSAs, NSSA-LSAs, and AS-External-LSAs [OSPFV2]

   2.  OSPFv2 Extended links LSA - Allows advertisement of additional
       attributes for links advertised in Router-LSAs.

   Additionally, the following TLVs are defined:

   1.  OSPFv2 Extended Prefix TLV - Top level TLV advertising attributes
       for a prefix in the OSPFv2 Extended Prefix LSA.

   2.  OSPFv2 Extended Link TLV - Top level TLV advertising attributes
       for a link in the OSPFv2 Extended link LSA.

1.1.  Requirements notation

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC-KEYWORDS].

1.2.  Acknowledgments

   We would like to thank Anton Smirnov for his contribution.


2.  OSPFv2 Extended Prefix Opaque LSA

   The OSPFv2 Extended Prefix Opaque LSA will be used to advertise
   additional prefix attributes.  Opaque LSAs are described in [OPAQUE].

   Multiple OSPFv2 Extended Prefix Opaque LSAs can be advertised by an



Psenak, et al.          Expires February 12, 2015               [Page 4]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


   OSPFv2 router.  The flooding scope of the OSPFv2 Extended Prefix
   Opaque LSA depends on the scope of the advertised prefixes and is
   under the control of the advertising router.  In some cases (e.g.,
   mapping server deployment), the LSA flooding scope may be greater
   than the scope of the corresponding prefixes.

   The format of the OSPFv2 Extended Prefix Opaque LSA is as follows:


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            LS age             |     Options   |  9, 10, or 11 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Opaque type  |                  Instance                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Advertising Router                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     LS sequence number                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         LS checksum           |             length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +-                            TLVs                             -+
      |                             ...                               |

                        OSPFv2 Extended Prefix LSA

   The opaque type used by OSPFv2 Extended Prefix Opaque LSA is 7.

   The format of the TLVs within the body of the OSPFv2 Extended Prefix
   LSA is the same as the format used by the Traffic Engineering
   Extensions to OSPF [TE].  The variable TLV section consists of one or
   more nested Type/Length/Value (TLV) tuples.  Nested TLVs are also
   referred to as sub-TLVs.  The format of each TLV is:


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Type             |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            Value...                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                                TLV Format




Psenak, et al.          Expires February 12, 2015               [Page 5]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


   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
   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
   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
   to 1, and 3 octets of padding would be added to the end of the value
   portion of the TLV.

2.1.  OSPFv2 Extended Prefix TLV

   The OSPF Extended Prefix TLV is used in order to advertise additional
   attributes associated with the prefix.  Multiple OSPF Extended Prefix
   TLVs MAY be advertised in each OSPFv2 Extended Prefix Opaque LSA but
   all prefixes included in a single OSPFv2 Extended Prefix Opaque LSA
   MUST have the same flooding scope.  The OSPF Extended Prefix TLV has
   the following format:



    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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |              Type             |             Length            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Route Type   | Prefix Length |     AF        |   Reserved    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                     Address Prefix (variable)                 |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                      Sub-TLVs (variable)                      |
    +-                                                             -+
    |                                                               |


                        OSPFv2 Extended Prefix TLV


   Type
      The TLV type.  Suggested value is 1.

   Length
      Variable dependent on sub-TLVs.

   Route Type
      Route type: type of the OSPF route.  If the route type is 0
      (unspecified), the information inside the OSPF External Prefix TLV
      applies to the prefix regardless of prefix's route-type.  This is
      useful when prefix specific attributes are advertised by ax



Psenak, et al.          Expires February 12, 2015               [Page 6]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


      external entity, which is not aware of the route-type associated
      with the prefix.  Supported types are:

         0 - unspecified

         1 - intra-area

         3 - inter-area

         5 - external

         7 - NSSA external

   Prefix Length
      Length in of the prefix in bits.

   AF
      Address family for the prefix.  Currently, the only supported
      value is 0 for IPv4 unicast.

   Address Prefix
      The prefix itself encoded as an even multiple of 32-bit words,
      padded with zeroed bits as necessary.  This encoding consumes
      ((PrefixLength + 31) / 32) 32-bit words.  The default route is
      represented by a prefix of length 0.

   This document creates a registry for OSPF Extended Prefix sub-TLVs in
   Section 6.


3.  OSPFv2 Extended Link Opaque LSA

   The OSPFv2 Extended Link Opaque LSA will be used to advertise
   additional link attributes.  Opaque LSAs are described in [OPAQUE].

   The OSPFv2 Extended Link Opaque LSA has an area flooding scope.
   Multiple OSPFv2 Extended Link Opaque LSAs can be advertised by a
   single router in an area.

   The format of the OSPFv2 Extended Link Opaque LSA is as follows:











Psenak, et al.          Expires February 12, 2015               [Page 7]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            LS age             |     Options   |       10      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Opaque type  |                   Instance                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Advertising Router                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     LS sequence number                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         LS checksum           |             length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +-                            TLVs                             -+
      |                             ...                               |


                         OSPFv2 Extended Link LSA

   The Opaque type used by OSPFv2 Extended Link Opaque LSA is 8.

   The format of the TLVs within the body of the OSPFv2 Extended Prefix
   LSA is the same as Section 2.

3.1.  OSPFv2 Extended Link TLV

   OSPFv2 Extended Link TLV is used in order to advertise various
   attributes 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.  Only one Extended Link TLV SHALL be advertised in
   each Extended Link Opaque LSA, allowing for fine granularity changes
   in the topology.

   The Extended Link TLV has following format:
















Psenak, et al.          Expires February 12, 2015               [Page 8]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Type             |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Link-Type   |                Reserved                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                            Link ID                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           Link Data                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Sub-TLVs (variable)                      |
      +-                                                             -+
      |                                                               |


                         OSPFv2 Extended Link TLV


   Type
      The TLV type.  Suggested value is 1.

   Length
      Variable dependent on sub-TLVs.

   Link-Type
      Link-Type is defined in section A.4.2 of [OSPFV2].

   Link-ID
      Link-ID is defined in section A.4.2 of [OSPFV2].

   Link Data
      Link-Data is defined in section A.4.2 of [OSPFV2].

   This document creates a registry for OSPF Extended Link sub-TLVs in
   Section 6.


4.  Backward Compatibility

   Since opaque OSPFv2 LSAs are optional and backward compatible
   [OPAQUE], the extensions described herein is fully backward
   compatible.  However, future OSPFv2 extensions utilizing these
   extensions must address backward compatibility of the corresponding
   functionality.






Psenak, et al.          Expires February 12, 2015               [Page 9]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


5.  Security Considerations

   In general, new LSAs defined in this document are subject to the same
   security concerns as those described in [OSPFV2].  Additionally,
   implementations must assure that malformed TLV and Sub-TLV
   permutations do not result in errors which cause hard OSPF failures.


6.  IANA Considerations

   This specification updates the Opaque Link-State Advertisements (LSA)
   Option Types with the following values:

   o  7 (IANA Preallocated) - OSPFv2 Extended Prefix Opaque LSA

   o  8 (IANA preallocated) - OSPFv2 Extended Link Opaque LSA

   This specification also creates four new registries:

   o  OSPF Extended Prefix LSA TLVs

   o  OSPF Extended Prefix TLV Sub-TLVs

   o  OSPF Extended Link LSA TLVs

   o  OSPF Extended Link TLV Sub-TLVs

6.1.  OSPF Extended Prefix LSA TLV Registry

   The OSPF Extend Prefix LSA TLV registry will define top-level TLVs
   for Extended Prefix LSAs and should be placed in the existing OSPF
   IANA registry.  New values can be allocated via IETF Consensus or
   IESG Approval.

   The following initial values are allocated:

   o  0 - Reserved

   o  1 - OSPF Extended Prefix TLV

   Types in the range 32768-33023 are for experimental use; these will
   not be registered with IANA, and MUST NOT be mentioned by RFCs.

   Types in the range 33023-65535 are not to be assigned at this time.
   Before any assignments can be made in this range, there MUST be a
   Standards Track RFC that specifies IANA Considerations that covers
   the range being assigned.




Psenak, et al.          Expires February 12, 2015              [Page 10]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


6.2.  OSPF Extended Prefix TLV Sub-TLV Registry

   The OSPF Extended Link LSA sub-TLV registry will define will define
   sub-TLVs at any level of nesting for Extended Link LSAs and should be
   placed in the existing OSPF IANA registry.  New values can be
   allocated via IETF Consensus or IESG Approval.

   The following initial values are allocated:

   o  0 - Reserved

   Types in the range 32768-33023 are for experimental use; these will
   not be registered with IANA, and MUST NOT be mentioned by RFCs.

   Types in the range 33023-65535 are not to be assigned at this time.
   Before any assignments can be made in this range, there MUST be a
   Standards Track RFC that specifies IANA Considerations that covers
   the range being assigned.

6.3.  OSPF Extended Link LSA TLV Registry

   The OSPF Extend Link LSA TLV registry will define top-level TLVs for
   Extended Link LSAs and should be placed in the existing OSPF IANA
   registry.  New values can be allocated via IETF Consensus or IESG
   Approval.

   Following initial values are allocated:

   o  0 - Reserved

   o  1 - OSPFv2 Extended Link TLV

   Types in the range 32768-33023 are for experimental use; these will
   not be registered with IANA, and MUST NOT be mentioned by RFCs.

   Types in the range 33023-65535 are not to be assigned at this time.
   Before any assignments can be made in this range, there MUST be a
   Standards Track RFC that specifies IANA Considerations that covers
   the range being assigned.

6.4.  OSPF Extended Link TLV Sub-TLV Registry

   The OSPF Extended Link sub-TLV registry will define will define sub-
   TLVs at any level of nesting for Extended Link LSAs and should be
   placed in the existing OSPF IANA registry.  New values can be
   allocated via IETF Consensus or IESG Approval.

   The following initial values are allocated:



Psenak, et al.          Expires February 12, 2015              [Page 11]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


   o  0 - Reserved

   Types in the range 32768-33023 are for experimental use; these will
   not be registered with IANA, and MUST NOT be mentioned by RFCs.
   Types in the range 33023-65535 are not to be assigned at this time.
   Before any assignments can be made in this range, there MUST be a
   Standards Track RFC that specifies IANA Considerations that covers
   the range being assigned.


7.  References

7.1.  Normative References

   [OPAQUE]   Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The
              OSPF Opaque LSA Option", RFC 5250, July 2008.

   [OSPFV2]   Moy, J., "OSPF Version 2", RFC 2328, April 1998.

   [RFC-KEYWORDS]
              Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", RFC 2119, March 1997.

   [TE]       Katz, D., Yeung, D., and K. Kompella, "Traffic Engineering
              Extensions to OSPF", RFC 3630, September 2003.

7.2.  Informative References

   [OSPFV3-LSA-EXTEND]
              Lindem, A., Mirtorabi, S., Roy, A., and F. Baker, "OSPFv3
              LSA Extendibility", draft-ietf-ospf-multi-instance-02.txt
              (work in progress).


Authors' Addresses

   Peter Psenak
   Cisco Systems
   Apollo Business Center
   Mlynske nivy 43
   Bratislava, 821 09
   Slovakia

   Email: ppsenak@cisco.com







Psenak, et al.          Expires February 12, 2015              [Page 12]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


   Stefano Previdi
   Cisco Systems
   Via Del Serafico, 200
   Rome, 00142
   Italy

   Email: sprevidi@cisco.com


   Clarence Filsfils
   Cisco Systems
   Brussels
   Belgium

   Email: cfilsfils@cisco.com


   Hannes Gredler
   Juniper Networks, Inc.
   1194 N. Mathilda Ave.
   Sunnyvale, CA  94089
   USA

   Email: hannes@juniper.net


   Rob Shakir
   British Telcom
   London
   UK

   Email: rob.shakir@bt.com


   Wim Henderickx
   Alcatel-Lucent
   Copernicuslaan
   Antwerp, 2018  94089
   Belgium

   Email: wim.henderickx@alcatel-lucent.com










Psenak, et al.          Expires February 12, 2015              [Page 13]

Internet-Draft          OSPFv2 LSA Extendibility             August 2014


   Jeff Tantsura
   Ericsson
   300 Holger Way
   San Jose, CA  95134
   USA

   Email: jeff.tantsura@ericsson.com


   Acee Lindem
   Cisco Systems
   301 Midenhall Way
   Cary, NC  27513
   USA

   Email: acee@cisco.com



































Psenak, et al.          Expires February 12, 2015              [Page 14]