Internet Draft                                            Deborah Estrin
Expiration: December 1995                                        USC/ISI
File: draft-ietf-rsvp-routing-00.txt                       Scott Shenker
                                                                    PARC
                                                          Daniel Zappala
                                                                 USC/ISI



                        Routing Support For RSVP



                             June 30, 1995

Status of Memo

   This document is an Internet-Draft.  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."

   To learn the current status of any Internet-Draft, please check the
   "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
   Directories on ds.internic.net (US East Coast), nic.nordu.net
   (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
   Rim).

Abstract

   This memo describes an interface between RSVP and routing protocols.
   The interface allows RSVP to request information and services from
   routing in the form of an asynchronous query-reply protocol.













Estrin, et al.         Expiration: December 1995                [Page 1]


Internet Draft                RSVP Routing                     June 1995


1. Introduction

   This document describes an interface between RSVP [4] [3] and routing
   protocols.  The interface allows RSVP to request information and
   services from routing in the form of an asynchronous query-reply
   protocol.  This document describes the design of the interface and
   details a specification of a portion of the interface based on our
   experience using RSVP with DVMRP [2] as a supporting multicast
   routing protocol.  The routing services we discuss represent only a
   subset of the functionality that RSVP may need; we are continuing to
   investigate other services.  This document assumes familiarity with
   RSVP.

   First, Section 2 presents a brief overview of relevant RSVP
   functionality and some routing problems RSVP encounters.  These
   problems lead to a set of RSVP's requirements for routing, presented
   in Section 3.  Section 4 details a general routing model that RSVP
   can use to interact with a variety of different routing protocols.
   Section 5 outlines the particular queries and responses that comprise
   the interface between RSVP and routing, focusing on how RSVP uses
   this interface.  Section 6 discusses the costs and limitations placed
   on routing if it implements the services requested by RSVP.  Finally,
   Section 7 details the specification of the interface messages.

2. RSVP Overview

   Using RSVP, sources send "Path" messages hop-by-hop to the
   destination.  Each router uses the "Path" message to create reverse-
   path routing state and forwards the message toward the destination.
   Receivers send "Resv" messages toward sources, following the
   reverse-path routing state.  Each router uses the "Resv" message to
   query admission control and accept or reject the embedded reservation
   request.  All of the routing and reservation state is "soft-state";
   RSVP refreshes the soft-state periodically and removes it after a
   period of inactivity.

   Note that after RSVP processes a "Path" message at a router, it re-
   sends it as if it originated from the original sender.  For multicast
   destinations, the forwarding entry depends on both the source and the
   destination; thus RSVP can only resume forwarding of the "Path"
   message if it knows the necessary routing entry.  RSVP may also need
   to send a different "Path" message out each outgoing interface on
   multicast routers.  It needs this functionality to establish
   reverse-path routing information, to advertise service
   characteristics [1] over different branches of a multicast tree, to
   send multicast Path messages over non-RSVP clouds, and to pack
   multicast Path messages.  Thus, for this functionality, RSVP may also
   need to know the necessary routing entry.



Estrin, et al.         Expiration: December 1995                [Page 2]


Internet Draft                RSVP Routing                     June 1995


   RSVP has no knowledge of route changes, other than by capturing them
   with periodic "Path" messages.  In addition, once a route changes,
   RSVP has no guarantee that the new path can be reserved at a level
   equal to the old one.  Thus, route changes may lead to a long-term
   service disruption.  Figure 1 shows an example of how this may
   happen.  Receiver R1 has reserved a branch of the existing multicast
   tree.  A link comes back into service, causing routing to find a new
   shortest path.  Multicast routing adapts to this change and the
   reservation protocol sends a reservation up the new route.  The
   reservation fails, however, and R1 is left without a reserved route.


                S
                |
               [ ]
               / S
              /   S
             /     S
           [ ]     [ ]             S  : multicast tree for S
          X T       S
          ^ T       S              T  : link comes back into
          M T       S                   service
           [ ]SSSSS[ ]
           S      S               ^  : attempt to use "better"
      ^   S      S                M    route
      M  S      S
       [ ]     [ ]                 X  : reservation failure
        S       S
      ^ S       S
      M S       S
       [ ]     [ ]
        |       |
        R1      R2

            Figure 1: Service Disruption Caused by Route Change


   RSVP is also limited to establishing reservations over whichever path
   routing chooses.  Most routing protocols maintain a single, shortest
   path between a source and destination.  We refer to this shortest
   path as the "default route".  If RSVP is unable to attain a
   reservation over the default route, then it has no recourse.

3. RSVP Requirements

   To address these limitations, we have designed an interface between
   RSVP and routing.  Using this interface, RSVP may acquire routing
   entries to allow it to send control messages hop-by-hop, as well as



Estrin, et al.         Expiration: December 1995                [Page 3]


Internet Draft                RSVP Routing                     June 1995


   request routing services that provide it with extra functionality.
   We express the interface design as a set of requirements that RSVP
   places on routing.  The initial set of requirements includes:

   o    supplying on demand the forwarding entry for a source-
        destination pair,

   o    providing notification of route changes for supplied routes,

   o    keeping a working route in place once a reservation has been
        secured, barring any failed links or routers along the route,
        and

   o    constructing on demand explicit routes when a reservation
        request is rejected along the default route. [Note 1]


   We expect this list of requirements to grow as we continue to
   investigate how routing can support RSVP.

   RSVP needs to learn about routing entries for the reasons discussed
   in Section 2.  Note that for unicast routing RSVP does not need to
   learn about routing entries; routing is based on destination only and
   not on the source-destination pair.  However, in order to provide a
   common interface to all routing protocols, we do not distinguish
   between unicast and multicast destinations.

   RSVP requires notification of route changes so that it can adapt its
   reservations to changes in the route between a source and
   destination.  It can do this by re-sending "Path" or "Resv" messages
   where needed.  For multicast destinations, a route change consists of
   any change in the multicast tree for a source-group pair, including
   prunes and grafts as well as routing changes due to failed or
   recovered links.  If routing can not support route change
   notification, then RSVP must poll routing for route entries in order
   to adapt to route changes.

   Once RSVP secures a reservation over a route, it may request that
   routing "pin" the route by not adapting to route changes other than
   those caused by link or node failures.  By providing this service,
   routing allows RSVP to provide applications with a service commitment
   that is interrupted only by failure along the committed path. If
   routing can not support route pinning, then RSVP must adapt to
   routing changes and may notify applications that its service
_________________________
[Note 1] We use the term explicit routes in place of source routes
because they may be used by receivers as well as sources.




Estrin, et al.         Expiration: December 1995                [Page 4]


Internet Draft                RSVP Routing                     June 1995


   commitment is interruptable.  As part of this service, routing may
   also provide "smooth switching" from a reserved non-default route to
   a reserved default route.  This may allow routing to reduce its
   overhead of maintaining non-default routes while still satisfying
   RSVP's requirement.

   Finally, if RSVP is unable to attain a reservation over the default
   route, it may request that routing provide an alternate route between
   the source and destination.  By providing this service, routing and
   RSVP can cooperate to find a route that satisfies a receiver's
   service request.  Routing can choose routes based on feedback from
   RSVP concerning previous reservation availability.  Routing also has
   the option of rejecting an alternate path request if there are no
   available paths.  Figure 2 shows an example of using an alternate
   route.  Receiver R2 has already reserved a branch of the existing
   multicast tree.  Receiver R1 joins the tree, but its reservation
   attempt fails.  Routing supplies a new route and the second
   reservation attempt succeeds.


                S
                |
               [ ]
               / S
              /   S
             /     S
           [ ]     [ ]             S  : multicast tree for S
          X |       S
          ^ |       S              ^  : first reservation attempt
          M |  N>   S              M
           [ ]-----[ ]
           /      S               X  : reservation failure
       ^  /^     S
       M / N    S                 ^  : second reservation attempt
       [ ]     [ ]                 N
        |       S
      ^ | ^     S
      M | N     S
       [ ]     [ ]
        |       |
        R1      R2

                     Figure 2: Using Alternate Routes








Estrin, et al.         Expiration: December 1995                [Page 5]


Internet Draft                RSVP Routing                     June 1995


4. RSVP Routing Model

   Because RSVP must learn about routing entries from a variety of
   different routing protocols, we have adopted portions of the DVMRP
   routing model [2] as an abstraction through which RSVP can
   communicate with all routing protocols.  A routing entry for a
   source-destination pair consists of an incoming virtual interface and
   a set of outgoing virtual interfaces.  A virtual interface is simply
   a number that routing creates to refer to each of the interfaces (or
   virtual interfaces) it uses to send and receive packets on the
   router.  Note that the implementation of the virtual interface is
   hidden from RSVP; whether the interface is a real interface, a
   pseudo-device, or a tunnel is irrelevant.

   When RSVP receives a packet, it expects the forwarding engine to tell
   it which virtual interface the packet arrived on.  This allows RSVP
   to suppress forwarding of packets that routing has determined have
   arrived via the wrong incoming virtual interface, while still
   allowing local processing. When RSVP sends a packet, it expects that
   it can tell the forwarding engine to forward the packet directly over
   a particular vif, without performing any of the forwarding engine's
   usual routing checks or lookups.  Together, these functions allow
   RSVP to forward distinct packets hop-by-hop over each link in a
   unicast or multicast path between a source and destination(s).

   The RSVP routing model defines a virtual interface (or vif) using the
   following attributes:

   id             a unique identifier,

   threshold      a TTL threshold,

   status         a bitmask status vector, and

   local_addr     a local address.

   RSVP uses the TTL threshold to control the scope of a control
   message.  The status vector currently only defines whether the
   virtual interface has been administratively disabled.

5. Routing Support

   The following sections describe the routing support messages
   exchanged by RSVP and routing.







Estrin, et al.         Expiration: December 1995                [Page 6]


Internet Draft                RSVP Routing                     June 1995


   5.1 Obtaining Routing Entries

      Before RSVP can obtain routing entries, it must first discover
      which virtual interfaces (vifs) routing is using.  It does this by
      issuing an Initial Query:

                              Initial_Query().

      Routing responds with an Initial Reply that includes the number of
      vifs and a list of vifs as defined by the RSVP routing model:

                        Initial_Reply(num,vif_list).

      Once RSVP has received the Initial Reply, it can begin requesting
      routing entries by sending a Route Query for a source-destination
      pair:

                      Route_Query(source,destination).

      Routing responds by sending a Route Reply that includes the
      incoming vif and an outgoing vif bitmask:

      Route_Reply(source,destination,incoming_vif,outgoing_vif_bitmask).


   5.2 Route Change Notification

      RSVP can request notification of route changes by sending a Route
      Query with an additional notification flag:

                Route_Query(source,destination,notification).

      By setting the notification flag in the query, RSVP requests that
      routing provide route change notification.  If routing is able to
      provide this service, it sets a corresponding notification flag in
      the Route Reply, otherwise it clears the flag.  If RSVP receives a
      Route Reply with the notification bit set, it can assume that
      routing will notify it when the routing entry for the source-
      destination pair changes.  In the meantime, RSVP can use the
      routing entry indefinitely.

   5.3 Route Pinning

      Once RSVP has reserved a route, it may request route pinning by
      sending a Service Query to the last-hop router using a service
      bitmask to indicate the service requested:

           Service_Query(source,destination,service_bitmask,vif).



Estrin, et al.         Expiration: December 1995                [Page 7]


Internet Draft                RSVP Routing                     June 1995


      The Service Query may optionally include the vif between the
      last-hop router and the host to indicate where the service begins.

      The service bitmask codes two types of service: route pinning and
      smooth switching.  If routing can provide route pinning, then RSVP
      can assume that the current route from the source to the
      destination will remain unchanged until a link or node along the
      route fails.  If routing can provide smooth switching, then RSVP
      can assume that routing will not switch from the pinned route to a
      default route until (a) the default route is reserved or (b) the
      pinned route fails.  Smooth switching requires considerable
      coordination between RSVP and routing; whether this is a viable
      service is related to whether the network has enough information
      to know how to respond, and whether another route reserved for the
      same per-hop service will provide the same end-to-end QoS.

      If RSVP requests route pinning, then routing attempts to pin the
      route and returns a Service Reply in the same format with the
      service bitmask set to indicate whether it could perform the
      desired service.  Routing may take a relatively longer time to
      return a Service Reply than other replies because it may have to
      contact other routers to determine whether it can provide the
      requested service.  In addition, if routing returns a Service
      Reply indicating the route is pinned, it may later send an
      unsolicited Service Reply indicating that the route is no longer
      pinned.  This may occur if a link or node fails, or if other
      constraints prevent routing from continuing to pin the route.

   5.4 Alternate Routes

      If RSVP fails to obtain a reservation over the default route, it
      may request an alternate route by sending a Service Query to the
      last-hop router as defined above.  The service bitmask indicates
      RSVP's request for an alternate route.  Routing returns a Service
      Reply indicating in the service bitmask whether it has provided
      the requested service.

      To provide routing with feedback on the reservation status of
      routes, RSVP sends routing status reports to routing:

          Status_Report(source,destination,status,vif,status_info).

      At last-hop routers, RSVP tells routing whether a reservation over
      the current route was successful, using a status of "success" or
      "failure."  The status info may contain failure information or the
      level of reservation attained; routing can use this as input to
      its route selection process.




Estrin, et al.         Expiration: December 1995                [Page 8]


Internet Draft                RSVP Routing                     June 1995


      RSVP also sends routing status reports to help it when
      coordinating alternate path requests.  At every router, RSVP tells
      routing whether it has reserved the incoming link for a particular
      route, using a status of "unreserved" or "reserved."  Routing
      assumes that all links are unreserved until told otherwise.  When
      a receiver joins a multicast tree, it may re-route unreserved
      branches of the tree if it carries an explicit route for a
      different branch.  However, receivers may not re-route reserved
      branches; routing should maintain stability for receivers that
      have already obtained a reservation.

6. Service Costs and Limitations

   Each of the functions described above introduces routing costs and
   limitations.

   Routing incurs very little cost for providing route change
   notification; essentially it only has to tag the subset of its
   routing entries for which RSVP is interested in receiving
   notification.  This amounts to keeping an extra bit for each routing
   entry.  Since this service can be provided independently by each
   router, its implementation is not subject to any interoperability
   constraints.

   Providing route pinning introduces substantial costs for some routing
   protocols.  If a routing protocol uses aggregation and maintains
   routes based on a group of sources (for example a subnet), then
   pinning a route requires extra source-specific state that would not
   otherwise be kept.  Routing must continue to maintain the aggregated
   route for non-pinned sources.

   Routers that implement route pinning will also encounter some basic
   operational limitations of the service.  For example, pinning a
   portion of the multicast tree for one receiver has the side effect of
   pinning those links for all other downstream receivers.  Some
   protocols may require that all routers between the source and
   destination must support route pinning in order to provide the
   service.  In addition, if a router starts to pin a route during a
   route change, it may pin the wrong route.  In some situations,
   routing may pin the route back onto itself, forming a black hole.
   The routing protocol needs added protocol mechanisms to keep pinning
   from disrupting the integrity of routing.

   Routers that implement alternate path routing encounter the same
   costs and limitations as with route pinning.  One significant
   difference is that the likelihood of forming black holes is much
   greater.  Consider Figure 3, where receivers R1 and R2 both want to
   use an alternate route for a multicast tree of sender S.  Routing



Estrin, et al.         Expiration: December 1995                [Page 9]


Internet Draft                RSVP Routing                     June 1995


   uses an explicitly-routed graft for each receiver.  Depending on the
   sequence of links that the two grafts travel, they may form a black
   hole in the multicast tree.


                S
                |
               [ ]
               / \
             N/   \M
             /     \
           [ ]     [ ]             M  : intended explicit
            |       |                   explicit route for R1
           N|       |M
            |  <N3  |              N  : intended explicit
           [ ]-----[ ]                  route for R2
           / \    ^/
        ^ / M3\ N2/M           ^   ^  : sequence of grafts for
       M2/    v\ /             Mn  Nn   R1,R2
       [ ]     [ ]
        |       |
      ^ |       |^
      M1|       |N1
       [ ]     [ ]
        |       |
        R1      R2

                 Figure 3: Black Hole With Explicit Route



   Because routing must manage to prevent black holes in order to
   provide both route pinning and alternate path routing, we present a
   solution here for routing protocols that implement these services
   using grafts.  When a receiver requests a pinned route or an explicit
   alternate route, the last-hop router sends a graft containing the
   service request upstream along the intended route.  Each router that
   receives the graft creates the appropriate pinning or alternate path
   state and attaches to this state a "connected" bit.  The bit is
   initially cleared, signifying that the graft has not yet propagated
   to the sender or to another connected portion of the tree.  Once the
   graft reaches the sender or another connected portion of the tree,
   the entire downstream branch becomes "connected" to a valid portion
   of the route.  Routing sends a message downstream to set all of the
   appropriate connected bits.  Any graft that reaches an "unconnected"
   portion of a route must be rejected and sent back downstream to erase
   any state.




Estrin, et al.         Expiration: December 1995               [Page 10]


Internet Draft                RSVP Routing                     June 1995


7. Routing Support Specification

   This section details the format of messages exchanged by RSVP and
   routing.  We refer to this simple protocol as Routing Support for
   Resource Reservations (RSRR).  We only include those messages that
   are currently being exchanged by the RSVP prototype and DVMRP.  We do
   not include message formats for the Service Query, Service Reply, or
   Status Report because we do not yet have enough implementation
   experience with them.

   7.1 RSRR message format

      An RSRR message consists of:

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Version       | Type          | Flags         | Num           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |...                                                            |
      |                                                               |

      Version
              Routing Support for Resource Reservations Version.  This
              document specifies version 1 of RSRR.

      Type
              This document defines four message codes for RSRR:

                      1 = Initial Query
                      2 = Initial Reply
                      3 = Route Query
                      4 = Route Reply

      The Flags field, the Num field, and the rest of the message, are defined
      separately for each RSRR code.

   7.2 Initial Query

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Version       | Type          | Flags         | Num           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Version as defined above.

      Type
              1 = Initial Query

      Flags, Num
              0



Estrin, et al.         Expiration: December 1995               [Page 11]


Internet Draft                RSVP Routing                     June 1995


   7.3 Initial Reply

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Version       | Type          | Flags         | Num           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Vif ID-1      |Vif Threshold-1| Vif Status-1                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Vif Local Address-1                                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |...                                                            |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Vif ID-N      |Vif Threshold-N| Vif Status-N                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Vif Local Address-N                                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Version as defined above.

      Type
              2 = Initial Reply

      Flags
              0

      Num
              Number of vifs being reported

      Vif ID-N
              ID for the Nth vif

      Vif Threshold-N
              The threshold ttl for the vif; an outgoing message must have a
              ttl greater than the threshold to be sent

      Vif Status-N
              A bit vector representing the vif status.  Currently only
              the Disabled bit is defined:

              +-+-+-+-+-+-+-+-+
              |             |D|
              +-+-+-+-+-+-+-+-+

              D = 1 if vif is administratively disabled, 0 otherwise.

              The rest of the field is transmitted as zeroes.

      Vif Local Address-N



Estrin, et al.         Expiration: December 1995               [Page 12]


Internet Draft                RSVP Routing                     June 1995


              The local address of the physical interface corresponding to the
              vif

   7.4 Route Query

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Version       | Type          | Flags         | Num           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Destination Address                                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Source Address                                                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Query Identifier                                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Version as defined above

      Type
              3 = Route Query

      Flags
              Currently only the Notification Bit is defined:

              +-+-+-+-+-+-+-+-+
              |             |N|
              +-+-+-+-+-+-+-+-+

              N = 1 if RSVP requests route change notification for this query,
              0 otherwise.

              The rest of the field is transmitted as zeroes.

      Num
              0

      Destination Address
              Group address being queried

      Source Address
              Source address being queried

      Query Identifier
              Identifier used by reservation protocol

   7.5 Route Reply

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Version       | Type          | Flags         | Num           |



Estrin, et al.         Expiration: December 1995               [Page 13]


Internet Draft                RSVP Routing                     June 1995


      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Destination Address                                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Source Address                                                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Query Identifier                                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Incoming Vif                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Outgoing Vif Bitmask                                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Version as defined above.

      Type
              2 = Route Reply

      Flags
              Currently only the Error bit and the Notification bit
              are defined:

              +-+-+-+-+-+-+-+-+
              |           |E|N|
              +-+-+-+-+-+-+-+-+

              N is set if N is set in the corresponding route query and N can
              perform route change notification for the query.  Otherwise N is
              cleared.

              E is set if routing is unable to obtain routing information for
              the route query.  Otherwise E is cleared.

              The rest of the field is transmitted as zeroes.

      Destination Address
              group address of query = group address of reply

      Source Address
              source address of query = source address of reply

      Query Identifier
              identifier used by reservation protocol, copied from query message

      Incoming Vif
              incoming Vif for (S,G) or default (S,*) if no group-specific
                      state; invalid if E bit is set

      Outgoing Vif Bitmask



Estrin, et al.         Expiration: December 1995               [Page 14]


Internet Draft                RSVP Routing                     June 1995


              bitmask of outgoing Vifs for (S,G) or default (S,*) if no
                      group-specific state; invalid if E bit is set

8. Acknowledgments

   We would like to thank Lixia Zhang for repeating the word
   "requirements" over and over again.  We would also like to thank Bob
   Braden and Van Jacobson for their ideas, Bill Fenner for his help
   with the DVMRP implementation, and the IETF community for valuable
   feedback.

References

[1] S. Shenker, "Network Element Service Specification Template",
    Internet Draft, March 1995.

[2] D. Waitzman, C. Partridge, and S. Deering, "Distance Vector
    Multicast Routing Protocol", RFC 1075, November 1988.

[3] L. Zhang, R. Braden, D. Estrin, S. Herzog, and S. Jamin, "Resource
    ReSerVation Protocol (RSVP) - Version 1 Functional Specification",
    Internet Draft, March 1995.

[4] L. Zhang, S. Deering, D. Estrin, S. Shenker, and D. Zappala, "RSVP:
    A New Resource ReSerVation Protocol", "IEEE Network", September
    1993.



Security Considerations

   Security considerations are not discussed in this memo.

Authors' Addresses

   Deborah Estrin
   Computer Science Department
   University of Southern California
   Los Angeles, CA 90089-0871
   EMail: estrin@usc.edu











Estrin, et al.         Expiration: December 1995               [Page 15]


Internet Draft                RSVP Routing                     June 1995


   Scott Shenker
   Xerox Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, CA 94304
   EMail: shenker@parc.xerox.com


   Daniel Zappala
   USC Information Sciences Institute
   4676 Admiralty Way
   Marina del Rey, CA 90292
   EMail: daniel@isi.edu







































Estrin, et al.         Expiration: December 1995               [Page 16]