paul [Thu, 8 Apr 2004 07:43:45 +0000 (07:43 +0000)]
2004-04-08 Paul Jakma <paul@dishone.st>
* ospf_spf.h: Add backlink field to struct vertex
* ospf_spf.h: (ospf_vertex_new) initialise backlink
(ospf_lsa_has_link) return index of link back to
vertex V from candidate vertex W, or -1 if no link exists.
(ospf_spf_next) save backlink index for candidate vertex
* ospf_interface.c: (ospf_vl_set_params) Use the backlink index
to determine correct address for virtual-link peers. Fall back
to older "pick first link" method if no backlink index exists.
gdt [Tue, 30 Mar 2004 13:45:58 +0000 (13:45 +0000)]
Require automake 1.7 or higher. Fixes problem reported by Gilad
Arnold where Gentoo Linux tries to be too smart and chooses automake
1.5, which doesn't set @PACKAGE@, leading to include files being in
$(prefix)/include rther then $(prefix)/include/quagga.
(Since our makefiles rely on @PACKAGE@, they should have required an
automake new enough to set it.)
gdt [Tue, 16 Mar 2004 14:38:36 +0000 (14:38 +0000)]
2004-03-16 David Young <dyoung@pobox.com>
* (many) reference <lib/version.h> rather than "version.h",
because version.h is a generated file and not present in the
source tree when using objdir builds.
(committed by gdt)
works fine with normal builds; didn't try objdir
paul [Tue, 17 Feb 2004 20:07:30 +0000 (20:07 +0000)]
2004-02-17 Paul Jakma <paul@dishone.st>
* ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
params, nor the interface structure, if an interface delete
message is received from zebra.
* ospf_interface.c: (ospf_if_delete_hook) Delete the interface
params and interface, ie that which was previously removed in
(ospf_interface_delete) above.
paul [Tue, 17 Feb 2004 19:45:10 +0000 (19:45 +0000)]
2004-02-17 Paul Jakma <paul@dishone.st>
* bgpd.h: (bgp_peer) add fd_local and fd_accept
file descriptor's, fd becomes a pointer to one of these.
* bgpd.c: (global) adjust for fact that fd is now a pointer.
(peer_create_accept) removed.
* bgp_route.c: (global) adjust for change of peer fd to pointer
* bgp_packet.c: (bgp_collision_detect) adjust and remove the
"replace with other peer" hack.
* bgp_network.c: (bgp_accept) Remove the dummy peer hack.
Update peer->fd_accept instead.
(global) Adjust fd references - now a pointer.
* bgp_fsm.c: (global) adjust peer fd to pointer.
(bgp_connection_stop) new function, to stop connection.
(global) adjust everything which closed peer fd to use
bgp_connection_stop().
hasso [Wed, 11 Feb 2004 21:52:13 +0000 (21:52 +0000)]
Don't crash when attempting to read path->oi->ifp if oi doesn't exist any
more. I'm not sure if this read should be attempted at all, but I'm trying
to keep code safe AND stable.
paul [Fri, 23 Jan 2004 15:31:42 +0000 (15:31 +0000)]
2004-01-23 sowmini.varadhan@sun.com
* rip_interface.c: obsolete unbind code in
rip_interface_multicast_set, and instead do the more portable
(though slower) method of creating a socket for each outgoing packet
and binding the source address on the new socket.
* rip_interface.c, ripd.c, ripd.h: Modify rip_request_send so that
source address is determined by the caller of rip_request_send for
ripv1 packets and non-multicast interfaces (rip_request_send loops
over all connected address in all other cases).
* rip_send_packet: don't send packets with source set to
ZEBRA_IFA_SECONDARY connected addresses; improved debug messages;
paul [Mon, 19 Jan 2004 21:31:15 +0000 (21:31 +0000)]
2004-01-19 Paul Jakma <paul@dishone.st>
* tests/test-sig.c: New file, regression test for sigevents.
* lib/Makefile.am: add sigevent.{c,h}
* (isis|rip|ripng|ospf|ospf6|bgp)d/\1_main.c: modify for sigevents.
* zebra/main.c: ditto.
paul [Fri, 9 Jan 2004 16:34:54 +0000 (16:34 +0000)]
2004-01-09 Paul Jakma <paul@dishone.st>
* HACKING: slight changes to make consistent with devel.php on web
site. remove 'not yet consensus' as lack of any disagreement can
be interpreted that file does reflect such.
paul [Fri, 9 Jan 2004 16:30:52 +0000 (16:30 +0000)]
2004-01-08 Paul Jakma <paul@dishone.st>
* Makefile.am: as per gdt, specify the redhat dir as a DIST_SUBDIR,
remove the redhat/... dist targets - instead these now go in..
redhat/Makefile.am: (new) proper place to describe redhat/ dist
files, as well as allow quagga.spec to be regenerated properly.
redhat/quagga.sysconfig: specify conf file location.
redhat/quagga.spec.in: Add 2 patches to RPM build.
gdt [Thu, 8 Jan 2004 15:44:29 +0000 (15:44 +0000)]
2004-01-08 Greg Troxel <gdt@fnord.ir.bbn.com>
* kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
for reading kernel messages to ensure enough space (necessary on
Solaris due to sockaddr_dl being large). Thanks to Sowmini
Varadhan for help with this change.
gdt [Tue, 6 Jan 2004 01:13:05 +0000 (01:13 +0000)]
2004-01-05 Greg Troxel <gdt@fnord.ir.bbn.com>
* kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code
to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
to just the accomodation of broken kernels. Check sockaddr_dl
carefully up front, and later assume any non-NULL sdl pointer is
valid. Clean up types and variable declarations, and rename
WRAPUP to SAROUNDUP to make the name fit the behavior.
gdt [Mon, 5 Jan 2004 17:20:59 +0000 (17:20 +0000)]
2004-01-05 Greg Troxel <gdt@ahi.ir.bbn.com>
* kernel_socket.c (kernel_read): Look up interfaces by index
first, so that state changes which do not include a sockaddr_dl
now work. Add many sanity checks. In
particular, do not assume that a sockaddr_dl follows a message
without checking the ifm_addrs flags, and do not trust the length
in a sockaddr_dl. Add/clarify many comments.
gdt [Sun, 4 Jan 2004 01:02:55 +0000 (01:02 +0000)]
Really ripngd should either leave groups on down interfaces, or keep
track of on which interfaces joins have occurred. This is complicated
by the possible lack of a clear behavior spec on whether interfaces
keep their joined group lists across a down/up/down transition. (On
NetBSD, they do.)
2004-01-03 Greg Troxel <gdt@ahi.ir.bbn.com>
* ripng_interface.c (ripng_multicast_join): If IPV6_JOIN_GROUP
returns EADDRINUSE, consider the join successful. This happens
when an interface goes down and comes back because
ripng_multicast_leave does not invoke the LEAVE_GROUP operation if
the interface is down. Solves problem of ripng stopping working
on an interface which goes down and then comes back up (on NetBSD).
paul [Tue, 30 Dec 2003 11:16:21 +0000 (11:16 +0000)]
2003-12-30 Paul Jakma <paul@dishone.st>
* redhat/isisd.init: new file, init script for isisd.
redhat/quagga.sysconfig: new file, sysconfig file for quagga
initscripts.
redhat/quagga.spec.in: various cleanups, including sysconfig patch
from RH, fixed UID/GID as per RH EL, shell changed to
/sbin/nologin, daemon vty's listen to 127.1 only per default and
isisd packaged.
redhat/*.init: sysconfig support and runlevels specified.
paul [Tue, 30 Dec 2003 11:09:00 +0000 (11:09 +0000)]
2003-12-30 Paul Jakma <paul@dishone.st>
* Makefile.am: put the redhat/ stuff into EXTRA_DIST rather than
copying via dist-hook. Remove ~ files backup cruft from dists.
isisd/Makefile.am: sysconf example should go via
dist_examples_DATA. The include-netbsd/ headers werent mentioned
as sources and werent being copied into dists.
jardin [Tue, 23 Dec 2003 08:56:18 +0000 (08:56 +0000)]
Merge isisd into the Quagga's framework:
- add privs support
- use misc quagga's definitions
- make it compile"able"
- fix segfault cases related to hostname()
- add debug isis xxx command
gdt [Fri, 5 Dec 2003 14:01:43 +0000 (14:01 +0000)]
* ospfd.c (ospf_network_match_iface): Rewrite code for clarity
while trying not to change semantics. Add ifdefed-out code to
avoid matching ppp interfaces whose destination address does not
also match the prefix under consideration, to help out people with
problems due to as-yet-unfixed bugs with p2p interfaces coming and
going.
gdt [Thu, 4 Dec 2003 15:39:25 +0000 (15:39 +0000)]
fix exampledir processing bug; it failed when neither exampledir nor
sysconfdir were specified, due to incorrect extra quoting of
sysconfdir. Thanks to Vincent Jardin for the bug report.
gdt [Wed, 3 Dec 2003 17:24:27 +0000 (17:24 +0000)]
Add support for --enable-exampledir to specify where to place example
files, defaulting to sysconfdir (matching previous behavior).
This is needed to support (cleanly) NetBSD pkgsrc, which requires that
example config files go in $(prefix)/share/examples/pkgname, rather
than in $(prefix)/etc/pkgname.