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


                  Unnumbered 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    Unnumbered OSPF Multiple Area Links        August 2000


Table Of Contents

   1.0   Abstract .................................................  1
   2.0   Overview .................................................  2
   2.1   Requirement for Unnumbered 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 Selection and Function .................  7
   4.0   Synchronizing Secondary Areas Using Mlink Type-9 LSAs ....  8
   5.0   Secondary Neighbors ......................................  9
   5.1   The Secondary Neighbor Data Structure ....................  9
   5.2   The Secondary Neighbor State Machine ..................... 10
   5.3   Events Triggered by the Primary Neighbor State Machine.... 11
   5.4   Receiving Hello Packets .................................. 11
   5.5   Receiving Mlink Type-9 Neighbor Discover LSAs ............ 12
   6.0   Advertising Secondary Adjacencies ........................ 13
   7.0   The Shortest Path First Calculation ...................... 14
   8.0   Flushing Secondary Adjacencies ........................... 14
   9.0   Security Considerations .................................. 15
   10.0  Acknowledgments .......................................... 15
   11.0  References ............................................... 15
   12.0  Authors' Addresses ....................................... 15
   Appendix A: Router-LSAs ........................................ 16
   Appendix B: Mlink Type-9 Neighbor Discover LSAs ................ 20
   Appendix C: Configuration Parameters ........................... 23

1.0 Abstract

   This memo describes an option to the OSPF Version 2 specification
   which allows multiple areas to share the same OSPF interface and
   links. One area is always configured as an interface's primary area.
   The interface's remaining areas are termed secondary and view it as
   unnumbered. Two border routers adjacent across the same secondary
   area may forward the area's intra-area traffic across its secondary
   links. 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    Unnumbered OSPF Multiple Area Links        August 2000


2.0 Overview

2.1 Requirement for Unnumbered 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    Unnumbered OSPF Multiple Area Links        August 2000


   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. These tools also burden the
   physical link with the simultaneous database exchange of multiple
   OSPF interfaces during adjacency formation.

   The Unnumbered 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. Furthermore it prioritizes database
   exchange, giving preference to the primary area and Area 0 over other
   non-backbone secondary areas. 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 Unnumbered OSPF Multiple Area Links option lets multiple areas
   use the same link between two border routers for 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 unnumbered OSPF multiple
   area links must be in Area 0, although the connection to Area 0 may
   be an unnumbered OSPF multiple area 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



Murphy                                                          [Page 3]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   adjacent within Area L. This, coupled with intra-area route
   preference, prevents Area L from utilizing Area K's adjacent path.

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 in which an OSPF
   interface also belongs (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 with the primary area's
   neighboring routers 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 with any
   of its primary neighbors (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 over an interface which is linked to a transit area for a
   configured virtual link.

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. Included in a
   secondary area's mlink Type-9 LSA is the secondary area's configured
   optional capabilities, its authentication parameters, plus, if
   required, its 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
   provided the LSA's optional capabilities and authentication
   parameters match those configured for the secondary area in the
   SecondaryAreas parameter. See Section 5.2 for details about secondary



Murphy                                                          [Page 4]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   neighbor adjacency formation. LSDB exchange and update across a
   secondary adjacency proceed as defined in [OSPF] Sections 10 and 13.

2.2.3 Advertising Secondary Links

   Secondary adjacencies are advertised as point-to-point or point-to-
   multipoint links. Any intervening transit network always belongs to
   the interface's primary area. Moreover, there is no network LSA for a
   secondary adjacency's intervening transit network in the secondary
   area.  Hence all secondary adjacencies must be advertised in a
   router's router-LSA with unnumbered point-to-point type.

   During the Dykstra shortest path first (SPF) calculation the LSAs for
   secondary adjacencies look like unnumbered 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 border routers may use the IP addresses of
   neighboring routers 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 path between A0 and M1 is the more preferred path

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

   and the path between A1 and N1 is the more preferred path

                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 unnumbered 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. For each secondary area listed in



Murphy                                                          [Page 5]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   the SecondaryAreas interface parameter the interface cost,
   authentication parameters, and Designated Router priority are also
   configurable. The SecondaryAreas' interface costs and the Designated
   Router priorities default to the values assigned to the primary
   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 bound to the
   primary interface.  The configured primary area of an OSPF interface
   generates its primary interface data structure. Recall [OSPF]
   Sections 8.2 and 10.5 imply that a point-to-point layer 2 link
   between two routers may have only one OSPF interface per area.
   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. Before a neighboring router may be
   added to the secondary interface's list of neighboring routers it
   must also occur in the primary interface's list of neighboring
   routers.

   Secondary interfaces copy their interface type from the primary
   interface's data structure and still compute a Designated Router and
   a Backup Designated Router over broadcast and NBMA networks. This
   promotes efficient flooding across a primary interface's transit
   network. However, these network links are always advertised as
   unnumbered router<->router links and behave exactly like point-to-
   multipoint interfaces. As such a secondary link's Designated Router
   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. However in some cases state
   transitions are triggered by the primary interface's state machine.
   The InterfaceUp event is redefined for secondary links:

   InterfaceUp

      This event is triggered by the primary interface when it
      transitions to either Point-to-point, DR Other, DR, or Backup



Murphy                                                          [Page 6]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


      state. Its effect on the secondary interface's state is similar to
      the effect the InterfaceUp event has on the primary interface's
      state with one exception. The periodic sending of Hello packets is
      suppressed for a secondary interface. If the primary interface
      network is a physical point-to-point or point-to-multipoint
      network, then the secondary interface transitions to Point-to-
      point state. Else if the router is not eligible to become the
      Designated Router, the interface state transitions to DR Other.

      Otherwise the attached primary network is a broadcast or NBMA
      network and the router is eligible to become a Designated Router
      for the secondary area.  In this case, an attempt is made to
      discover the attached network's Designated Router for the
      secondary area. The interface state is set to Waiting and the
      single shot Wait Timer is started.

   The events BackupSeen and NeighborChange for a secondary interface
   are triggered during the processing of the primary interface's
   received mlink Type-9 LSAs in very much the same way these events are
   triggered for a standard OSPF interface during the processing of
   received Hello Packets (See Section 5.5).

   The events InterfaceDown, LoopInd, UnloopInd, and Wait Timer are
   unchanged for secondary interfaces. Note 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.

3.4 OSPF Protocol Packet processing

   Since secondary interfaces are unnumbered interfaces, OSPF protocol
   packet processing needs a minor adjustment. For point-to-point
   networks there are no changes. 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).

3.5 Designated Router Selection and Function

   The election of the Designated Router and the Backup Designated
   router for a secondary link over a broadcast or NBMA network proceeds
   as described in [OSPF] Section 9.4. Eligibility is determined from
   the Designated Router priorities defined in the SecondaryAreas
   parameter and the received mlink Type-9 LSAs, as well as its
   neighbors' views of the Designated Router and the Backup Designated



Murphy                                                          [Page 7]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   Router for the secondary link, which is also found in the received
   mlink Type-9 LSAs. Any change in the calculating router's Designated
   Router or Backup Designated Router for a secondary link will result
   in the reorigination of the corresponding secondary area's mlink
   Type-9 LSA.

   Note that the Designated Router for a secondary link does not
   originate a network-LSA (Type-2) into its secondary area for the
   broadcast or NBMA network over which the secondary link bridges. All
   secondary links remain unnumbered point-to-point or point-to-
   multipoint (see Section 6.0). The only function of a secondary link's
   Designated Router is flooding optimization.

4.0 Synchronizing Secondary Areas using Mlink Type-9 LSAs

   Mlink Type-9 LSAs are used to discover and maintain secondary
   neighbor relationships and to elect the Designated Router and Backup
   Designated Router for multi-access secondary adjacencies. 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 unnumbered 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
   unnumbered 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 an mlink Type-9 LSA for each
   configured secondary area. If an interface's SecondaryAreas parameter
   is null, then no mlink Type-9 LSAs should be advertised. A secondary
   area's mlink Type-9 LSA minimally lists as opaque information the
   area's secondary area ID, its optional capabilities, its
   authentication parameters, and, if required, its Designated Router
   priority.

   In addition, to ensure proper secondary neighbor state transition, a
   secondary area's mlink Type-9 LSA also lists as opaque information
   those primary neighbors from which an mlink Type-9 LSA has been
   received for this area with matching optional capabilities and
   authentication parameters (See Section 5.5). Any change in this list
   will result in the reorigination of a new instance of the secondary
   area's mlink Type-9 LSA. Also for broadcast and NBMA networks the
   mlink Type-9 LSA lists the router's current choice for the area's
   Designated Router and Backup Designated Router. A value of 0.0.0.0 in



Murphy                                                          [Page 8]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   these fields means that one has not yet been selected.

   Unlike Hello Packets, a new instance of a secondary area's mlink
   Type-9 LSA is only originated when the LSA's opaque information
   content has changed or when the LSRefreshInterval has expired. The
   LSA's content may change during the processing of received Hellos and
   received mlink Type-9 LSAs, or when an mlink Type-9 LSA ages out or
   when the primary interface parameters of a secondary area are
   reconfigured. A new mlink Type-9 LSA is reoriginated following
   expiration of its LSRefreshInterval or when changes occur in its
   secondary area's interface cost, authentication parameters, router
   priority, Designated Router, Backup Designated Router, or the area's
   list of secondary neighbors at state greater than Init. Like other
   LSAs, the reorigination of a mlink Type-9 LSA is subject to the
   MinLSInterval. New mlink Type-9 LSAs are built from the list of
   configured secondary areas plus their corresponding secondary
   interface state machines and secondary neighbor state machines. 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 below). Unless
   discussed below details for the creation and maintenance of secondary
   neighbors and secondary adjacencies are the same as discussed in
   [OSPF] Sections 9 and 10.

5.1 The Secondary Neighbor Data Structure

   The neighbor data structure for secondary adjacencies is identical to
   the neighbor data structure for standard OSPF adjacencies. Secondary
   neighbors are discovered by comparing the contents of the primary
   interface's received mlink Type-9 LSAs with its configured list of
   secondary areas and then comparing the secondary areas' configured
   optional capabilities (see Section 5.5) with those listed for them in
   the neighboring router's mlink Type-9 LSAs. A separate neighbor data
   structure is built for each matching secondary area.



Murphy                                                          [Page 9]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   The Inactivity Timer used for a primary neighbor data structure is
   synchronized with the Inactivity Timer for all of its configured
   secondary neighbor data structures. The secondary link's Designated
   Router and the Backup Designated Router, as viewed by a secondary
   neighbor, are specified as opaque information stored in the
   neighbor's corresponding mlink Type-9 LSA and received over the
   primary interface. Also included are the neighbor's Designated Router
   priority for the secondary link, its optional capabilities, and a
   list of secondary neighbors it sees over the secondary link.

   The secondary Neighbor ID and Neighbor IP address are copied from the
   corresponding primary area neighbor data structure. The OSPF optional
   capabilities which are supported by the neighboring router for the
   secondary area are learned from opaque information stored in the
   neighbor's mlink Type-9 LSA for this area and must match the local
   router's optional capabilities configured for the secondary area.

5.2 The Secondary Neighbor State Machine

   While secondary neighbor states are identical to OSPF's neighbor
   states, there are some important distinctions in their actions and
   the events which trigger them. Every router which is a secondary
   neighbor for a secondary interface is also a primary neighbor for its
   primary interface. The two neighbor data structures are loosely bound
   together so that events which happen to the primary neighbor may
   trigger events for the secondary neighbor.

   A secondary neighbor's Init, 1-way, and 2-way state transitions are
   controlled by the reception across the primary interface of Hello
   Packets and mlink Type-9 LSAs (See Sections 5.4 and 5.5). The
   combination of the two eliminates the requirement for the periodic
   sending of Hello Packets for each secondary interface. When a primary
   neighbor state machine receives a new mlink Type-9 LSA from a primary
   neighbor via link state update, or confirms the status of an existing
   one during database exchange, the LSA's content may create a new
   secondary neighbor or effect the state of an existing secondary
   neighbor. A router must clear its own mlink Type-9 LSAs from the
   database summary list during database exchange with its primary
   neighbors to enable its secondary neighbors to transition past Init
   state.  Any existing mlink Type-9 LSAs previously received from other
   primary neighbors must be cleared from the database summary list
   during a primary neighbor's database exchange before their content
   can create new secondary neighbors or change the state of existing
   secondary neighbors.

   If an mlink Type-9 LSA of a primary neighbor ages out, the KillNbr
   event is executed for the primary neighbor's corresponding secondary
   adjacency, and the LSA should be flushed. A newly received mlink



Murphy                                                         [Page 10]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   Type-9 LSA from a primary neighbor may effect the creation of a new
   secondary adjacency for the neighbor. It may also cause the
   corresponding secondary neighbor to drop to 2-Way state or lower or
   be destroyed altogether. (See Section 5.5)

   A secondary neighbor state machine never enters Attempt state for a
   NBMA secondary interface. Instead it relies solely on its
   corresponding primary neighbor state machine to start communications
   over an NBMA. Hence there is no Start event for a secondary neighbor
   state machine (See Section 5.4).

5.3 Events Triggered by the Primary Neighbor State Machine

   When a primary neighbor state machine transitions down to ExStart due
   to either a SeqNumberMismatch or BadLSReq event, it triggers a 1-
   WayReceived Event for any secondary neighbors at state 2-way or
   greater.

   The events KillNbr, LLDown, and Inactivity Timer of a primary
   neighbor state machine simultaneously trigger the same events for its
   loosely bound secondary neighbor state machines.

   Since the formation of secondary neighbors is linked with the
   database exchange and the link state update of the mlink Type-9 LSAs
   received from their loosely bound primary neighbors, 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 allowing an Area 0 secondary neighbor state machine to
   proceed to Full state roughly in parallel with the primary neighbor
   state machine.

5.4 Receiving Hello Packets

   If a Hello Packet is received from one of the interface's existing
   primary neighbors which has loosely bound secondary neighbors then
   the corresponding secondary neighbor state machines are executed in
   line as follows:

   o  Each Hello Packet causes each of the neighbor's existing secondary
      neighbor state machines at state greater than Down to be executed
      with the event HelloReceived.

   o  Then the list of neighbors contained in the Hello Packet is



Murphy                                                         [Page 11]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


      examined.  If the router itself does not appear in this list, then
      each of the neighbor's existing secondary neighbor state machines
      at state greater than Init should be executed with the event 1-
      WayReceived.

   Hello packets do not cause secondary neighbor structures to be
   created and do not effect the election of Designated Routers and
   Backup Designated Routers by the secondary interface state machines.
   That is triggered by the processing of the primary interface's
   received mlink Type-9 LSAs. All primary neighbors are considered
   secondary neighbors for each configured secondary area. They
   transition from Down to Init state with their corresponding primary
   neighbors and freeze at Init state until the creation of their
   secondary neighbor data structures is triggered when the primary
   interface receives their mlink Type-9 LSAs. (See Section 5.5)

5.5 Receiving Mlink Type-9 Neighbor Discovery LSAs

   This section explains the detailed processing of a received mlink
   type-9 LSA. 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 and its optional capabilities or
   authentication parameters no longer match those stored in the
   SecondaryAreas parameter, then execute a KillNbr event for any
   existing corresponding secondary neighbor state machine belonging to
   this neighbor and terminate processing of this LSA.

   Else check for the existence of a secondary neighbor state machine
   for the Secondary Area ID that corresponds to the originating primary
   neighbor. If one does not exist, create one. Initialize its state to
   Init and copy the Neighbor ID, the Inactivity Timer, and the Neighbor
   IP address from the corresponding primary neighbor state machine.

   When the received mlink Type-9 LSA originated from a primary neighbor
   over a broadcast, point-to-multipoint or NBMA network set the
   corresponding secondary neighbor data structure's Router Priority
   field, Neighbor's Designated Router field, and the Neighbor's Backup
   Designated Router field from the corresponding fields in the LSA's
   opaque data. Changes in these fields should be noted for possible use
   in the steps below.

   Now the rest of the mlink Type-9 LSA is examined generating events to
   be given to the corresponding secondary neighbor and secondary
   interface state machines. These state machines are specified either
   to be executed or scheduled (see [OSPF] Section 4.4). For example, by
   specifying below that the secondary neighbor state machine be



Murphy                                                         [Page 12]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   executed in line, several neighbor state transitions may be effected
   by a single received mlink Type-9 LSA:

   o  The list of secondary neighbors contained in the LSA's opaque data
      is examined. If the router itself appears in this list, then the
      corresponding secondary neighbor state machine for this neighbor
      should be executed with the event 2-WayReceived. Otherwise, the
      secondary neighbor state machine should be executed with the event
      1-WayReceived, and the processing of the LSA stops.

   o  Next, if a change in the neighbor's Secondary Router Priority
      field in the LSA was noted, the corresponding secondary interface
      state machine is scheduled with the event NeighborChange.

   o  If the neighbor is both declaring itself to be the Designated
      Router in the LSA (LSA's Designated Router field = Neighbor IP
      address), and the Backup Designated Router field in the LSA's
      opaque information is equal to 0.0.0.0, and the corresponding
      secondary interface is in state Waiting, then schedule the
      secondary interface state machine with the event BackupSeen.
      Otherwise, if the neighbor is declaring itself to be the
      Designated Router in the LSA and it had not previously, or the
      secondary neighbor is not declaring itself Designated Router in
      the LSA where it had previously, then schedule the secondary
      interface state machine with the event NeighborChange.

   o  If the secondary neighbor is declaring itself to be the Backup
      Designated Router in the LSA (LSA's Backup Designated Router field
      = Neighbor IP address) and the corresponding secondary interface
      is in state Waiting, then schedule the secondary interface state
      machine with the event BackupSeen. Otherwise, if the neighbor is
      declaring itself to be the Backup Designated Router in the LSA and
      it had not previously, or the neighbor is not declaring itself
      Backup Designated Router where it had previously, the secondary
      interface state machine is scheduled with the event
      NeighborChange.

6.0 Advertising Secondary Adjacencies

   Border routers advertise their secondary adjacencies in their
   router-LSAs as unnumbered point-to-point links even though they may
   be numbered point-to-point links, point-to-multipoint links, or
   broadcast or NBMA network links in the OSPF interface's primary area.
   This allows their interconnecting networks to retain a single area
   identity. As unnumbered point-to-point links, all secondary
   adjacencies have link type 1. The building of the router-LSA, as
   described in [OSPF] Section 12.4.1, is virtually unchanged.




Murphy                                                         [Page 13]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   Even though secondary adjacencies are considered unnumbered point-
   to-point links, for the purpose of defining Link Data in the router-
   LSA (see Appendix A) they use the primary interface's IP address. For
   secondary adjacencies [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
      primary interface is numbered, the Link Data should specify the
      primary interface's IP address. For unnumbered point-to-point
      networks, the Link Data field should specify the interface's MIB-
      II [MIB] ifIndex value. The cost should be set to the secondary
      area's cost specified in the primary interface's SecondaryAreas
      parameter.

   By not adding the host route type 3 links noted in [OSPF] Section
   12.4.1, secondary adjacencies retain the look and feel of unnumbered
   point-to-point links to the remaining routers in the secondary area,
   even though they may configure their link data with the primary
   interface's IP address.

7.0 The Shortest Path First Calculation

   Since secondary links appear in the link state data base of an area
   as unnumbered 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 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
   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 neighbor states transition down from Full
   status, 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.







Murphy                                                         [Page 14]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


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.  In addition, comments from the following individual are also
   acknowledged:

   Acee Lindem        IBM

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@usgs.gov

















Murphy                                                         [Page 15]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


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 16]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


      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 as well as a separate entry for each fully adjacent
          secondary neighbor across a broadcast or NBMA network link.
          Secondary interfaces to broadcast and NBMA networks are
          considered point-to-multipoint networks.

   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.


                 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 17]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


      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. Secondary links are always type 1 point-to-point
          regardless of the type of their matching primary link. 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.  Although secondary links are considered unnumbered
          point-to-point links, they do evaluate Link Data as if they
          were numbered whenever their interface has an IP address
          associated with its primary area. 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 primary interface's SecondaryAreas
          parameter.


   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,



Murphy                                                         [Page 18]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


   TOS-specific link information may be encoded as follows:

      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 19]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


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
   mlink Type-9 LSAs is link-local, which means mlink Type-9 LSAs are
   never forwarded beyond the local (sub)network or router link.

   Sections 4.0 and 5.5 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                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Sec AuType           |  Sec Options  |  Sec Rtr Pri  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       Sec Authentication                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       Sec Authentication                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       Designated Router                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    Backup Designated Router                   |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       Secondary neighbor                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                              ...                              |

   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



Murphy                                                         [Page 20]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


      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.

      Sec AuType
         Identifies the authentication procedure to be used.
         Authentication is discussed in [OSPF] Appendix D of the
         specification. Consult [OSPF] Appendix D for a list of the
         currently defined authentication types.

      Sec Authentication
         A 64-bit field for use by the authentication scheme. See [OSPF]
         Appendix D for details.

      Neighbors Cnt
         This 16 bit field describes the number of secondary neighbors
         listed for the Secondary Area ID. If there are no secondary
         neighbors listed, then Neighbor Cnt should be set to 0.

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

      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.

      Designated Router
         The identity of the Designated Router for a secondary link, in
         the view of the originating router.  The Designated Router is
         identified here by the IP address across the primary link.  Its
         value is set to 0.0.0.0 if there is no Designated Router for
         the secondary link.

      Backup Designated Router
         The identity of the Backup Designated Router for a secondary
         link, in the view of the originating router.  The Backup
         Designated Router is identified here by its IP address across
         the primary link. Its value is set to 0.0.0.0 if there is no



Murphy                                                         [Page 21]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


         Backup Designated Router for the secondary link.

      Secondary Neighbor
         The Router IDs of each router from whom valid mlink Type-9 LSAs
         have been received across the primary link for the secondary
         area with matching optional capabilities and authentication
         parameters.












































Murphy                                                         [Page 22]


Internet Draft    Unnumbered OSPF Multiple Area Links        August 2000


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 unnumbered OSPF multiple area links.
   The SecondaryAreas parameter's default setting is null. The
   SecondaryAreas parameter in a secondary interface data structure is
   always null.

   For each secondary area listed in an interface's SecondaryAreas
   parameter, the secondary link's interface cost, authentication
   parameters and Designated Router priority must be configurable. If
   the interface cost and Designated Router priority are not configured
   they default to their corresponding values for the OSPF primary
   interface. 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.

































Murphy                                                         [Page 23]