Network Working Group                                        R. Aggarwal
Internet Draft                                          Juniper Networks
Category: Standards Track
Expiration Date: May 21, 2008 2009                                    K. Kompella
                                                        Juniper Networks

                                                       November 18, 2007 2008

      Advertising a Router's Local Addresses in OSPF TE Extensions

                  draft-ietf-ospf-te-node-addr-04.txt

                  draft-ietf-ospf-te-node-addr-05.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

Abstract

   This document describes procedures that enhance

   OSPF Traffic Engineering (TE) extensions for advertising a router's local
   addresses.  This is needed to enable other routers in a network to
   compute traffic engineered MPLS LSPs are used to a given router's local
   addresses.  Currently, the advertise TE
   Link State Advertisements (LSAs) containing information about TE-
   enabled links. The only addresses belonging to a router that are
   advertised in TE LSAs are the local addresses corresponding to TE TE-
   enabled links links, and the local address corresponding to the Router ID.

   In order to allow other routers in a network to compute Multiprotocol
   Label Switching (MPLS) traffic engineered Label Switched Paths (TE
   LSPs) to a given router's local addresses, those addresses must also
   be advertised by OSPF TE.

   This document describes procedures that enhance OSPF TE to advertise
   a router's local addresses.

Table of Contents

 1          Specification of requirements  .........................   2
 2          Motivation  ............................................   2   3          A
 3          Rejected Potential Solution  ..................................  ...........................   3
 4          Proposed          Solution  .....................................   3  ..............................................   4
 4.1        Node Attribute TLV  ....................................   3   4
 4.2        Operation  .............................................   5
 5          Security Considerations  ...............................   5   6
 6          IANA Considerations  ...................................   5   6
 7          Acknowledgments  .......................................   5   6
 8          References  ............................................   5   6
 8.1        Normative References  ..................................   6
 8.2        Informative References  ................................   6   7
 9          Author's Address  ......................................   6   7
10          Intellectual Property Statement  .......................   7
11          Copyright Notice  ......................................   7   8

1. Specification of requirements

   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 [RFC2119].

2. Motivation

   In some cases it is desirable to setup set up constrained shortest path
   first (CSPF) computed MPLS TE LSPs Multiprotocol Label Switching (MPLS) Traffic
   Engineered Label Switched Paths (TE LSPs) to local addresses of a
   router, that are not currently advertised in the TE LSAs i.e.
   loopback and non-TE interface addresses.

   For instance, in a network carrying VPN and non-VPN traffic, it is
   often desirable to use different MPLS TE LSPs for the VPN traffic and
   the non-VPN traffic. In this case one loopback address may be used as
   the BGP next-hop for VPN traffic while another may be used as the BGP
   next-hop for non-VPN traffic. It is also possible that different BGP
   sessions are used for VPN and non-VPN services. Hence two separate
   MPLS TE LSPs are desirable, one to each loopback address.

   However currently routers in an OSPF network can only use CSPF to
   compute MPLS TE LSPs to the router ID or the local addresses of TE
   enabled links of a remote router. This restriction arises because
   OSPF TE extensions [OSPF-TE, OSPFv3-TE] only advertise the router ID
   and the local addresses of TE enabled links of a given router. Other
   routers in the network can populate their traffic engineering
   database (TED) with these local addresses belonging to the
   advertising router. However they cannot populate the TED with other
   local addresses of the advertising router i.e. loopback and non-TE
   interface addresses. OSPFv2 stub links in the router LSA [OSPF],
   provide stub reachability information to the router but are not
   sufficient to learn all the local addresses of a router. In
   particular for a subnetted point-to-point (P2P) interface the stub
   link ID is the subnet address, while for a non-subnetted interface
   the stub link ID is the neighbor address. Intra-prefix LSAs in OSPFv3
   [OSPFv3] are also not sufficient to learn the local addresses.

   For the above reasons this document proposes an enhancement to OSPF
   TE extensions to advertise the local addresses of a node.

3. A Rejected Potential Solution

   A potential solution would be to advertise a TE link TLV for each
   local address, possibly with a new link type.  However, this is
   inefficient since the only meaningful information is the address.
   Furthermore, this would require implementations to process these TE
   link TLVs differently from others; for example, the TE metric is
   normally considered a mandatory sub-TLV, but would have no meaning
   for a local address.

4. Proposed Solution

   The proposed solution is to advertise the local addresses of a router in a new
   OSPF TE LSA node attribute TLV. node attribute TLV. It is anticipated that a the node
   attribute TLV will also prove more generally useful.

4.1. Node Attribute TLV

   The node attribute TLV carries the attributes associated with a
   router. The TLV type is TBD and the length is variable. It contains
   one or more sub-TLVs. This document defines the following sub-TLVs:

     1. Node IPv4 Local Address sub-TLV
     2. Node IPv6 Local Address sub-TLV

   The node IPv4 local address sub-TLV has a type of 1 and contains one
   or more local IPv4 addresses. It 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              1                |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Prefix Len 1  |          IPv4 Address Prefix 1                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Prefix 1 cont. |                                               :
      +-+-+-+-+-+-+-+-+                                               ~
      :                               .                               :
      ~                               .               +-+-+-+-+-+-+-+-+
      :                               .
      .                               .                               .               | Prefix Len n  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          IPv4 Address Prefix n                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Each local IPv4 address is encoded as a <Address <Prefix Length, Address> Prefix>
   tuple.  Address  Prefix Length is encoded in 1 byte. It is the number of bits
   in the Address and can be at most 32. Address Prefix is an IPv4 address
   prefix and can be at most is encoded in 4 bytes. bytes with zero bits as necessary.

   The Node IPv4 Local Address sub-TLV length is in octets. It is the
   sum of all n IPv4 Address encodings in the sub-TLV where n is the
   number of local addresses included in the sub-TLV.

   The node IPv6 local address sub-TLV has a type of 2 and contains one
   or more local IPv6 addresses. It 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              2                |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         IPv6 Address Prefix Len 1  | Prefix 1 Opt. |                                                               |
      |                                                               |
      | IPv6 Prefix 1                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   IPv6 Prefix 1 cont.                                         :
      :                               .                               ~
      ~                               .
      :                               .
      .                               .                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :                               +-+-+-+-+-++-+-+-+-+-++-+-+-+-+-+
      :                               |                         IPv6 Address Prefix Len n  | Prefix n Opt. |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         IPv6  Prefix n                        :
      |                                                               |
      |                                                               |                                                               :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--

   Each local IPv6 address is encoded as using the procedures in [OSPv3].
   Each IPv6 address MUST be represented by a <Address Length, Address>
   tuple. combination of three
   fields: PrefixLength, PrefixOptions, and Address Length is encoded in 1 byte. It Prefix. PrefixLength
   is the number of bits length in bits of the address prefix and can be at most 128. is an 8 bit field.
   PrefixOptions is an 8-bit field describing various capabilities
   associated with the prefix [OSPFv3]. Address Prefix is an IPv6 address encoding of
   the prefix and can be at most 16 bytes. itself as an even multiple of 32-bit words, padding with
   zero bits as necessary.  This encoding consumes (PrefixLength + 31) /
   32) 32-bit words.

   The Node IPv6 Local Address sub-TLV length is in octets. It is the
   sum of all n IPv6 Address encodings in the sub-TLV where n is the
   number of local addresses included in the sub-TLV.

4.2. Operation

   A router announces one or more local addresses in the node attribute
   TLV.  The local addresses that can be learned from TE LSAs i.e.
   router address and TE interface addresses SHOULD not NOT be advertised in
   the node local address sub-TLV. The local addresses advertised will
   depend on the local configuration of the advertising router. The
   default behavior MAY be to advertise all the loopback interface
   addresses.

   The node attribute TLV must appear in exactly one TE LSA originated
   by a router. Further only one node attribute TLV must be advertised
   in such a LSA. A node attribute TLV must carry at most one Node IPv4
   Local Address sub-TLV and at most one Node IPv6 Local Address sub-
   TLV.

5. Security Considerations

   This document does not introduce any further security issues other
   than those discussed in [OSPF-TE, OSPFv3-TE].

6. IANA Considerations

   The Node Attribute TLV type has to be IANA assigned from the range 3
   - 32767 as specified in [OSPF-TE]. [OSPF-TE], from the top level types in TE
   LSAs registry maintained by IANA at [IANA-OSPF-TE].

   IANA is requested to maintain the registry for the sub-TLVs of the
   node attribute TLV and reserve value 1 for Node IPv4 Local Address
   sub-TLV and value 2 for Node IPv6 Local Address sub-TLV.

7. Acknowledgments

   We would like to thank Nischal Sheth for his contribution to this
   work. We woud also like to thank Jean Philippe Vasseur, Acee Lindem,
   Venkata Naidu and Naidu, Dimitri Papadimitriou and Adrian Farrel for their
   comments.

8. References

8.1. Normative References

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

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

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

   [OSPFv3]       R. Coltun, D. Ferguson, J. Moy, "OSPF for IPv6",
                  RFC 2740.

8.2. Informative References

   [OSPFv3-TE]    K. Ishiguro, T. Takada, "Traffic Engineering
                  Extensions to OSPF version 3",
                  draft-ietf-ospf-ospfv3-traffic-09.txt.

   [IANA-OSPF-TE] http://www.iana.org/assignments/ospf-traffic-eng-tlvs

9. Author's Address

   Rahul Aggarwal
   Juniper Networks
   1194 North Mathilda Ave.
   Sunnyvale, CA 94089

   Phone: +1-408-936-2720
   Email: rahul@juniper.net

   Kireeti Kompella
   Juniper Networks
   1194 North Mathilda Ave.
   Sunnyvale, CA 94089
   Email: kireeti@juniper.net

10. Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.

11. Copyright Notice

   Copyright (C) The IETF Trust (2007). (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.