Commit graph

681 commits

Author SHA1 Message Date
Martin Mares
38a608c55a Rewritten the I/O loop. All socket operations are now safe, meaning that
you can delete the socket from anywhere in the hooks and nothing should break.
Also, the receive/transmit buffers are now regular xmalloc()'ed buffers,
not separate resources which would need shuffling around between pools.

sk_close() is gone, use rfree() instead.
2004-05-31 21:48:19 +00:00
Martin Mares
6a57bb3110 Killed a couple of unused variables.
We really should compile with warnings enabled.
2004-05-31 20:57:38 +00:00
Martin Mares
d83faf8dc4 static declarations don't belong to includes. (And most of them were
redundant anyway.)
2004-05-31 20:53:22 +00:00
Martin Mares
0757bcb728 One space more. 2004-05-31 20:35:19 +00:00
Martin Mares
0077aab4f9 The code was broken for external /29 to /32 routes. Assuming that you
have one machine publishing a route to 10.1.1.3/32 and another one
publishing a route to 10.1.1.4/32. If the first machine went down the
route to 10.1.1.4/32 was wrongly killed by the old code, leading either
to missing routes or worse to bug()s like "Router parent does not have
next hop" or just segfaults. The patch fixes this but in the long term a
redesign is required here. Note that the patch doesn't worse the
situation, instead it prevents the problems stated. The redesign is
required to handle multiple routes to small subnets properly.

(by Andreas)

Feela, I think that this is at least a good temporary fix, but it's
of course up to you to decide.
2004-05-31 18:16:42 +00:00
Martin Mares
4ef3dccfa1 The OSPF authentication type was sent in host byte order instead of of
network byte order thus breaking interoperability with other routing
daemons on litte endian machines. The patch fixes this but note that
this breaks compatability with older bird installations using OSPF and
password authentication

(Andreas)
2004-05-31 18:13:14 +00:00
Martin Mares
3cb96cd343 The initial sequence number for RIP md5 authentication was always zero.
Bad as when bird e.g. was running for two weeks and then restarted it
would take another two weeks until the peers of this router would accept
data again from this router, as the sequence number would be too low.
Changed to use the the current system time as the starting sequence
number which is a more sane start value.

(by Andreas, cleaned up by me)
2004-05-31 18:11:16 +00:00
Martin Mares
4a02013767 Make RIP nolisten mode actually work. The socket is required for
sending, the received data has to be discarded instead.

(patch by Andreas Steinmetz modified by me)
2004-05-31 17:42:38 +00:00
Ondrej Filip
6f18235aad Useless include deleted. 2004-05-31 16:42:12 +00:00
Ondrej Filip
781aa475aa Minor bug fix in neighbor state machine. 2004-05-31 13:22:49 +00:00
Ondrej Filip
de259a41e3 Minor bug in configuration. 2004-05-31 10:38:44 +00:00
Ondrej Filip
caeb02ea19 Bug in DBDES receiving fixed. 2004-05-19 12:30:58 +00:00
Martin Mares
502ded5215 Fix reporting of RIP socket errors. Thanks to Eric Leblond for the patch. 2003-12-06 16:41:11 +00:00
Ondrej Filip
37299f1e44 OSPF was not able to be built stand-alone. 2003-09-30 17:05:55 +00:00
Ondrej Filip
00bd27a1cc Endianity problem fixed. Thanx to Srs Jzsef 2003-09-14 13:41:24 +00:00
Ondrej Filip
35a86ceb40 This prevents infinite loop when bird has more that 60 neighbors. Thanks to Rani Assaf 2003-09-03 17:31:23 +00:00
Ondrej Filip
c11007bc42 Endian-related bug fixes sent by Krzysztof Szuster <kszuster@polbox.com> 2003-08-26 10:41:02 +00:00
Ondrej Filip
1d1a3c1c2a Minor OSPF changes for faster startup. 2003-08-23 10:47:46 +00:00
Ondrej Filip
baa5dd6ccc Many spelling mistakes fixed.
Thanks you Harry Moyes.
2003-08-23 10:42:41 +00:00
Martin Mares
8cf76fa853 Bug fixes to authentication code by Eric Leblond <eleblond@init-sys.com>. 2003-04-06 18:38:01 +00:00
Martin Mares
6ea8ca1469 Updated a comment. 2003-02-23 10:22:04 +00:00
Martin Mares
11d4474c17 Better selection of link-local NLRI addresses, at least for our own
address. Need to do it better for the other neighbors -- the current
solution works only if they use the standard 64+64 global addresses
and the interface identifier in lower 64 bits is the same as for the
link-scope addresses.
2003-02-22 22:47:45 +00:00
Martin Mares
8c92bf6a0d Temporary fix for BGP protocol capability announcement for IPv6 mode. 2003-02-22 10:40:35 +00:00
Martin Mares
60a72ed49b Fixed length check miscalculation in IPv6 receive path. 2003-02-22 10:25:22 +00:00
Martin Mares
47f18ac39a ABS should be a macro. 2002-11-13 08:47:19 +00:00
Martin Mares
7d875e094b Added missing includes. 2002-11-13 08:47:06 +00:00
Martin Mares
de10a974f2 Added missing semicolons. 2002-11-13 08:46:12 +00:00
Pavel Machek
19bd5c8e2c Password does not need to be null-terminated, do not print garbage in
such case. Thanks to silvio@big.net.
2002-09-21 13:57:48 +00:00
Ondrej Filip
4ca0d0847e Small typo fixed. 2002-04-03 15:41:05 +00:00
Martin Mares
53a50af504 Applied Pavel's fix for broadcast/multicast mode. 2002-03-10 12:32:12 +00:00
Ondrej Filip
e59e310e64 Age LSA DB after LSA origination and before routing table calculation. 2002-03-04 15:54:39 +00:00
Ondrej Filip
025b0e856a New trace added. 2002-03-04 15:52:40 +00:00
Ondrej Filip
b78696282d Bugfix in router importation. 2001-12-07 17:34:09 +00:00
Ondrej Filip
8e32493c56 Removed some useless (hope!) code in next hop calculation. 2001-08-21 17:00:15 +00:00
Ondrej Filip
68db89a2ce Finally, next hop problem fixed. 2001-08-21 16:44:57 +00:00
Ondrej Filip
37da55168c Useless trace. 2001-08-21 15:03:42 +00:00
Ondrej Filip
e8ab168030 Hope, bug in next hop calculation for stub routes fixed. 2001-08-21 15:00:29 +00:00
Martin Mares
e43ae6330e Fix %<something>I format strings. 2001-08-19 11:15:24 +00:00
Ondrej Filip
c926eee724 Area networks added into configuration. 2001-08-12 00:04:42 +00:00
Ondrej Filip
b2bdb40656 Changed definition of stub area. 2001-08-11 16:22:29 +00:00
Ondrej Filip
85062e8a60 Bugfix in B-bit setting in router LSA. 2001-08-11 14:40:51 +00:00
Ondrej Filip
78e2c6ccf1 I will not originate the same lsa before MINLSINTERVAL. 2001-08-11 14:01:54 +00:00
Ondrej Filip
24c00cb119 Install route into main routing table just if it's necessary. 2001-06-12 21:10:30 +00:00
Ondrej Filip
87c450dffc Added comments. 2001-06-09 14:56:01 +00:00
Ondrej Filip
e9d3c3aaea Bug in next-hop calculation fixed. (For dual connected neighbors.) 2001-06-09 14:55:10 +00:00
Ondrej Filip
ea31425a61 Patch from David Rohleder <davro@ics.muni.cz> thanx. 2001-04-09 19:15:03 +00:00
Ondrej Filip
32749f493f Hmm, nasty bug, LSUPD was not well flooded via PTP interfaces. :-( 2000-12-14 01:04:51 +00:00
Ondrej Filip
501c5bb03f Small bugfix in ext routes calculation. 2000-11-21 23:47:51 +00:00
Ondrej Filip
52fa3e3869 Fixed many bugs in rt calculation and interface adding. Now it seems to be
OK, I'm going to advertise 1.0.4.
2000-09-04 21:21:34 +00:00
Ondrej Filip
b02e40111e I allocate struct ifa before unlocking. So route exported to OSPF are correct.
I work also with interfaces that have some problems with socket opening.
I declare them as stub.
2000-09-04 19:42:17 +00:00
Ondrej Filip
fdb1998202 Serious bug in ext lsa origination found. Going for 1.0.4. 2000-09-03 22:18:40 +00:00
Ondrej Filip
1e972b5524 Log some unusual situation. 2000-09-03 16:16:33 +00:00
Ondrej Filip
e3bc10fdc4 Added stub interface. (Interface which is propagated to OSPF but
it does not sends nor listens packets.)

I added some new options, please look at it and look into doc if it's OK.
2000-09-02 08:54:40 +00:00
Ondrej Filip
5ddec4e6cf Reconfigure poll interval. 2000-09-02 07:58:05 +00:00
Ondrej Filip
7cedbf217e Reconfiguration for new options. 2000-09-02 00:15:07 +00:00
Ondrej Filip
a190e7200b Added hellos on NBMA networks. (I don't violate RFC now.) 2000-09-02 00:03:36 +00:00
Ondrej Filip
5a063efeea Bugfix in ext lsa importing. 2000-08-28 13:51:13 +00:00
Ondrej Filip
9e2920824e Typo. 2000-08-18 16:47:27 +00:00
Ondrej Filip
f321a61f77 Fixed bug in nex hop calculation of external routes. 2000-08-18 16:44:37 +00:00
Ondrej Filip
88aa2af7ef Just formatting. 2000-08-18 16:36:54 +00:00
Ondrej Filip
28a6e1aa0e Stupid bug in next hop calculation of external routes. 2000-08-17 19:42:52 +00:00
Ondrej Filip
1eec760778 Typo in rte_better. 2000-08-16 20:18:19 +00:00
Ondrej Filip
059fc1e94a My calculation of external routes violated rfc. :-( 2000-08-16 19:37:04 +00:00
Ondrej Filip
d6a7e2fb85 Bug in rte_better. 2000-08-16 19:03:06 +00:00
Pavel Machek
ad3907559c RIP bugfix 2000-06-21 19:40:46 +00:00
Martin Mares
bcbdcbb6ae Don't accept incoming connections when the neighbor is not up. 2000-06-20 07:49:08 +00:00
Ondrej Filip
972fdb4532 Routing table calculation clean up. 2000-06-19 15:12:50 +00:00
Ondrej Filip
365211d588 Bugfix in logging. 2000-06-13 19:03:41 +00:00
Martin Mares
0e376168c5 Shut up an uninitialized variable warning. 2000-06-09 06:54:01 +00:00
Ondrej Filip
a012cbb16f Nasty bug in LSA refreshing. I didn't refesh my own copy! :-( 2000-06-08 19:16:21 +00:00
Ondrej Filip
135857e577 Acknoledge your own premature aged LSA. 2000-06-08 19:14:08 +00:00
Ondrej Filip
054a352475 Don't send dbdes before rtlsa origination. 2000-06-08 19:02:31 +00:00
Martin Mares
6567e6cf50 Missing parameters... 2000-06-08 12:42:34 +00:00
Martin Mares
725270cb1d Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
Ondrej Filip
8d56febe64 HASH_DEF_ORDER back to 6. 2000-06-08 12:04:57 +00:00
Martin Mares
ec423cc725 Updated CLI helps. 2000-06-08 10:25:02 +00:00
Ondrej Filip
099c017fca Still some endianity bugs. 2000-06-08 02:28:04 +00:00
Ondrej Filip
59ba334296 I forgot some endianity operations. 2000-06-08 02:04:45 +00:00
Ondrej Filip
423230f2f1 Ehm, my (B)DR election was based on router id, but RFC says ip! 2000-06-08 01:49:19 +00:00
Ondrej Filip
17e29574bc Better algoritmus of LSA aging. 2000-06-07 23:48:33 +00:00
Ondrej Filip
25a3f3da7a I mark all LSA as in distance INFINITY in process of aging.
I don't have to WALK twice through it.
2000-06-07 23:34:43 +00:00
Ondrej Filip
1186369bbd Doc. 2000-06-07 23:23:37 +00:00
Ondrej Filip
37c3e558ab Simple explanation, how LSA are kept in database. 2000-06-07 23:05:32 +00:00
Ondrej Filip
87f0d22ef8 Minor change. 2000-06-07 22:57:59 +00:00
Ondrej Filip
c2553b1b3e Minor changes. 2000-06-07 22:56:52 +00:00
Ondrej Filip
eee9cefd8c Doc 2000-06-07 22:53:51 +00:00
Ondrej Filip
e9ab0b4212 Doc in lsalib.c + related minor changes. 2000-06-07 22:31:47 +00:00
Ondrej Filip
d5e4b51865 Doc 2000-06-07 22:10:46 +00:00
Ondrej Filip
351feeb514 Doc. 2000-06-07 21:56:32 +00:00
Ondrej Filip
b4af36e0d8 Removed some FIXMEs simply deleting them. 2000-06-07 21:50:16 +00:00
Ondrej Filip
7ab3ff6a28 Doc in neighbor.c and some tiny changes related to. 2000-06-07 21:46:22 +00:00
Ondrej Filip
cadbb827f9 A copyright change. 2000-06-07 21:12:00 +00:00
Ondrej Filip
6f58dc64c9 Doc 2000-06-07 20:50:08 +00:00
Ondrej Filip
89755a8623 Introdution into OSPF. 2000-06-07 20:30:27 +00:00
Pavel Machek
07f29765a5 RIPv6 now works. 2000-06-07 14:06:37 +00:00
Pavel Machek
18b4d6bf27 rip ipv6 bugfix 2000-06-07 13:58:49 +00:00
Ondrej Filip
fa6c2405e2 Now I can change cost of interface without OSPF restart. 2000-06-07 13:46:13 +00:00
Martin Mares
58f7d004fd Fixes to the progdoc. 2000-06-07 13:25:53 +00:00
Ondrej Filip
38203d789a Originate rt lsa before sending first dbdes. 2000-06-07 13:19:48 +00:00
Martin Mares
2e9b24211a Spelling fixes to progdoc. 2000-06-07 12:29:08 +00:00