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 gated.cornell.edu
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 gated.cornell.edu with a subject line of "send
gated/gated-R3_5Alpha_1.tar.Zus*" or a subject line of "help" for more
information.
And finally Gated is available via Gopher from gated.cornell.edu.
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
features.
All discussion of this release should be done on the
gated-alpha at gated.cornell.edu list, to subscribe, send a request to me
at gated-alpha-request at gated.cornell.edu.
-------------- next part --------------
General:
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
created.
Allow `LOCAL_VERSION' option in build environment configuration
to add local information to the version string.
Document fixes required to compile mib/rt.my 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
termination.
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
support.
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
lookups.
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.
EGP:
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
table.
OSPF:
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
interface.
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
result.
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.
RIP & HELLO:
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.
SNMP:
Spurious trace lines were generated by a misplaced trace
statement.
Reject routes report an ifIndex of 0, a next hop of 0.0.0.0 and
a protocol of other.
If the SMUX connection failed while registering portions of the
MIB a core dump would result.
Document problem with rt.my 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: <http://mailman.nanog.org/pipermail/nanog/attachments/19940114/bcabc9a1/attachment.obj>
More information about the NANOG
mailing list