Network Working Group                                         S. Previdi
Request for Comments: 5130                                 M. Shand, Ed.
Category: Standards Track                                  Cisco Systems
                                                              C. Martin
                                                         iPath Services
                                                          February 2008


    A Policy Control Mechanism in IS-IS Using Administrative Tags

Status of This Memo

  This document specifies an Internet standards track protocol for the
  Internet community, and requests discussion and suggestions for
  improvements.  Please refer to the current edition of the "Internet
  Official Protocol Standards" (STD 1) for the standardization state
  and status of this protocol.  Distribution of this memo is unlimited.

Abstract

  This document describes an extension to the IS-IS protocol to add
  operational capabilities that allow for ease of management and
  control over IP prefix distribution within an IS-IS domain.  This
  document enhances the IS-IS protocol by extending the information
  that an Intermediate System (IS) router can place in Link State
  Protocol (LSP) Data Units for policy use.  This extension will
  provide operators with a mechanism to control IP prefix distribution
  throughout multi-level IS-IS domains.

Table of Contents

  1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
  2.  Conventions Used in This Document . . . . . . . . . . . . . . . 2
  3.  Sub-TLV Additions . . . . . . . . . . . . . . . . . . . . . . . 2
    3.1.  32-bit Administrative Tag Sub-TLV 1 . . . . . . . . . . . . 3
    3.2.  64-bit Administrative Tag Sub-TLV 2 . . . . . . . . . . . . 3
  4.  Ordering of Tags  . . . . . . . . . . . . . . . . . . . . . . . 3
  5.  Compliance  . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  6.  Operations  . . . . . . . . . . . . . . . . . . . . . . . . . . 4
  7.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
  8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
  9.  Manageability Considerations  . . . . . . . . . . . . . . . . . 5
  10. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 6
  11. Contributors  . . . . . . . . . . . . . . . . . . . . . . . . . 6
  12. References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6
    12.1. Normative References  . . . . . . . . . . . . . . . . . . . 6
    12.2. Informative References  . . . . . . . . . . . . . . . . . . 6




Previdi, et al.             Standards Track                     [Page 1]

RFC 5130                    IS-IS Admin Tags               February 2008


1.  Introduction

  As defined in [RFC1195] and extended in [RFC3784], the IS-IS protocol
  [ISO10589] may be used to distribute IPv4 prefix reachability
  information throughout an IS-IS domain.  In addition, thanks to
  extensions made in [RFC5120] and [ISIS-IPv6], IS-IS may be used to
  distribute IPv6 reachability information.

  The IPv4 prefix information is encoded as TLV type 128 and 130 in
  [RFC1195], with additional information carried in TLV 135 as
  specified in [RFC3784] and TLV 235 as defined in [RFC5120].  In
  particular, the extended IP Reachability TLV (TLV 135) contains
  support for a larger metric space, an up/down bit to indicate
  redistribution between different levels in the hierarchy, an IP
  prefix, and one or more sub-TLVs that can be used to carry specific
  information about the prefix.  TLV 235 is a derivative of TLV 135,
  with the addition of Multi-Topology membership information [RFC5120].
  The IPv6 prefix information is encoded as TLV 236 in [ISIS-IPv6], and
  TLV 237 in [RFC5120].

  This document defines 2 new sub-TLVs for TLV 135, TLV 235, TLV 236
  and TLV 237 that may be used to carry administrative information
  about an IP prefix.

2.  Conventions Used in This Document

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

3.  Sub-TLV Additions

  This document creates 2 new "Administrative Tag" sub-TLVs to be added
  to TLV 135, TLV 235, TLV 236 and TLV 237.  These TLVs specify one or
  more 32- or 64-bit unsigned integers that may be associated with an
  IP prefix.  Example uses of these tags include carrying BGP standard
  (or extended) communities and controlling redistribution between
  levels and areas, different routing protocols, or multiple instances
  of IS-IS running on the same router.

  The methods for which their use is employed is beyond the scope of
  this document and left to the implementer and/or operator.

  The encoding of the sub-TLV(s) is discussed in the following
  subsections.






Previdi, et al.             Standards Track                     [Page 2]

RFC 5130                    IS-IS Admin Tags               February 2008


3.1.  32-bit Administrative Tag Sub-TLV 1

  The Administrative Tag SHALL be encoded as one or more 4-octet
  unsigned integers using Sub-TLV 1 in TLV 135 [RFC3784], TLV 235
  [RFC5120], TLV 236 [ISIS-IPv6], and TLV 237 [RFC5120].  The
  Administrative Tag Sub-TLV has following structure:

  o  1 octet of type (value: 1)

  o  1 octet of length (value: multiple of 4)

  o  one or more instances of 4 octets of administrative tag

  On receipt, an implementation MAY consider only one encoded tag, in
  which case, the first encoded tag MUST be considered and any
  additional tags ignored.  A tag value of zero is reserved and SHOULD
  be treated as "no tag".

3.2.  64-bit Administrative Tag Sub-TLV 2

  The Administrative Tag SHALL be encoded as one or more 8-octet
  unsigned integers using Sub-TLV 2 in TLV 135 [RFC3784], TLV 235
  [RFC5120], TLV 236 [ISIS-IPv6], and TLV 237 [RFC5120].  The 64-bit
  Administrative Tag Sub-TLV has following structure:

  o  1 octet of type (value: 2)

  o  1 octet of length (value: multiple of 8)

  o  one or more instances of 8 octets of administrative tag

  On receipt, an implementation MAY consider only one encoded tag; in
  which case, the first encoded tag MUST be considered and any
  additional tags ignored.  A tag value of zero is reserved and SHOULD
  be treated as "no tag".

4.  Ordering of Tags

  The semantics of the tag order are implementation-dependent.  That
  is, there is no implied meaning to the ordering of the tags that
  indicates a certain operation or set of operations need be performed
  based on the order of the tags.  Each tag SHOULD be treated as an
  autonomous identifier that MAY be used in policy to perform a policy
  action.  Whether or not tag A precedes or succeeds tag B SHOULD not
  change the meaning of the tag set.  However, when propagating TLVs
  that contain multiple tags between levels, an implementation SHOULD





Previdi, et al.             Standards Track                     [Page 3]

RFC 5130                    IS-IS Admin Tags               February 2008


  preserve the ordering such that the first tag remains the first tag,
  so that implementations that only recognize a single tag will have a
  consistent view across levels.

  Each IS that receives an LSP with TLV(s) 135 and/or 235 and/or 236
  and/or 237, that have associated sub-TLV(s) 1 and/or 2, MAY operate
  on the tag values as warranted by the implementation.  If an
  implementation needs to change tag values, for example, when
  propagating TLVs between levels at an area boundary, then the TLV(s)
  SHOULD be copied to the newly generated Level-1 or Level-2 LSP.  At
  that point, the contents of the sub-TLV(s) MAY change as dictated by
  the policy action.  In the event that no change is required, the sub-
  TLV(s) SHOULD be copied in order into the new LSP, such that ordering
  is preserved.

5.  Compliance

  A compliant IS-IS implementation MUST be able to assign one tag to
  any IP prefix in any of the following TLVs: TLV 135, TLV 235, TLV
  236, TLV 237.  It MUST be able to interpret a single tag present in
  the sub-TLV, or the first tag where there is more than one tag
  present in the sub-TLV.

  A compliant IS-IS implementation MAY be able to assign more than one
  tag to any IP prefix in any of the following TLVs: TLV 135, TLV 235,
  TLV 236, TLV 237.  It MAY be able to interpret the second and
  subsequent tags where more than one tag is present in the sub-TLV.

  When propagating TLVs between levels, a compliant IS-IS
  implementation MAY be able to rewrite or remove one or more tags
  associated with a prefix in any of the following TLVs: TLV 135, TLV
  235, TLV 236, TLV 237.

6.  Operations

  An administrator associates an Administrative Tag value with some
  interesting property.  When IS-IS advertises reachability for some IP
  prefix that has that property, it adds the Administrative Tag to the
  IP reachability information TLV for that prefix, and the tag "sticks"
  to the prefix as it is flooded throughout the routing domain.

  Consider the network in Figure 1.  We wish to "leak" L1 prefixes
  [RFC2966] with some property, A, from L2 to the L1 router R1.
  Without policy groups, there is no way for R2 to know property A
  prefixes from property B prefixes.






Previdi, et al.             Standards Track                     [Page 4]

RFC 5130                    IS-IS Admin Tags               February 2008


                       R2--------R3--------R4
                L2     /                    \
                - - - /- - - - - - - - - - - - - -
                L1   /                        \
                   R1----1.1.1.0/24 (A)       R5
                                               |
                                               |
                                         1.1.2.0/24 (B)

                       Figure 1: Example of usage

  We associate Administrative Tag 100 with property A, and have R5
  attach that value to the IP extended reachability information TLV for
  prefix 1.1.2.0/24.  R2 has a policy in place to "match prefixes with
  Administrative Tag 100, and leak to L1".

  The previous example is rather simplistic; it seems that it would be
  just as easy for R2 simply to match the prefix 1.1.2.0/24.  However,
  if there are a large number of routers that need to apply some policy
  according to property A and a large number of "A" prefixes, this
  mechanism can be quite helpful.

  Implementations that support only a single tag and those that support
  multiple tags may coexist in the same IS-IS domain.  An
  implementation supporting multiple tags SHOULD therefore assign any
  tag that is required to be interpreted by all systems as the first
  tag in any set of multiple tags.

7.  Security Considerations

  This document raises no new security issues for IS-IS, as any
  annotations to IP prefixes should not pass outside the administrative
  control of the network operator of the IS-IS domain.  Such an
  allowance would violate the spirit of Interior Gateway Protocols in
  general and IS-IS in particular.

8.  IANA Considerations

  IANA has assigned "1" as the type code of the 32-bit Administrative
  Tag Sub-TLV and "2" as the type code of the 64-bit Administrative Tag
  Sub-TLV.

9.  Manageability Considerations

  These extensions have been designed, developed, and deployed for many
  years and do not have any new impact on management and operation of
  the IS-IS protocol via this standardization process.




Previdi, et al.             Standards Track                     [Page 5]

RFC 5130                    IS-IS Admin Tags               February 2008


10.  Acknowledgements

  The authors would like to thank Henk Smit for clarifying the best
  place to describe this new information, Tony Li and Tony Przygienda
  for useful comments on this document, and Danny McPherson for some
  much needed formatting assistance.

11.  Contributors

  Brad Neal contributed portions of this document.

12.  References

12.1.  Normative References

  [ISO10589]   International Organization for Standardization,
               "Intermediate system to Intermediate system intra-domain
               routing information exchange protocol for use in
               conjunction with the protocol for providing the
               connectionless-mode Network Service (ISO 8473)", ISO/
               IEC 10589:2002, Second Edition, Nov 2002.

  [RFC1195]    Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
               dual environments", RFC 1195, December 1990.

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

12.2.  Informative References

  [ISIS-IPv6]  Hopps, C., "Routing IPv6 with IS-IS", Work in Progress,
               October 2007.

  [RFC2966]    Li, T., Przygienda, T., and H. Smit, "Domain-wide Prefix
               Distribution with Two-Level IS-IS", RFC 2966,
               October 2000.

  [RFC3784]    Smit, H. and T. Li, "Intermediate System to Intermediate
               System (IS-IS) Extensions for Traffic Engineering (TE)",
               RFC 3784, June 2004.

  [RFC5120]    Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
               Topology (MT) Routing in IS-IS", RFC 5120,
               February 2008.







Previdi, et al.             Standards Track                     [Page 6]

RFC 5130                    IS-IS Admin Tags               February 2008


Authors' Addresses

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

  EMail: [email protected]


  Mike Shand (editor)
  Cisco Systems
  250, Longwater Avenue.
  Reading, Berks  RG2 6GB
  UK

  Phone: +44 208 824 8690
  EMail: [email protected]


  Christian Martin
  iPath Services

  EMail: [email protected]


























Previdi, et al.             Standards Track                     [Page 7]

RFC 5130                    IS-IS Admin Tags               February 2008


Full Copyright Statement

  Copyright (C) The IETF Trust (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.

Intellectual Property

  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
  [email protected].












Previdi, et al.             Standards Track                     [Page 8]