
RSVP -- ReSerVation Protocol
USC Information Sciences Institute
Marina del Rey, CA


		CHANGES IN /rsvpd DIRECTORY

CHANGES IN RELEASE 4.2a2   December xx, 1997:

rsvp_resv.c, rsvp_LLkern.c, rsvp_TCif.h, rsvp_path.c, rsvp_var.h, rsvp_main.c:

		Major revision of RSVP interface to link layer, to insert
		"Link-Layer-Dependent Adaptation Layer" (LLDAL).  Should
		provide generalization needed to support link lauers more
		complex than simple leased lines or LANs, e.g., ATM.

rsvp_api.c, rsvp_debug.c, rsvp_diag.c, rsvp_debug.c, rsvp_util2.c:
	
		Ancillary changes to make TCSB code entirely local to
		LLDAL (module rsvp_LLkern.c).  Note: this change has an
		application-visible consequence: a RESV_EVENT upcall in
		the API now passes the resv requests (RSBs), not the
		effective reservation (TCSB).

rsvp_main.c, rsvp_rsrr.c:

		Merged the vif_list into the if_vec.  Now all
		interfaces are in a single common table.

rsvp_main.c:	A new test_alive() function uses a UDP socket bound to
		implementation defined port (the lock port) to give an
		exclusive lock to a single rsvpd process.

rsvp_socks.c, rsvp_socks.h:

		Fixed return values for inet_pton() to be compliant
		with RFC 2133.  Added conditions to remove functions
		which exist under FreeBSD.  Added support for FreeBSD
		multihoming where multiple addresses can be assigned to
		a single interface.  Incorporated FreeBSD sysctl() code
		to gather interface information (Kenjiro Cho).

rsvp_trans.c, rsvp_trans.h:

		Fixed bugs with the IPv6 multicast membership and hop
		option code.

		Fixed bug where raw outgoing sockets did not have
		IP_MULTICAST_IF turned on, so Path messages could be
		actually sent out wrong interface although with correct
		source address.

rsvp_unicast.c: Added IPv6 unicast route support for FreeBSD.  Updated
		Solaris unicast route support (Don Hoffman).

rsvp_resv.c:	Clean up logic (and perhaps fix some obscure bugs).  Define
		new macro PSBmaps2RSB, to encapsulate complete rules for
		matching PSBs to RSBs.

rsvp_resv.c:	Send ResvTear with no filterspec and no flowspec for WF style.

rsvp_path.c:	Send immediate reservation refresh when new path state
		appears and there is already reservation state.

rsvp_resv.c, rsvp_err.c, rsvp_objs.c, rsvp_objs.h:

		Change logic so that wildcard filter is represented
		by NULL pointer, not pointer to all-zero filter.

rsvp_resv.c:	Fix old bug that allowed route change to go unnoticed if
		route changed but NHOP address stayed the same: Use LIH
		(=OIf) as lookup parm for RSBs.
		[Found by Koutarou Ise, Toshiba]

rsvp_timer.c:	Use RAND_MAX for range of rand() function.

rsvp_util2.c:	Fix 4.2a1 bug in form_scope_union(); add IPv6 capability
		to scope_catf().

rsvp_api.c:     Fix old bugs: (1) when report API "Sender addr not my
		interface", was not setting sender tspec in upcall,
		which caused rapi_lib to return bad data; (2)
		confusion between bad sender and bad receiver error
		codes.

rsvp_api.c, rsvp_netio.c:
		Fix 4.2a1 IPv6 bugs: did not use format IPv6 for filter spec
		port.  Added additional error checking to incoming packets.

rsvp_objs.c:	Fix 4.2a1 bug: failed to match sender templates correctly.

rsvp_path.c:	Fix 4.2a1 bug: UDP encapsulated unicast Path message was not
		setting UDP flag on interface.


CHANGES IN RELEASE 4.2a1   Sept 15, 1997:

*.c, *.h:
		All code has been updated to process both IPv4 and IPv6
		RSVP protocol datagrams.  The network interface table
		can now contain a mixture of IPv4 and IPv6 interfaces.
		All object handling is now multiprotocol aware.

rsvp_socks.c, rsvp_socks.h:
		Provides the missing functionality, if any, on a given
		host or router system with respect to RFC 2133.  Also
		includes simple extensions to the if_nameindex() family
		of functions to support rsvpd.  Includes the definition
		of an abstract network interface and address which are
		used for the multiprotocol support now in rsvpd.
		Utility functions related to these abstract objects are
		defined, including comparison, parsing strings, and
		printing to strings.

rsvp_trans.c, rsvp_trans.h:
		Provides an abstraction layer to rsvpd for network and
		transport layer services.  This module provides the
		functionality to send and receive datagrams using both
		IP and UDP/IP.  All system dependent aspects of these
		network I/O capabilities are contained in this module.
		The module is structured to take advantage of the
		advanced API for sockets outlined in an IETF draft,
		which is basically the POSIX 1.g ancillary data for
		sendmsg() and recvmsg() system calls, when it becomes
		commonly available.

rsvp_objs.c, rsvp_objs.h:
		Provides basic multiprotocol utility functions for RSVP
		objects.

rsvp_objs2.c, rsvp_objs2.h:
		Provides basic multiprotocol utility functions for RSVP
		objects which are dependent on data structures which
		are particular to the rsvpd application (more
		specifically, the network interface table).

rsvp_maps.c:
		Provides the ability to format RSVP protocol datagrams
		given a packet structure of RSVP objects.  RSVP
		protocol datagrams can be also parsed back into packet
		structures.

rapi_lib.c, rapi_lib.h, rsvp_api.c:
		All code for "legacy" API formats, previously ifdef'd
		with the "OBSOLETE_API" label, was completely removed.

rapi_lib.c, rapi_lib.h, rapi_err.h:
		Make consistency checks called for by IPSEC spec.  Also
		updated RAPI error to include new IPSEC codes.  Note
		that the 3 asynchronous RAPI error codes changed as a
		result.

rsvp_api.c:	Complete the handling of GPI sessions: Save GPI_SESSION
		flag in sid_vec; if it is on, create GPI versions of
		Path and Resv messages.  Also return GPI_SESSION flag in
		event upcalls.

rapi_lib.c, rapi_lib.h, rapi_fmt.c:
		An additional flag bit XASPEC_FLG_PARM was added to the
		Simplified format Adspec.  This was needed to
		distinguish Service-is-allowed-but-no-parms-are-supplied
		from Service-is-disallowed.  In addition, the adspec
		code in rapi_lib.c was completely rewritten to fully
		support general adspecs in sender commands and path
		event upcalls.  The details are somewhat unpleasantly
		complicated.

rsvp_err.c:	INTEGRITY check in accept_path_err was on wrong interface.
		[Ramesh Pabbati, Microsoft]

rapi_lib.c:	Miscellaneous bugs were fixed [Kai Krasnodembski]

rsvp_path.c:	Accept_path now checks for INTEGRITY object when required.

______________________________
Bob Braden
Steve Berson
Subramanian Vincent
Bob Lindell
