Network Working Group                                     Sina Mirtorabi
Internet Draft                                            Abhay Roy
Document: draft-mirtorabi-ospfv3-tag-00.txt               Cisco Systems
Expiration Date: August 2004 			          February 2004
                                        



                          Route tags in OSPFv3
                    draft-mirtorabi-ospfv3-tag-00.txt
                       



Status of this Memo 

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   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. Internet Drafts may be updated, replaced, or obsoleted by
   other documents at any time. It is not appropriate to use Internet
   Drafts as reference material or to cite them other than as a "working
   draft" or "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 a mechanism to carry a route tag in OSPFv3.
   Currently only external LSA can carry a tag. This document propose a
   method to carry tags for intra and inter area prefixes.


1. Introduction

   [Ref 1] defines tag for OSPFv2 and the usage of it carried with a
   prefix. This document propose a solution for OSPFv3 [Ref 2] by
   defining new LSA's to carry tag. The new LSA's will not carry any
   prefix to duplicate the generation of prefix within the domain but


Mirtorabi, Roy                                                  [Page 1]

Internet Draft            Route tags in OSPFv3             February 2004


   simply associate a tag with list of Link State IDs corresponding to
   LSA's that carry prefixes. 


2. Intra-area-tag-LSA

   We define a new LSA called intra-area-tag-LSA to carry tag within an
   OSPFv3 area. The flooding scope of the LSA is area wide and the
   Unknown bit (U bit) is set.

    
     LSA function code   LS Type      Description
     ----------------------------------------------------
         12              0xA00C       Intra-area-tag-LSA



    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              |1|0|1|          12             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Link State ID                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Advertising Router                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    LS sequence number                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        LS checksum            |             length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                         LSA body                              |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   The contents of LSA is constructed as sets of tag block defines 
   as follows:


Mirtorabi, Roy                                                  [Page 2]

Internet Draft            Route tags in OSPFv3             February 2004


     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             Rsrv            |E|           Length              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                             Tag                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Link State ID                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .                                                               .
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Link State ID                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Rsrv
       Reserved field, it should be set to 0 and ignored in reception

   E bit   
       Extended tag bit, when is set the tag will be defined as a 64 
       bit value, otherwise it is defined as 32 bit value

   Length 
       The length of the tag block excluding the first four byte 
       (Rsrv+ E + length field)

   Tag
       A configurable value set by the user

   Link State ID
       Link state ID of the intra-area-prefix-lsa that carries prefixes
       to be tagged

   Note that a given Link State ID corresponds to the fragment of
   intra-area-prefix-lsa which contains prefixes which have a common
   tag (see section 3).
    

3. Generation of intra-area-tag-LSA

   When a router is configured to tag its intra-area prefix, it MUST
   originate intra-area-prefix-LSA in such a way that all prefixes
   within a fragment have the same tag value. This is needed since Tag
   LSA associate a tag to a LSA identified by its Link State ID which
   may carry many prefixes.

   A router configured to tag intra-area prefixes, generates


Mirtorabi, Roy                                                  [Page 3]

Internet Draft            Route tags in OSPFv3             February 2004


   intra-area-tag-LSA corresponding to Link State IDs advertised in 
   its intra-area-prefix-LSA. 

   Note that intra-area-tag-LSA should be regenerated only when there is
   a change in tag value or the Link State ID list has changed. In other
   words if intra-area-prefix-lsa is regenerated due to a change of
   metric or prefix reachability, there is no need to regenerate
   intra-area-tag-LSA.


4. Multi-access link consideration

   In a multi-access link, Designated Router (DR) is in charge of
   generating intra-area-prefix-lsa on behalf of the link. In order to
   tag prefixes on the multi-access link the designated router SHOULD 
   be tag capable and the tag needs to be configured on the DR/BDR.

   Note that the DR will have to generate multiple
   intra-area-prefix-lsas such that all prefixes within a fragment have
   the same tag value. DR will also generate intra-area-tag-LSA
   corresponding to Link State IDs advertised in it's
   intra-area-prefix-lsa.
 
 
5. Inter-area-tag-LSA

   We define a new lsa called Inter-area-tag-LSA to carry tag between
   OSPFv3 areas. The flooding scope of the LSA is area wide and the
   Unknown bit (U bit) is set. This LSA is generated by ABRs.

    
     LSA function code   LS Type     Description
     ----------------------------------------------------
         13              0xA00D      Inter-area-Tag-LSA


Mirtorabi, Roy                                                  [Page 4]

Internet Draft            Route tags in OSPFv3             February 2004


    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              |1|0|1|          13             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Link State ID                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Advertising Router                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    LS sequence number                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        LS checksum            |             length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                         LSA body                              |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   The contents of LSA is constructed as sets of tag block defines 
   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             Rsrv            |E|           Length              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                             Tag                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Link State ID                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .                                                               .
    .                                                               .
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         Link State ID                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Rsrv
       Reserved field, it should be set to 0 and ignored in reception

   E bit
       Extended tag bit, when is set the tag will be defined as a 64 
       bit value, otherwise it is defined as 32 bit value

   Length
       The length of the tag block excluding the first four byte 
       (Rsrv + E + length field)


Mirtorabi, Roy                                                  [Page 5]

Internet Draft            Route tags in OSPFv3             February 2004


   Tag
       A configurable value set by the user

   Link State ID
       Link state ID of the Inter-area-prefix-lsa that carries the
       prefix to be tagged

 
  Note that each Link State ID correspond to a unique prefix in
  Inter-area-prefix-lsa, however each tag block could carry a list of
  Link State ID.


6. Generation of Inter-area-tag-LSA

  An ABR that generates inter-area-prefix-LSA is in charge of tagging
  inter-area prefixes. This is done by generating inter-area-tag-LSA
  that corresponds to inter-area-prefix-LSA Link State IDs generated
  by the ABR. The same rule for processing and generating
  inter-area-prefix-LSA applies to processing and generating
  Inter-area-tag-LSA.


7. Backward compatibility

   This document does not introduce any backward compatibility issues. 
   The new LSA is simply ignored by non-capable routers.


8. Deployment consideration

   Tag capable router could be introduced gradually without any
   interoperability problem. It should be noted that in order to tag
   inter-area prefixes, the ABRs need to be tag capable so that the
   tags can be propagated through multiple areas.

  
9. Security Considerations

   The technique described in this document does not introduce any new
   security issues into OSPFv3.


10. References


[Ref1] Dec, Psenak, Sturgess, "A Proposal for a Tag Value field in
       OSPF", draft-dec-ospf-tags-00.txt

[Ref2] R. Coltun, D. Ferguson and J.  Moy,  "OSPF  for  IPv6",
       RFC 2740, December 1999.


Mirtorabi, Roy                                                  [Page 6]