bird/sysdep/unix
Ondrej Zajicek 1567edea8d Bugfix for routing table breaking bug.
Here is a patch fixing a bug that causes breakage of a local routing
table during shutdown of Bird. The problem was caused by shutdown
of 'device' protocol before shutdown of 'kernel' protocol.  When
'device' protocol went down, the route (with local network prefix)
From different protocol (BGP or OSPF) became preferred and installed
to the kernel routing table. Such routes were broken (like
192.168.1.0/24 via 192.168.1.2). I think it is also the cause
of problem reported by Martin Kraus.

The patch disables updating of kernel routing table during shutdown of
Bird. I am not sure whether this is the best way to fix it, I would
prefer to forbid 'kernel' protocol to overwrite routes with
'proto kernel'.

The patch also fixes a problem that during shutdown sometimes routes
created by Bird remained in the kernel routing table.
2008-10-26 23:09:46 +01:00
..
config.Y Added missing #include and wondering how could it ever compile. 2002-11-13 08:30:56 +00:00
Doc Documented all the sysdeps (only briefly, I admit). 2000-06-05 12:49:04 +00:00
endian.h Moved all system-dependent #include's containing endianity conversion 1999-03-29 19:14:43 +00:00
io.c Implementation of MD5 authentication of BGP sessions. 2008-10-26 22:42:39 +01:00
krt-iface.c Fix behavior of ipa_opposite(). 2008-08-25 11:19:49 +00:00
krt-iface.h Reconfiguration for device protocol. 2000-01-17 11:17:33 +00:00
krt-set.c Bugfix for routing table breaking bug. 2008-10-26 23:09:46 +01:00
krt-set.h Marked unused parameters in sysdep code as such. 2004-06-05 09:11:07 +00:00
krt.c Bugfix for routing table breaking bug. 2008-10-26 23:09:46 +01:00
krt.h Cleaned up debugging in kernel syncer. Netlink has still LOCAL_DEBUG 2000-03-12 21:54:39 +00:00
krt.Y Use preferences properly. 2000-05-08 10:40:00 +00:00
log.c Renamed log() to log_msg(), but still keeping the old name as a macro. 2004-06-05 09:05:12 +00:00
main.c Close fd of config file after reconfiguration. 2008-08-24 23:24:14 +00:00
Modules Split random number functions off io.c, so that they can be documented 2000-06-05 11:46:40 +00:00
random.c Split random number functions off io.c, so that they can be documented 2000-06-05 11:46:40 +00:00
timer.h Small changed to reduce the number of warnings. 2005-02-14 11:58:46 +00:00
unix.h Test old instance of BIRD. 2004-06-06 17:05:25 +00:00