Gated 3.5 Alpha 1 availability

gated-alpha-request at COMET.CIT.CORNELL.EDU gated-alpha-request at COMET.CIT.CORNELL.EDU
Fri Jan 14 22:00:47 UTC 1994

Gated 3.5 Alpha 1 is available for anonymous FTP from
as pub/gated/gated-R3_5Alpha_1.tar.Z.

It is also available via e-mail; Send a mail message to
gated-alpha-archive at with a subject line of "send
gated/gated-R3_5Alpha_1.tar.Zus*" or a subject line of "help" for more

And finally Gated is available via Gopher from

If you are reading this message with a MIME-compliant mail reader it
should ask you if you would like to automatically obtain the release
via FTP or e-mail.
-------------- next part --------------
This release is being called 3.5 because of the many internal changes
since 3.0.  Much has been rewritten internally to improve gated's
performance, especially when dealing with tens of thousands of routes. 
But little has changed externally, so I did not feel it was necessary to
call it 4.0.

Note that this code is still under development, but it is stable enough
to include other testers and people have an urgent need for the new

All discussion of this release should be done on the
gated-alpha at list, to subscribe, send a request to me
at gated-alpha-request at 
-------------- next part --------------

	The size of the TSI allocation array was being incorrectly
	calculated, this could result in core dumps if all the available
	TSI fields were used.

	When formatting ASPATH NFAs, print a '*' to indicate accept
	state to compress output.  Display NFAs as they are being

	Allow `LOCAL_VERSION' option in build environment configuration
	to add local information to the version string.

	Document fixes required to compile mib/ with ISODE 6.8 mosy
	on AIX 3.2.

	Routine to free gateway lists did not insure that a gateway
	existed before freeing it.

	Allow routes with off-net gateways if RTS_NOTINSTALL is set.

	Certain trace options (nostamp, mark, parse, adv) would not be
	accepted as the first argument to the `traceoptions' statement.

	Support MARK in the tracelog via `options mark <interval> ;'
	instead of `traceoptions mark ;'.  Also allows the interval to
	be configured.

	AIX 3 by default makes little useless core dumps.  Add code so
	gated will request full dumps for signals which cause abnormal

	Improper check in gd_{upper,lower}() against the length of the
	buffer could result in writing the terminating null past the end
	of the allocated memory.

	On HP-UX systems, including -lBSD in the load path picked up the
	wrong version of setpgrp().  The solution was to remove -lBSD
	and use the getcwd() emulation of getwd().  Also use our private
	copy of install on these systems.

	If the preference specified on the gendefault option was changed
	it would not be updated by a reconfiguration.  Add `gateway'
	parameter on gendefault option.

	For portability, use sendto() instead of sendmsg().  Use
	recvfrom() on systems that do not have the advanced features
	that require recvmsg().  Remove recvmsg emulation from
	compatibility library.

	Only compile compatiblity routines required for the target
	system.  This eliminates the need to include libc twice (which
	does not work on systems with shared libraries).

	Interface names that were keywords were supposed to be quoteable
	(""), but it did not work.

	Routes that were pending in the routing socket queue were not
	being displayed properly in a status dump.

	RouterID and OSPF virtuallink neighbor may now be specified
	symbolically.  In general, everything but netmasks may be
	specified symbolically.

	Added high priority timers which are checked very often and used
	for critical function, like OSPF adjacencies.  Added foreground
	and background jobs which are used for deferred processing, such
	as SPF calculations, propagation of route changes, and updating
	the kernel.  These changes allow gated to better handle periods
	of high load without losing peer relationships.

	Re-wrote the kernel interface(s) to queue requests for changes
	to the kernel routing table and process them a few at a time in
	the background.  The kernel-independent interface has multi-path

	Routing socket interface will now accept route add and route
	change requests that fail as requests to add `kernel static'
	routes.  Deletes will only be honored when an attempt is made to
	delete `kernel static' or `redirect' routes.

	Maintain a queue of routes added by each gw_entry.  This
	removes most need to scan the complete routing table.

	Include <stddef.h> on systems where __STDC__ is defined and
	NO_STDDEF_H is not defined.  This gets the system version of the
	offsetof() macro if available.

	Remove rtlist_all() and rtlist_active() since they scan the
	whole routing table.

	Maintain seperately linked queus of tasks with active recv,
	write, except and flash methods to avoid scanning long lists of
	tasks.  Especially with alot of BGP internal peers.  Add low
	priority reads for egps and optimize select calls.

	Dennis rewrote the radix tree routing table and optimized it
	for the routing function (vs the forwarding function).

	Curtis, Dennis and Jeff rewrote the destination/mask list
	processing to use a radix tree for much faster inserts and

	Rewrite of aggregation for speed and efficiency.  Added
	route `generation' support.

	Allow for loopback interfaces with non-loopback addresses shared
	with P2P interfaces.

	Give GDC the ability to set limits (coresize, filesize,
	stacksize, datasize).  On Certain systems the default size of a
	core dump is very limited, this will allow a useful core dump to
	be obtained from gated when started via gdc.


	During policy evaluation the search for a previously announced
	route was not extensive, which caused routes to be missed.

	Gateways were not being added to the list at the end, resulting
	in potential duplicates of my own addresss.

	If the polled address changed, the old one would be orphaned.

	EGP would not sort neighbors properly, and might core dump on
	little endian machines.

	EGP would get out of sync on an update containing network 127. 
	The update parsing code does not need to ignore this network as
	the martian code will catch it when it is added to the routing


	The check for a forwarding address being one of my interface
	addresses was broken.

	During reconfiguration/termination, OSPF did not reset the
	pointer to the area list before starting to delete areas,
	possibly causing a core dump. 

	OSPF did not free gateway pointers during termination.

	The ADV_ALLOC() macro had an if with two identical cases.

	There was an typo in the NBRS_LIST() macro that caused it to
	reference an incorrect variable name.  Luckily, it's usage was
	such that this never caused a problem.

	Insure that the only interfaces active when
	ospf_area_terminate() is called are disabled, i.e. they don't
	have tasks.  Same for ospf_terminate() and virtual interfaces.

	On Ultrix systems P2P interfaces are listed before non-P2P
	interfaces.  This uncovered a bug where OSPF was comparing to
	the network of an interface without making sure it was not a P2P

	OSPF now only joins the multicast group for designated routers
	when operatating as DR or Backup DR on that interface.

	Display cumulative error logs in gated_dump file.  Display ASEs
	last as they tend to create the most output.

	Code to disable reception of our own multicast packets was not
	being called after OSPF reinitialization.

	Do not set the forwarding address for ASEs to be a gateway on
	the end of a P2P link.

	Routes to attached interfaces were mishandled, resulting in the
	possibility that the OSPF route would be used instead of the
	interface route.  This would result in improper flag settings (G
	flag missing) and improper routing.

	During OSPF termination structures were deleted that were still
	in use by OSPF routes in the process of being deleted.  This
	would result in incorrect logging on some systems and core dumps
	on others.
	If the interface that the router-id was derived from went down,
	OSPF would not be completely shut down and a core dump could

	Stub hosts other than on the end of P2P interfaces were not
	being propagated.

	OSPF would set the wrong age in the LS headers in LS ack
        packets.  This would occasionally cause the LS advertisements to
        be retransmitted until they were updated.

        Improve OSPF error statistics and logging.  Log critical
        messages to the syslog.  Add `first' and `every' parameters to
	limit the quantity of information generated.
        Virtual links were not being brought down when there was no
        route to the specified neighbor, instead they were timing out.
        Also, their cost was not being updated when the cost to the
        specified neighbor changed.


	Ignore the subnetmask on a P2P interface unless both addresses
	are on the same natural network.

	RIP was not carefully checking the router sent and received in
	RIP-2 updates.

	Added support for RIP-2 authentication on a per-interface basis.
	Specific targets share the authentication with broadcast clients
	on the interface. 

	Maintain lists of routes being announced to each target.  This
	prevents scanning the entire routing table every time an update
	is generated.

	Recongnize `rip no ;' even when RIP is not compiled in.

	Spurious trace lines were generated by a misplaced trace

	Reject routes report an ifIndex of 0, a next hop of and
	a protocol of other.

	If the SMUX connection failed while registering portions of the
	MIB a core dump would result.

	Document problem with and mosy 6.8 (AIX 3.2).

	Recongnize `snmp no ;' even when SNMP is not compiled in.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/octet-stream
Size: 35 bytes
Desc: not available
URL: <>

More information about the NANOG mailing list