Network Working Group                                          P. Murphy
Internet Draft                                      US Geological Survey
Expiration Date: August 2002                               February 2002
File name: draft-ietf-ospf-mlinks-03.txt


                        OSPF Multiple Area Links

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

























Murphy                                                          [Page i]


Internet Draft          OSPF Multiple Area Links           February 2002


Table Of Contents

   1.0   Abstract .................................................  1
   2.0   Overview .................................................  2
   2.1   Requirement for OSPF Multiple Area Links .................  2
   2.2   Proposed Solution ........................................  3
   2.2.1 Secondary Adjacencies ....................................  4
   2.2.2 Secondary Neighbor Discovery .............................  4
   2.2.3 Advertising Secondary Links ..............................  5
   2.3   Application ..............................................  5
   3.0   Secondary Interfaces .....................................  5
   3.1   The SecondaryAreas Interface parameter ...................  5
   3.2   The Secondary Interface Data Structure ...................  6
   3.3   The Secondary Interface State Machine ....................  6
   3.4   OSPF Protocol Packet Processing ..........................  7
   3.5   Designated Router Election and Function ..................  7
   4.0   Synchronizing Secondary Areas Using Mlink Type 9 LSAs ....  8
   5.0   Secondary Neighbors ......................................  8
   5.1   The Secondary Neighbor Data Structure ....................  8
   5.2   The Secondary Neighbor State Machine .....................  9
   5.3   Receiving Mlink Type 9 Neighbor Discover LSAs ............ 10
   5.4   Receiving Secondary Hello Packets ........................ 11
   6.0   Advertising Secondary Adjacencies ........................ 11
   7.0   The Shortest Path First Calculation ...................... 11
   8.0   Flushing Secondary Adjacencies ........................... 12
   9.0   Security Considerations .................................. 12
   10.0  Acknowledgments .......................................... 12
   11.0  References ............................................... 12
   12.0  Authors' Addresses ....................................... 12
   Appendix A: Router-LSAs ........................................ 13
   Appendix B: Mlink Type 9 Neighbor Discover LSAs ................ 17
   Appendix C: Configuration Parameters ........................... 19

1.0 Abstract

   This memo describes an option to the OSPF Version 2 specification
   which allows multiple areas to share the same OSPF link. One area is
   always configured as the link's primary area. The link's remaining
   areas are termed secondary. Two border routers adjacent across the
   same secondary area may forward the area's intra-area traffic across
   the link. This option applies to standard areas, stub areas, and
   NSSAs. It works over any OSPF interface.  Routers with this option
   configured are backward compatible with routers running the standard
   OSPF Version 2 compliant implementation as defined in RFC 2328.

   Please send comments to ospf@discuss.microsoft.com.





Murphy                                                          [Page 1]


Internet Draft          OSPF Multiple Area Links           February 2002


2.0 Overview

2.1 Requirement for OSPF Multiple Area Links

   Large corporate networks in today's modern Internet have tremendous
   human and equipment resources coupled with sizable budget invested in
   their backbone infrastructure. Their regional networks are normally
   not so fortunate and must multi-home to the backbone in order to take
   advantage of the backbone's faster and more reliable network links.
   Performance over a T1 link can pale by comparison to performance over
   a DS3 or OC3 backbone link.  Large corporate networks have sizable
   backbone routing tables and routinely use stub areas and NSSAs. Under
   the current OSPF specification intra-area routes are always preferred
   over inter-area routes even when the traffic is sourced from and
   destined to the same non-backbone OSPF area.

   Consider the following typical OSPF example:

              A0-----------Area 0 link------------B0-------N1
              |              DS3 (1)               |  (2)
              |                                    |
              |NSSA 1 link              NSSA 1 link|
              |  T1 (28)                  T1 (28)  |
              |                                    |
              |                                    |
              A1-----------NSSA 1 link------------B1-------M1
                            512k (56)                 (2)

   where A0 and B0 are border routers attached to NSSA 1. A1 and B1 are
   internal routers in NSSA 1. N1 and M1 are standard ethernet networks
   in NSSA 1 which are directly attached to B0 and B1 respectively. The
   cost of each link is shown in parentheses. All OSPF costs are
   symmetric. Under the current OSPF specification the preferred path
   between A0 and M1 is

                   A0<->A1<->B1<->M1

   with an OSPF cost of 86, even though there exists a more preferred
   path through B0 namely

                   A0<->B0<->B1<->M1

   with an OSPF cost of 31.

   In addition the NSSA 1 OSPF preferred path between A1 and N1 is

                A1<->B1<->B0<->N1,




Murphy                                                          [Page 2]


Internet Draft          OSPF Multiple Area Links           February 2002


   with an OSPF cost of 86, even though there exists a more preferred
   path through the link between A0 and B0, namely

                A1<->A0<->B0<->N1

   with an OSPF cost of 31. Under the current OSPF specification NSSA
   1's router A1 does not even see this path to N1 since it has no
   knowledge of Area 0's topology. A0, on the other hand, would at lease
   see the summary LSA of N1, but still cannot take advantage of it due
   to OSPF intra-area path preference.

   What is needed is a tool which makes the Area 0 link between A0 and
   B0 visible inside NSSA 1. A common practice is to use multiple
   interface subnets. However this is not an option when the path
   between A0 and B0 is unnumbered or when one desires that the NSSA 1
   path between A0 and B0 be unnumbered. Moreover when configuring
   multiple interface subnets over multi-access networks, inverse-arp
   limitations come into play and additional layer 2 PVCs may be
   required, imposing potential resource and budgetary ramifications.
   The existing tools for the multiple area usage of the same physical
   link are awkward to configure, implementation dependent,
   unnecessarily complex and unwieldy to maintain. If, in the above
   example, the link between A0 and B0 were part of NSSA 1, path
   preference would be optimal as the DS3 path would be intra-area for
   NSSA 1.

2.2 Proposed Solution

   The OSPF Multiple Area Links option is a simpler tool for configuring
   multiple area links, requiring just a simple list of the areas
   sharing an OSPF link. Once configured it lets multiple areas use the
   same link between two border routers for each area's intra-area
   traffic. Traffic may originate from inside each of the configured
   areas, as every router in the configured areas sees the link as part
   of its link state topology. Routers with configured OSPF Multiple
   Area Links must be in Area 0, although the connection to Area 0 may
   be one of the areas listed as sharing the link.

   The current OSPF specification only allows one area per OSPF
   interface.  Thus, should an Area L dual-home to Area 0 via two border
   routers which are adjacent over another Area K's router<->router link
   or router<->network link, the adjacent link over Area K is not seen
   inside Area L, even though the two border routers exist physically
   adjacent within Area L. This, coupled with intra-area route
   preference, prevents Area L from utilizing Area K's adjacent path.






Murphy                                                          [Page 3]


Internet Draft          OSPF Multiple Area Links           February 2002


2.2.1 Secondary Adjacencies

   The softening of this restriction is facilitated by the addition of a
   new interface configuration parameter called SecondaryAreas. This
   parameter specifies a list of additional areas which share the OSPF
   link (See Appendix C). The areas listed in this parameter are called
   the interface's secondary areas, as opposed to the interface's
   configured area, hereafter called the primary area. A separate
   interface data structure is generated for each of the secondary
   areas. For each secondary area listed in the SecondaryAreas parameter
   a router can form OSPF adjacencies across the interface's directly
   attached network or router link. These adjacencies are called
   secondary adjacencies.

   Secondary adjacencies are formed after the primary area's link state
   data base exchange has synchronized matching secondary areas through
   the flooding path with the link's other directly connected routers.
   (See Section 4.0).  Link state database exchange occurs across a
   secondary adjacency along with normal flooding. Note that a secondary
   adjacency for area 0 may not be configured for an interface which is
   linked to a transit area for a configured virtual link (See Section
   3.4).

2.2.2 Secondary Neighbor Discovery

   A Type 9 opaque LSA is used to form secondary adjacencies over a
   primary link with adjacent opaque capable border routers. Until an
   opaque type is assigned for this option, experimental opaque type 224
   will be used. The option's LSA is referred to as an mlink Type 9 LSA.
   A Type 9 LSA is used for the exchange/update of an interface's
   secondary areas because the flooding scope of this opaque LSA needs
   to be restricted to routers which are directly attached to a common
   network or router link. A separate mlink Type 9 LSA is originated for
   each of the primary interface's secondary areas. If required,
   included in a secondary area's mlink Type 9 LSA is the secondary
   area's configured Designated Router priority. Mlink Type 9 LSAs are
   propagated during the exchange/update of the primary area's link
   state data base (LSDB) with its adjacent primary neighbors.

   If a router A receives an mlink Type 9 LSA for area L originating
   from a router B during the exchange/update of primary area K's LSDB,
   then router A may form a secondary adjacency in area L with router B.
   See Section 5.2 for details about secondary neighbor adjacency
   formation. LSDB exchange and update across a secondary adjacency
   proceed as defined in [OSPF] Sections 10 and 13.






Murphy                                                          [Page 4]


Internet Draft          OSPF Multiple Area Links           February 2002


2.2.3 Advertising Secondary Links

   Secondary adjacencies are advertised as point-to-point links. Any
   intervening transit network or stub network assigned to the primary
   interface always belongs to the interface's primary area. There is no
   network LSA for this intervening transit network in any of the
   interface's secondary areas. All secondary adjacencies must be
   advertised in a router-LSA with point-to-point type.

   During the Dykstra shortest path first (SPF) calculation the LSAs for
   secondary adjacencies look like point-to-point links. A border router
   never includes in a secondary area's SPF tree any network across
   which one of its secondary adjacencies span. This ensures
   synchronization of the SPF tree amongst the secondary area's routers.
   However, since border routers share the link's addressing, they may
   use the IP addresses of their secondary neighbors for determining a
   destination's next hop across a secondary link over a point-to-
   multipoint or transit network.

2.3 Application

   Consider now the example mentioned in Section 2.1 and assume NSSA 1
   is configured as a secondary area over the Area 0 link between A0 and
   B0. Since the routers A0, A1, B0, and B1 possess NSSA 1's router-LSAs
   originating from A0 and B0 which define a secondary link between A0
   and B0 in NSSA 1, the NSSA 1 intra-area SPF tree computed by the
   Dykstra calculation now includes this DS3 link with a cost of 1. Thus
   the preferred path between A0 and M1 is

                A0<->B0<->B1<->M1

   and the preferred path between A1 and N1

                A1<->A0<->B0<->N1

3.0 Secondary Interfaces

3.1 The SecondaryAreas Interface Parameter

   A new configuration parameter called SecondaryAreas has been added to
   the OSPF interface data structure (See Appendix C). The
   SecondaryAreas interface parameter lists a set of areas which may
   form secondary adjacencies across the interface. If the
   SecondaryAreas interface parameter has a null list, then no secondary
   areas are configured for this interface and no secondary adjacencies
   can be formed over the interface.

   Each area listed in the SecondaryAreas interface parameter should



Murphy                                                          [Page 5]


Internet Draft          OSPF Multiple Area Links           February 2002


   have a secondary interface data structure. With the exception of Area
   ID all of secondary interface parameters which are usually
   configurable, such as interface cost, authentication parameters and
   Designated Router priority, default to the values assigned to the
   primary interface. Furthermore, except for the Area ID, IP interface
   address and mask, all configurable interface parameters should be
   separately configurable for each secondary interface.  Note that if a
   virtual link is configured across a transit area which is linked to
   an interface, then Area 0 may not be configured in the interface's
   SecondaryAreas parameter.

3.2 The Secondary Interface Data Structure

   An OSPF interface data structure should be built for each of an OSPF
   interface's secondary areas. These interface data structures are
   called secondary interface data structures and are loosely bound to
   the primary interface. The configured primary area of an OSPF
   interface generates its primary interface data structure. A point-
   to-point layer 2 link between two routers may have only one OSPF
   interface per area (See [OSPF] Sections 8.2 and 10.5). Additional
   areas may be added as secondary areas, but they must not duplicate
   areas already configured for the layer 2 link. A secondary
   interface's list of neighboring routers is generated by examining the
   primary interface's received mlink Type 9 LSAs as defined in Section
   4.0 below.

   With the exception of broadcast networks, secondary interfaces copy
   their interface type from the primary interface's data structure. If
   the primary interface's network has broadcast type then the secondary
   interface's network has NBMA type. Secondary interfaces with NBMA
   type still compute a Designated Router and a Backup Designated
   Router. This promotes efficient flooding across the interface's
   transit network. Note that secondary adjacencies are always
   advertised as router links even when their network type is NBMA. As
   such the Designated Router of a secondary NBMA link does not
   originate a type-2 network LSA into the secondary area for the
   primary interface's transit network.

3.3 The Secondary Interface State Machine

   The interface states of a secondary interface are the same as the
   interface states of a primary interface. Secondary neighbors exchange
   Hello packets, called secondary Hello packets, just like primary
   neighbors. The processing of received secondary Hellos is practically
   unchanged (See Section 5.5). The InterfaceUp event for a secondary
   interfaces is generated by its corresponding primary interface when
   the primary interface transitions to either Point-to-point, DR Other,
   DR, or Backup state. In addition to those actions described in [OSPF]



Murphy                                                          [Page 6]


Internet Draft          OSPF Multiple Area Links           February 2002


   Section 9.3, when the InterfaceUp event is generated for secondary
   interfaces, the neighbor Start event is generated for each existing
   secondary neighbor.

   The remainder of the interface state machine is virtually unchanged
   for secondary interfaces. Those protocols which generate the events
   InterfaceDown, LoopInd, UnloopInd for the primary interface should
   generate the same events for all of the primary interface's
   corresponding secondary interfaces. The NeighborChange and BackupSeen
   events are generated through the orderly processing of secondary
   Hello packets received across the secondary interface as described in
   [OSPF] Section 10.5 and augmented in Section 5.4. It is notable that
   since the secondary interface's InterfaceUp event occurs only after
   the primary interface has transitioned to DR other, DR or Backup
   state, a secondary interface's Wait Timer will never start before the
   primary interface's Wait Timer has fired. This produces a more
   orderly ascension to Full state for secondary NBMA adjacencies.

3.4 OSPF Protocol Packet processing

   Since a secondary interface shares the ip address of its
   corresponding primary interface, OSPF protocol packet processing
   needs a minor adjustment.  For broadcast, NBMA, and point-to-
   multipoint links, the packet's IP source address is required to be on
   the same network as the receiving OSPF primary interface. This can be
   verified by comparing the packet's IP source address to the primary
   interface's source address, after masking both addresses with the
   interface mask (See [OSPF] Section 8.2). The Area Id is used to
   distinguish the primary interface from its configured secondary
   interfaces.  Any router with a configured virtual link cannot
   configure Area 0 in the SecondaryAreas parameters of any interface
   belonging to the link's transit area. Otherwise the virtual link
   would not be distinguishable from an Area 0 secondary link.

3.5 Designated Router Election and Function

   The election of the Designated Router and the Backup Designated
   router for a secondary link over a secondary NBMA network proceeds as
   described in [OSPF] Section 9.4. Eligibility is determined from the
   Designated Router priorities configured for each secondary area as
   well as the priorities defined in received secondary Hellos from
   secondary neighbors. Note that the Designated Router for a secondary
   link does not originate a network-LSA (Type-2) into its secondary
   area for the secondary NBMA network over which the secondary link
   bridges. All secondary links are advertised as point-to-point links
   (see Section 6.0). The only function of a secondary link's Designated
   Router is flooding optimization.




Murphy                                                          [Page 7]


Internet Draft          OSPF Multiple Area Links           February 2002


4.0 Synchronizing Secondary Areas using Mlink Type 9 LSAs

   Mlink Type 9 LSAs are used to discover and start secondary neighbor
   relationships. If the primary interface is of broadcast or NBMA type
   then all of its candidate Designated Routers must be opaque capable,
   even if these routers have no secondary areas configured for their
   link to the broadcast or NBMA network. Otherwise mlink Type 9 LSAs
   may not propagate to all potential routers capable of forming
   secondary adjacencies over the network. Note that these candidate
   Designated Routers do not have to support OSPF Multiple Area Links,
   but they do have to be opaque capable in order to flood mlink Type 9
   LSAs to their adjacent primary neighbors who may or may not support
   OSPF Multiple Area Links.

   The format of the mlink Type 9 LSA is detailed in Appendix B. Any
   router which has an interface with a non-empty SecondaryAreas
   interface parameter must originate across the primary interface an
   mlink Type 9 LSA for each configured secondary area. If an
   interface's SecondaryAreas parameter is null, then no mlink Type 9
   LSAs will be advertised. A secondary area's mlink Type 9 LSA
   minimally lists as opaque information the secondary link's Area ID,
   plus, if available, its IP address and, if required, its Designated
   Router priority. A new mlink Type 9 LSA is reoriginated following
   expiration of its LSRefreshInterval or when changes occur in the
   secondary link's router priority. Mlink Type 9 LSAs are only flooded
   at the routers fully adjacent primary neighbors. If a secondary area
   is removed from a primary interface's configured secondary areas, its
   locally originated mlink Type 9 LSA should be flushed.

   The mlink Type 9 LSA of each of the primary interface's secondary
   areas must have a unique opaque ID. The last 24 bits of the Secondary
   Area ID will normally produce unique Opaque IDs. When it doesn't,
   alter the least significant bits until uniqueness is achieved.

5.0 Secondary Neighbors

   An OSPF router converses with its secondary neighbors. Each separate
   conversation is described by a "secondary neighbor data structure".
   Conversations between secondary neighbors are bound to the secondary
   interface and identified by both the Area ID and either the router's
   OSPF Router ID or its Neighbor IP address (see Section 3.4). Unless
   discussed below details for the creation and maintenance of secondary
   neighbors and secondary adjacencies are the same as discussed in
   [OSPF] Sections 10.

5.1 The Secondary Neighbor Data Structure

   The neighbor data structure for secondary adjacencies is identical to



Murphy                                                          [Page 8]


Internet Draft          OSPF Multiple Area Links           February 2002


   the neighbor data structure for standard OSPF adjacencies. Secondary
   neighbors are discovered by comparing the Area IDs of the primary
   interface's received mlink Type 9 LSAs with the secondary areas
   listed in the interface's SecondaryAreas parameter. For point-to-
   multipoint and transit networks, the originator of the mlink Type 9
   LSA should be on the same network as the receiving interface. This
   can be verified by comparing the mlink Type 9 LSA's IP address field
   with the IP address of the primary interface, after masking both
   addresses with the interface mask. For point-to-point and point-to-
   multipoint secondary network types, a separate neighbor data
   structure is always built for each new secondary neighbor discovered
   by a received mlink Type 9 LSA. Since the mlink Type 9 LSA of an NBMA
   secondary link includes the neighbor's Designated Router priority,
   its separate secondary neighbor data structure is built only when
   either the local router or the originating router of the mlink Type 9
   LSA is DR eligible (see Section 5.4). The Neighbor ID and the
   Neighbor IP address of the secondary neighbor's data structure are
   copied from the Advertising Router field and IP Address fields of the
   mlink Type 9 LSA.

5.2 The Secondary Neighbor State Machine

   While secondary neighbor states are identical to OSPF's neighbor
   states, there are a few important distinctions in their actions and
   the events which trigger them. When a primary interface receives an
   new mlink Type 9 LSA from a primary neighbor, the LSA's content may
   create a new secondary neighbor, destroy an existing secondary
   neighbor or modify the state of an existing secondary neighbor. For
   point-to-point and point-to-multipoint secondary network types, a new
   secondary neighbor is always established. For NBMA secondary network
   types, the decision whether or not to create a new secondary neighbor
   depends on whether either the local router or the originating router
   are DR eligible (See Section 5.3). A router must clear its own mlink
   Type 9 LSAs from the database summary list of a primary neighbor
   during database exchange to ensure that its corresponding secondary
   neighbor relationships transition out of Down state. A secondary
   neighbor state machine always passes through Attempt state, even for
   point-to-point and point-to-multipoint secondary interface network
   types (See Section 5.3 and 5.4).

   If an mlink Type 9 LSA ages out, the KillNbr event is executed for
   the corresponding secondary neighbor, and the LSA should be flushed.
   If the state of the neighbor is 2-way or higher, the local router
   should send a Hello packet to the secondary neighbor which omits it
   from the neighbor list (See Section 5.5). The conditions which cause
   the execution of the KillNbr and LLDown events for primary neighbors
   should trigger the same events for any of their corresponding
   secondary neighbors.



Murphy                                                          [Page 9]


Internet Draft          OSPF Multiple Area Links           February 2002


   Since the formation of secondary neighbors is linked with the
   database exchange and the link state update of the mlink Type 9 LSAs
   received across the primary link, the timing of this exchange effects
   when a secondary neighbor transitions to ExStart state. The mlink
   Type 9 LSA of a secondary Area 0 should be listed at the top of the
   database summary list. The mlink Type 9 LSAs of non-backbone
   secondary areas should be listed at the bottom of the database
   summary list. These tools mitigate the effect of the database
   exchange by non-backbone secondary areas on the primary neighbor
   state machine as it transitions to Full state, while at the same time
   letting an Area 0 secondary neighbor state machine proceed to Full
   state roughly in parallel with the primary neighbor state machine.

5.3 Receiving Mlink Type 9 Neighbor Discovery LSAs

   This section explains the detailed processing of a received mlink
   Type 9 LSA. Note that any mlink Type 9 LSAs received across a
   secondary interface are simply ignored. Thus two neighbors which
   don't agree on the primary area will never form either primary or
   secondary adjacencies.

   When an mlink Type 9 LSA is acknowledged during a primary neighbor's
   database exchange or received via link state update, its Secondary
   Area ID is checked against those listed in the primary interface's
   SecondaryAreas parameter. If it is not listed processing of this LSA
   stops. If it is listed, for point-to-multipoint and transit networks
   the originator of the mlink Type 9 LSA should be on the same network
   as the receiving interface.  This can be verified by comparing the
   mlink Type 9 LSA's IP address field with the IP address of the
   primary interface, after masking both addresses with the interface
   mask. If a match does not occur processing of this LSA stops.

   Next check for the existence of a secondary neighbor in the current
   list of secondary neighbors contained in the corresponding secondary
   interface data structure. If a matching secondary neighbor data
   structure cannot be found, (i.e. this is the first time the secondary
   neighbor has been detected), and if the secondary network type is
   either point-to-point or point-to-multipoint or the secondary network
   type is NBMA and either the local router or the originating router is
   DR eligible across the secondary NBMA, then create a secondary
   neighbor data structure for the neighbor described in the mlink Type
   9. The Neighbor ID and the Neighbor IP address of the secondary
   neighbor data structure are copied from the Advertising Router and IP
   Address fields of the mlink Type 9 LSA. The initial state of the
   newly created secondary neighbor is set to Down. If the secondary
   network type is point-to-point or point-to-multipoint, or the
   secondary network type is NBMA and both the local router and the
   originating router are DR eligible (as defined the secondary neighbor



Murphy                                                         [Page 10]


Internet Draft          OSPF Multiple Area Links           February 2002


   data structure and the newly received mlink Type 9 LSA) then execute
   a Start event for the newly created secondary neighbor.

5.4 Receiving Secondary Hello Packets

   The processing of Secondary Hello Packets proceeds as described in
   [OSPF] Section 10.5 with just a few exceptions. If a Secondary Hello
   Packet is received from a non-existent secondary neighbor the
   processing of the Hello Packet stops and the packet is dropped.
   Secondary neighbor data structures are created by the processing of
   received mlink Type 9 LSAs (See Section 5.4). If a Secondary Hello
   Packet is received with a router priority which does not match that
   of the mlink Type 9 LSA which created the secondary neighbor, a 1-
   WayReceived event should be executed.

6.0 Advertising Secondary Adjacencies

   A Border router advertises its secondary adjacencies in the router-
   LSAs of its configured secondary areas as point-to-point links even
   though they may be secondary NBMA links. Any stub or transit networks
   shared by the primary link with its secondary links are never
   advertised in the router-LSAs of its secondary areas. This allows
   these stub and transit networks to retain a single area identity.
   Noting that a secondary interface does share the IP address of its
   corresponding primary interface, when adding the secondary link to
   the router LSA [OSPF] Section 12.4.1.1 is reduced to simply

      If a neighboring router has formed a secondary adjacency then add
      a type 1 (point-to-point) link for this adjacency. Its Link ID
      should be set to the Router ID of the neighboring router. If the
      corresponding primary interface is numbered, the Link Data should
      specify the primary interface's IP address. If the primary
      interface is unnumbered, the Link Data field should specify the
      interface's MIB-II [MIB] ifIndex value. The cost should be set to
      the configured output cost of the corresponding secondary
      interface.

7.0 The Shortest Path First Calculation

   Since secondary links appear in the link state data base of an area
   as point-to-point links there is no change required in the Shortest
   Path First (SPF) calculation, except on those border routers where
   they are configured.  Border routers do not include in a secondary
   area's SPF tree any network which one of its secondary adjacencies
   transit. This ensures synchronization of the SPF tree amongst the
   secondary area's other routers. However border routers do use the IP
   addresses stored in their secondary neighbors' router-LSAs for
   determining a destination's next hop across a secondary link when the



Murphy                                                         [Page 11]


Internet Draft          OSPF Multiple Area Links           February 2002


   associated interface connects to a point-to-multipoint or transit
   network. In this case the outgoing interface is derived directly from
   the destination router's next hop IP address.

8.0 Flushing Secondary Adjacencies

   Secondary adjacencies are flushed from the link state database of a
   secondary area when their neighbors transition down from Full state,
   just as with normal OSPF adjacencies. A new router-LSA is built for
   the secondary area and flooded out all of the secondary area's
   primary and secondary interfaces. Finally the SPF calculation is
   performed to reflect the new link state topology.

9.0 Security Considerations

   Security issues are not discussed in this memo.

10.0 Acknowledgments

   This document was produced by the OSPF Working Group, chaired by John
   Moy.  Most notably, Acee Lindem, Redback Networks, provided
   outstanding input which substantially simplified this document from
   its previous incarnations.

11.0 References

   [MIB]   McCloghrie, K., and M. Rose, "Management Information Base for
           network management of TCP/IP-based internets: MIB-II", STD
           17, RFC 1213, Hughes LAN Systems, Performance Systems
           International, March 1991.

   [OPAQ]  Coltun, Rob, "The OSPF Opaque LSA Option", FORE Systems,
           August 1998.

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

12.0 Author's Address

   Pat Murphy
   US Geological Survey
   345 Middlefield Road, Mail Stop 870
   Menlo Park, California 94560

   Phone: (650)329-4044
   EMail: pmurphy@noc.usgs.net





Murphy                                                         [Page 12]


Internet Draft          OSPF Multiple Area Links           February 2002


Appendix A. Router-LSAs

   Router-LSAs are Type 1 LSAs. Each router in an area originates a
   router-LSA.  The router-LSA describes the state and cost of the
   router's links (i.e., interfaces) to the area. All of the router's
   links to an area, including secondary links, must be described in a
   single router-LSA. For details concerning the construction of
   router-LSAs see this document's Section 6.0 and [OSPF] Section
   12.4.1.

        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   |       1       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Link State ID                          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Advertising Router                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     LS sequence number                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         LS checksum           |             length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    0    |V|E|B|        0      |            # links            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                          Link ID                              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Link Data                             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Type      |     # TOS     |            metric             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                              ...                              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |      TOS      |        0      |          TOS  metric          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                          Link ID                              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Link Data                             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                              ...                              |

   In router-LSAs, the Link State ID field is set to the router's OSPF
   Router ID. Router-LSAs are flooded throughout a single area only.

      bit V
          When set, the router is an endpoint of one or more fully
          adjacent virtual links having the described area as its
          transit area (V is for virtual link endpoint).



Murphy                                                         [Page 13]


Internet Draft          OSPF Multiple Area Links           February 2002


      bit E
          When set, the router is an AS boundary router (E is for
          external).

      bit B
          When set, the router is an area border router (B is for
          border).

      bit W
          When set, the router is a wild-card multicast receiver (W is
          for wild).

      bit Nt
          When set, the router is a NSSA border router which translates
          type-7 LSAs into type-5 LSAs (Nt is for NSSA translation).

      # links
          The number of router links described in this LSA. This must be
          the total collection of router links (i.e., interfaces) to the
          area including a separate entry for each fully adjacent
          secondary neighbor, regardless of its secondary link's network
          type.

   The following fields are used to describe each router link (i.e.,
   interface). Each router link is typed (see the below Type field). The
   Type field indicates the kind of link being described. It may be a
   link to a transit network, to another router or to a stub network.
   The values of all the other fields describing a router link depend on
   the link's Type. For example, each link has an associated 32-bit Link
   Data field. For links to stub networks this field specifies the
   network's IP address mask. For other link types the Link Data field
   specifies the router interface's IP address.

      Type
          A quick description of the router link for one of the
          following. Note that host routes are classified as links to
          stub networks with network mask of 0xffffffff. Secondary
          router links are always type 1 point-to-point even when they
          have secondary NBMA network type.


                 Type   Description
                 __________________________________________________
                 1      Point-to-point connection to another router
                 2      Connection to a transit network
                 3      Connection to a stub network
                 4      Virtual link




Murphy                                                         [Page 14]


Internet Draft          OSPF Multiple Area Links           February 2002


      Link ID
          Identifies the object that this router link connects to. Its
          value depends on the link's Type. When connecting to an object
          that also originates an LSA (i.e., another router or a transit
          network) the Link ID is equal to the neighboring LSA's Link
          State ID.  This provides the key for looking up the
          neighboring LSA in the link state database during the routing
          table calculation. See [OSPF] Section 12.2 for more details.

                 Type   Link ID
                 ______________________________________
                 1      Neighboring router's Router ID
                 2      IP address of Designated Router
                 3      IP network/subnet number
                 4      Neighboring router's Router ID

      Link Data
          Value again depends on the link's Type field. For connections
          to stub networks, Link Data specifies the network's IP address
          mask. For unnumbered point-to-point connections, it specifies
          the interface's MIB-II [MIB] ifIndex value. For the other link
          types it specifies the router interface's IP address. This
          latter piece of information is needed during the routing table
          build process, when calculating the IP address of the next
          hop. Recall a secondary router link (Type 1) shares the IP
          address of its corresponding primary interface, if it exists.
          Otherwise it is an unnumbered point-to-point connection. See
          Section 6.0 of this document and [OSPF] Section 16.1.1 for
          more details.

      # TOS
          The number of different TOS metrics given for this link, not
          counting the required link metric (referred to as the TOS 0
          metric in [1583]). For example, if no additional TOS metrics
          are given, this field is set to 0.  Secondary Areas do not use
          TOS.

      metric
          The cost of using this router link. For secondary links the
          cost is specified in the secondary interface data structure.


   Additional TOS-specific information may also be included, for
   backward compatibility with previous versions of the OSPF
   specification ([1583]).  Within each link, and for each desired TOS,
   TOS-specific link information may be encoded as follows:





Murphy                                                         [Page 15]


Internet Draft          OSPF Multiple Area Links           February 2002


      TOS
          IP Type of Service that this metric refers to. The encoding of
          TOS in OSPF LSAs is described in [1583] Section 12.3.

      TOS metric
          TOS-specific metric information.













































Murphy                                                         [Page 16]


Internet Draft          OSPF Multiple Area Links           February 2002


Appendix B. Mlink Type 9 Neighbor Discovery LSAs

   Mlink Type 9 LSAs are used directly by OSPF to distribute lists of
   candidate secondary areas among neighboring routers. Mlink Type 9
   LSAs are flooded across the primary interface. The flooding scope of
   an mlink Type 9 LSAs is link-local, which means mlink Type 9 LSAs are
   never flooded beyond the local (sub)network or router link.

   Sections 4.0 and 5.3 of this document describe the purpose of these
   mlink Type 9 LSAs in more detail.

       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       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Opaque Type   |               Opaque ID                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      Advertising Router                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      LS Sequence Number                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         LS checksum           |           Length              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       Secondary Area ID                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                          IP Address                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Sec Rtr Pri  |                       0                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Syntax of the mlink Type 9 LSA's Link-State ID

      The link-state ID of an mlink Type 9 LSA is divided into an Opaque
      Type field (the first 8 bits), which has value mlink, and the
      Opaque ID (the remaining 24 bits).  The mlink Type 9 LSA of each
      of the primary interface's secondary areas must have a unique
      opaque ID. The last 24 bits of the Secondary Area ID will normally
      produce unique Opaque IDs. When it doesn't, alter the least
      significant bits until uniqueness is achieved.

      Options
         The optional capabilities supported by this router for the
         primary area, as documented in [OSPF] Section A.2.

      Secondary Area ID
         The area ID of the area across which a neighboring router may
         form a secondary adjacency.



Murphy                                                         [Page 17]


Internet Draft          OSPF Multiple Area Links           February 2002


      IP Address
         The IP Address of the secondary area's corresponding primary
         interface. If the primary interface has unnumbered point-to-
         point type, then IP Address should be set to 0.

      Sec Rtr Pri
         This router's Designated Router priority for a secondary link
         across a transit network. This parameter is used during the
         secondary links (Backup) Designated Router election.  If set to
         0, the router will be ineligible to become the (Backup)
         Designated Router for this secondary link.








































Murphy                                                         [Page 18]


Internet Draft          OSPF Multiple Area Links           February 2002


Appendix C. Interface Data Structure

   Chapter 9 in the OSPF specification documents the interface data
   structure and the data items which are included in it. Section 3.1 of
   this document defines a new interface configuration parameter called
   SecondaryAreas which supports OSPF Multiple Area Links. The
   SecondaryAreas interface parameter lists a set of areas which may
   form secondary adjacencies across the interface. The SecondaryAreas
   parameter's default setting is null. If a virtual link is configured
   across a transit area linked to an interface, then Area 0 may not be
   configured in the interface's SecondaryAreas parameter.

   Each area listed in the SecondaryAreas interface parameter should
   have a secondary interface data structure. With the exception of Area
   ID all of secondary interface parameters which are usually
   configurable, such as interface cost, authentication parameters and
   Designated Router priority, default to the values assigned to the
   primary interface. Furthermore, except for the Area ID, IP interface
   address and mask, all configurable interface parameters should be
   separately configurable for each secondary interface.  The
   SecondaryAreas parameter in a secondary interface data structure is
   always null.





























Murphy                                                         [Page 19]