Commit graph

1550 commits

Author SHA1 Message Date
Ondrej Filip
12dd8dc877 Bugfix - nasty bug in router LSA origination - Router did not describe all interfaces. 2004-07-13 12:21:24 +00:00
Ondrej Filip
621ccdfe5a Bugfix - options bits were not included in LSAs
Bugfix - E bit was not unset on stub areas.
2004-07-13 11:58:50 +00:00
Ondrej Filip
9baece57d3 Syntax bugfix. 2004-07-08 16:56:49 +00:00
Ondrej Filip
69b27ed6fd Length calculation bugfix. 2004-07-01 15:01:44 +00:00
Ondrej Filip
bc4ea680ce Hello reading bugfix. 2004-07-01 15:01:04 +00:00
Ondrej Filip
ea357b8b6d Update of the documentation. (passwords and md5).
Option for md5 auth in config.
2004-06-26 22:52:39 +00:00
Ondrej Filip
3e2bd0f17a Md5 authentification added (unsested).
Packet receiving clean up.
2004-06-26 20:15:34 +00:00
Ondrej Filip
5236fb03af Password management redesigned (untested). 2004-06-26 20:11:14 +00:00
Ondrej Filip
98ac61766d A lot of changes:
- metric is 3 byte long now
	- summary lsa originating
	- more OSPF areas possible
	- virtual links
	- better E1/E2 routes handling
	- some bug fixes..

I have to do:
	- md5 auth (last mandatory item from rfc2328)
	- !!!!DEBUG!!!!! (mainly virtual link system has probably a lot of bugs)
	- 2328 appendig E
2004-06-25 16:39:53 +00:00
Ondrej Filip
5ed68e46d7 Small typo changes. 2004-06-23 23:59:48 +00:00
Ondrej Filip
973cf09c3b Hotfix to problem with metric change reported by Luca. 2004-06-23 21:36:55 +00:00
Ondrej Filip
3fe5f89907 P->magic used just in LOCAL_DEBUG mode 2004-06-23 21:34:26 +00:00
Ondrej Filip
b4d8a0c280 Some cisco routers send shorter ospf messages in larger packets.
Well it's strange, but, actually it's correct.
2004-06-16 23:01:49 +00:00
Ondrej Filip
1a61882d37 Better routing table calculation. We are ready to work with
multiple OSPF areas.
2004-06-11 09:36:50 +00:00
Ondrej Filip
b1f7229ad7 Better adjacency building, some minor bugfixes. 2004-06-11 09:34:48 +00:00
Ondrej Filip
7df86c25fc Better checking of configuration. 2004-06-09 12:39:49 +00:00
Ondrej Filip
e02652a7d2 Bugfix in RT calculation. 2004-06-07 16:42:48 +00:00
Ondrej Filip
541cbe9763 It was too verbose. 2004-06-07 12:52:32 +00:00
Ondrej Filip
5e3436d20f Cleanup in packet.c. Deleted unused parameters. 2004-06-06 19:53:52 +00:00
Ondrej Filip
d5d9693ce9 Deleted unused parameters. 2004-06-06 18:45:08 +00:00
Ondrej Filip
cd09226078 Be sure, that ospf_area is aged before routing table calculation. 2004-06-06 17:03:56 +00:00
Ondrej Filip
933bfdde2a Keep al lSAs invalidated. 2004-06-06 16:14:57 +00:00
Ondrej Filip
b8f17cf192 Small cleanup, indentation and preparation for multiple areas routing table calculation. 2004-06-06 16:00:09 +00:00
Ondrej Filip
d631698ec8 Indentation. 2004-06-06 14:27:11 +00:00
Ondrej Filip
d8d553cadf This warning is stupid. 2004-06-06 14:25:55 +00:00
Ondrej Filip
2e10a170fe Indentation. 2004-06-06 09:37:54 +00:00
Ondrej Filip
66261211a9 Struct area_net changed. 2004-06-06 09:13:37 +00:00
Ondrej Filip
b9ed99f738 Cleanup in iface.c 2004-06-06 08:55:33 +00:00
Ondrej Filip
a5918961f3 Be more verbose in troubles. 2004-06-06 08:12:42 +00:00
Ondrej Filip
66004c91a8 Set size of the buffers. (Thanx MJ.) 2004-06-05 15:02:52 +00:00
Martin Mares
9831e5916f Staticized lots of local functions. 2004-06-05 09:58:23 +00:00
Martin Mares
598b984d1f One less unused variable. 2004-06-05 09:58:06 +00:00
Martin Mares
189dab54a2 defaut' should be default'. 2004-06-05 09:29:38 +00:00
Martin Mares
1512813e95 ... and a whole bunch of unused parameters and variables in ospf. 2004-06-05 09:28:17 +00:00
Martin Mares
c91fc9b606 ... and in rip (there are even unused functions!). 2004-06-05 09:27:49 +00:00
Martin Mares
662faa4afc ... in pipe. 2004-06-05 09:27:35 +00:00
Martin Mares
e21423bab8 ... in BGP. 2004-06-05 09:27:17 +00:00
Martin Mares
c33d4cad9f Moved the tests for socket existence here.
BTW, where do you exactly set the new buffer sizes?
2004-06-05 08:59:17 +00:00
Ondrej Filip
c6bdc78bef Be more verbose. 2004-06-04 21:19:47 +00:00
Ondrej Filip
6f3203fabf cleanup in lsupd.c, indenting, "struct proto" removed... 2004-06-04 21:05:43 +00:00
Ondrej Filip
9b7de4c4d1 'struct proto' removed
Finally, I found the bug reported by Andreas Steinmetz. FIXED.
2004-06-04 20:41:02 +00:00
Ondrej Filip
54467ed46b Useless logs removed. 2004-06-04 19:53:36 +00:00
Ondrej Filip
551e30886d Bugfix in last patch. 2004-06-04 19:21:19 +00:00
Ondrej Filip
e7ef86a58c OSPF is ready for changing MTU. 2004-06-04 18:51:29 +00:00
Ondrej Filip
f158bb710b no comment 2004-06-04 18:24:15 +00:00
Ondrej Filip
12bed559ff dbdes indent an minor changes. 2004-06-04 17:49:25 +00:00
Ondrej Filip
874654076a better log() usage. 2004-06-04 17:31:03 +00:00
Ondrej Filip
27f49a2c3c lsreq.c indented and small 'struct proto' changes. 2004-06-04 17:28:41 +00:00
Ondrej Filip
77539c4471 hello.* reindented, code cleanup. 2004-06-04 17:12:27 +00:00
Ondrej Filip
8e15e048f2 Deleted useles "struct proto" sending. 2004-06-04 17:05:24 +00:00
Ondrej Filip
7a03e29d5c Better log() usage. 2004-06-04 16:56:54 +00:00
Ondrej Filip
fb9bf6888c Indented. No other change. 2004-06-04 16:55:53 +00:00
Ondrej Filip
c76ba51a5f lsack.c cleaned. Better names for functions and
DIRECT acks can be sent in one packet now.
2004-06-04 16:30:04 +00:00
Ondrej Filip
28de5133ec ackd_timer_hook moded to neighbor.c 2004-06-04 15:45:35 +00:00
Ondrej Filip
d03e8ce00b Fatal bug found. Sometimes BIRD did not originate router LSA. FIXED. :-) 2004-06-04 15:26:46 +00:00
Ondrej Filip
b90f9c526e Initialize iterator on the right place. 2004-06-04 14:23:58 +00:00
Ondrej Filip
18b40a4072 This can happen now. 2004-06-04 14:23:21 +00:00
Ondrej Filip
f9fdabe4f6 Small reversing of previous patch. 2004-06-04 14:22:30 +00:00
Ondrej Filip
3df1e80464 Don't repeat "Sheduling rt calc....." 2004-06-04 14:21:08 +00:00
Ondrej Filip
d6c28f3ada Code and comments cleanup. 2004-06-04 14:03:30 +00:00
Ondrej Filip
39e517d47c hello.c and hello.h cleaned up. No design changes. 2004-06-04 12:53:10 +00:00
Ondrej Filip
591656cdd5 Added source addr for multicast socket. 2004-06-03 08:18:49 +00:00
Ondrej Filip
9b13345889 Hotfix for router's parent without nexthop.
It will probably work perfect, but I need to eliminate such situation.
2004-06-02 09:14:03 +00:00
Ondrej Filip
f9625e9aca Bugfix in external routes calculation. 2004-06-01 14:06:25 +00:00
Ondrej Filip
e8bf6c0766 Easier cleanup of an interface. 2004-06-01 13:44:53 +00:00
Ondrej Filip
c9f6cf8a05 Don't free socket's resources. 2004-06-01 13:29:08 +00:00
Ondrej Filip
035f6acbfe Patch from Andreas Steinmetz <ast@domdv.de> 2004-06-01 13:12:10 +00:00
Ondrej Filip
7fdd338c36 ALIGN -> BIRD_ALIGN 2004-06-01 10:28:25 +00:00
Martin Mares
bb68ad2fd3 Documented the pxlen parameter. 2004-05-31 22:22:21 +00:00
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
Martin Mares
1ae494a7e1 Avoid SEGV's in tracing. 2000-06-07 11:55:36 +00:00
Ondrej Filip
8cd5c52fcb Removed useless trace. 2000-06-07 01:19:16 +00:00
Ondrej Filip
3df89cefc1 #define SIZE_OF_IP_HEADER 2000-06-07 01:18:36 +00:00
Ondrej Filip
bd457b8d21 Some minor changes:
Typo: transit delay!=transmit delay
Zero checks etc.
2000-06-07 01:03:53 +00:00
Ondrej Filip
edc34dc912 Reconfiguration hook.
It will survive many timer and constat changes.
2000-06-07 00:56:11 +00:00
Ondrej Filip
a63a9ce609 Better dumping neighbors' states on PTP interface. 2000-06-06 12:50:02 +00:00
Ondrej Filip
41ad16e2d5 Added IP protocols. 2000-06-06 11:50:48 +00:00
Ondrej Filip
ee4880c82f Some '\n' deleted. 2000-06-06 02:54:41 +00:00
Ondrej Filip
064b1d8932 Tracing. 2000-06-06 02:50:49 +00:00
Ondrej Filip
bd37f45c10 Deleted some debug() 2000-06-06 02:43:32 +00:00
Ondrej Filip
abcbfd0400 Tracing. 2000-06-06 02:34:57 +00:00
Ondrej Filip
531a48d8c5 Tracing in LS ack. 2000-06-06 02:32:14 +00:00
Ondrej Filip
992705f65a Tracing in topology 2000-06-06 02:27:08 +00:00
Ondrej Filip
d3995c498d Tracing in LSUPD. 2000-06-06 02:16:39 +00:00
Ondrej Filip
f14032efdd First part of tracing. 2000-06-06 02:09:58 +00:00
Ondrej Filip
51cff78b25 Allocate OSPF areas before interfaces. 2000-06-06 01:46:32 +00:00
Ondrej Filip
c1824c4d4c Simple autentication added. 2000-06-06 01:23:03 +00:00
Ondrej Filip
fef1badfcf All die() renamed to bug(). 2000-06-06 01:00:34 +00:00
Ondrej Filip
80787d418b Dummy reconfigure added. 2000-06-06 00:52:35 +00:00
Ondrej Filip
f8f1e1f110 Interface locks added. 2000-06-06 00:46:00 +00:00
Ondrej Filip
b131e163c2 Some useles variable deleted. 2000-06-06 00:16:31 +00:00
Ondrej Filip
eb436e16fd NBMA networks seems to work, but this should be better. :-) 2000-06-06 00:08:27 +00:00
Ondrej Filip
e5b5d18c1c NBMA networks should work now. 2000-06-05 23:44:26 +00:00
Ondrej Filip
3b580a23ad Bugfix in NET LSA flushing.
Configuration now works! :-)
Better "show ospf"
Some minor bugfixes.
2000-06-05 20:57:53 +00:00
Ondrej Filip
4bb9ce56bb Reset inactim timer if you receive any packet from neighbor. 2000-06-05 19:45:06 +00:00
Ondrej Filip
496c819f26 Removed some FIXMEs by deleting them. 2000-06-05 19:35:48 +00:00
Ondrej Filip
3585d400e0 Don't info about DR and BDR on non-MA networks. 2000-06-05 19:31:55 +00:00
Ondrej Filip
fdb0c540a8 PTP link in RTLSA was not announced correctly. 2000-06-05 19:12:22 +00:00
Martin Mares
8441f17925 Unless a filter specifies otherwise, all external routes have type 2
metric 10000.
2000-06-05 18:40:25 +00:00
Martin Mares
f8032bbdb1 Simplified the grammar and fixed several minor bugs (e.g., `INTERFACE "eth0" };'
was a valid entry).
2000-06-05 18:32:51 +00:00
Ondrej Filip
44fc1888cf First calculate checksum and then send refreshed LSA! 2000-06-05 18:09:49 +00:00
Ondrej Filip
aba5e89f93 Better checksum checking. 2000-06-05 18:09:15 +00:00
Pavel Machek
4c5f93d76b Better documentation. There are functions whose description is good when
reading source but whose documentation does not belong to progdocs.
2000-06-05 17:13:36 +00:00
Pavel Machek
8798c81176 Docs updates:
make prog.dvi

do not overflow in .dvi

include filter documentation in the system
2000-06-05 16:36:16 +00:00
Ondrej Filip
eb2c99a132 Yet another change, now flushing of net lsa seems to be perfect. :-) 2000-06-05 16:32:29 +00:00
Ondrej Filip
2a5d7caa95 I calculated next hop of parent instead of actual LSA. :-( 2000-06-05 16:13:50 +00:00
Ondrej Filip
07b7100292 Don;t send packet over downed interface. 2000-06-05 15:44:11 +00:00
Pavel Machek
8b79c4ccd5 Add safety check. 2000-06-05 15:41:44 +00:00
Pavel Machek
b093c328f5 Updates to both programmers and users doc 2000-06-05 12:52:57 +00:00
Ondrej Filip
ac272c0067 Bug in LSA origination. 2000-06-05 05:06:53 +00:00
Ondrej Filip
dc2548d2cc Premature age LSA if you're NOT dr. 2000-06-05 05:06:22 +00:00
Ondrej Filip
88048fb3c9 Small patch to better hash type=2 LSAs. 2000-06-05 03:46:19 +00:00
Ondrej Filip
273fd2c164 Many bugfixes (I don't remember all of them):
Added link ID calculation for external routes with same prefix but
	different mask.
Bugfix in NET lsa origination.
Bugfix in NET hashing.
Bugfix in LSA installing.
2000-06-05 02:23:20 +00:00
Martin Mares
e24ddd9bef Don't set precedence and TTL for the dummy socket. 2000-06-04 20:00:35 +00:00
Martin Mares
13e9bac33f One more newline less... :) 2000-06-04 19:57:04 +00:00
Martin Mares
df49d4e14b Removed lots of trailing newlines in log messages.
Please note that the only calls which don't add newlines automatically
(i.e., don't print a full line of output) are debug() and DBG().
2000-06-04 19:56:06 +00:00
Martin Mares
201187c558 debug -> DBG 2000-06-04 19:55:11 +00:00
Ondrej Filip
dab6651916 Install newer lsa even if nothing in its body change. 2000-06-04 19:21:23 +00:00
Ondrej Filip
67cc9135bf Many bugs in ext lsa origination. 2000-06-04 19:20:28 +00:00
Ondrej Filip
ce8f0c083a Schedule RT calcualtion if you delete LSA by premature aging. 2000-06-04 19:19:36 +00:00
Ondrej Filip
102e3e0e02 Just to be sure, that rt calculation cannot start beforeorigination of rt LSA. 2000-06-04 17:51:52 +00:00
Ondrej Filip
83e50ffc47 Bug in debugging. 2000-06-04 17:33:15 +00:00
Ondrej Filip
71f7d043a6 :-) No bison does not have any comment to my code. :-) 2000-06-04 17:10:52 +00:00
Martin Mares
54e55169da BGP documented. 2000-06-04 17:06:18 +00:00
Ondrej Filip
3560cf8e0b Clean up. 2000-06-04 16:36:57 +00:00
Ondrej Filip
e781124868 Another clean up. 2000-06-04 16:17:39 +00:00
Martin Mares
3b31c53833 Documented all the trivial protocols. 2000-06-04 16:15:37 +00:00
Ondrej Filip
2a863dd6e1 Small change to make bison happy. 2000-06-04 16:12:01 +00:00
Ondrej Filip
aaaff77605 More conf. items defined. 2000-06-03 09:50:31 +00:00
Ondrej Filip
a789d814dd Multiple items in area {} :-) 2000-06-03 08:42:04 +00:00
Ondrej Filip
89d6782dd1 interface {} added. 2000-06-03 01:29:00 +00:00
Ondrej Filip
b36a0a799c area {} added to config. 2000-06-02 19:55:55 +00:00
Ondrej Filip
3fa5722def First option into config added. :-) 2000-06-02 15:05:41 +00:00
Ondrej Filip
62924172ae Flush LSA when receive aged one. 2000-06-02 13:52:50 +00:00
Ondrej Filip
e4ba0ec197 Bugfix in receiving of aged LSA. 2000-06-02 13:27:34 +00:00
Ondrej Filip
2eac33f774 Better LSA Aging. 2000-06-02 12:34:28 +00:00
Ondrej Filip
ece612e128 sh interface "iface" dumpped all. 2000-06-02 11:24:38 +00:00
Ondrej Filip
7a5582ac00 Better dumping, if I get strange lsack. 2000-06-02 11:00:14 +00:00
Ondrej Filip
3488634cba Handle "show ospf *" even if protocol is down. 2000-06-02 10:21:02 +00:00
Ondrej Filip
a489f0ce8b Silly bug in sh interface. Now I test ALL interfaces. :-) 2000-06-02 09:57:22 +00:00
Ondrej Filip
489f800b45 Speedup loading process. 2000-06-02 09:53:26 +00:00
Ondrej Filip
92e8be8c89 Bugfix in lsreq receiving. 2000-06-02 09:42:24 +00:00
Ondrej Filip
c4f0f01408 Added show ospf interface.
show ospf neighbors now knows "<interface>".
2000-06-01 17:52:21 +00:00
Ondrej Filip
4ab4e9778f show ospf implemented. 2000-06-01 16:26:59 +00:00
Ondrej Filip
a783e259d8 Cisco-like "show ospf neighbors" implemented. 2000-06-01 15:53:06 +00:00
Martin Mares
23df5e4cf3 Print route tag in hexadecimal and omit it if it's zero. 2000-06-01 13:00:39 +00:00
Martin Mares
bc00185e5a Updated to new neighbor cache. 2000-06-01 13:00:19 +00:00
Martin Mares
491cd43b77 Updated RIP to new neighbor cache semantics. When presented with next hop
equal to a local address, just ignore the route (as it is usually just an
external route exported by us echoed by some RIP peer), when given an
invalid next hop, moan to the log.
2000-06-01 12:59:50 +00:00
Ondrej Filip
df968040f6 Print tag unsigned rather then signed. 2000-06-01 12:17:08 +00:00
Ondrej Filip
c52c7e7645 Calculate checksum when reflooding (after min ls_refresh). 2000-06-01 12:08:14 +00:00
Ondrej Filip
42542c56c2 Cleanup. 2000-06-01 00:32:08 +00:00
Ondrej Filip
d27d0efe17 Very stuping bug. (I took me 4 hours to find it!)
I just wrote "=!" instead of "!=". :-(((((((
2000-06-01 00:22:48 +00:00
Ondrej Filip
b5958826cc Ehm, some other "down" steps. 2000-05-31 18:55:57 +00:00
Ondrej Filip
3f6953a103 Some bugs in cleanup after iface down. 2000-05-31 18:45:16 +00:00
Ondrej Filip
489b21555e Why does not work "sk_close(sk);rfree(sk);"? 2000-05-31 18:36:51 +00:00
Ondrej Filip
46962be628 Better debugging.
Safe neigh_list deleting.
2000-05-31 18:31:53 +00:00
Ondrej Filip
3728267827 And finally, Premature aging works. :-) 2000-05-31 18:21:42 +00:00
Ondrej Filip
31ee3d5f21 Another step to make premature aging better. 2000-05-31 15:51:39 +00:00
Ondrej Filip
a9eeefd63a Warning destroyed. :-) 2000-05-31 15:28:13 +00:00
Ondrej Filip
82364f4db8 Flood my LSA (if exists) after old one is flushed. 2000-05-31 15:24:29 +00:00
Ondrej Filip
0822995cb3 Set E2 metric for internal routes to LSINFINITY. 2000-05-31 15:04:45 +00:00
Ondrej Filip
9a04d0307e Delete _all_ ext routes from unreachable neighbor. 2000-05-31 14:52:22 +00:00
Ondrej Filip
528932368a Stuping bug in net LSA origination. Now, I should survive
loss of my only neighbor.
2000-05-31 14:43:42 +00:00
Ondrej Filip
d1660fd3f3 Sort cleanup in aging. 2000-05-31 14:21:56 +00:00
Ondrej Filip
70a383198a LSArt origination and routing table calculation is now not doing so
often. Instead of calculation I just schedule it latter.
2000-05-31 14:06:33 +00:00
Ondrej Filip
fc741dab27 Handle better next hop in external LSA. 2000-05-31 13:20:25 +00:00
Ondrej Filip
e0bbb7b7ef Very ancient bug in (B)DR election, I didn't fill correctly my own IP. 2000-05-31 12:52:12 +00:00
Ondrej Filip
a7a3a0a383 Added tagging of external LSA. 2000-05-31 12:07:09 +00:00
Martin Mares
fcb5f4a725 Updated all the Doc files to new format. 2000-05-31 11:30:18 +00:00
Ondrej Filip
0884f49223 Ehm, in had this in code: "break; i--;" :-( 2000-05-30 23:29:23 +00:00
Martin Mares
3b0b2cb61f IPv6: Absolutize link-scope addresses of incoming packets.
IPv6 socket interface is hopefully right now.
2000-05-30 22:48:14 +00:00
Martin Mares
5919c66e8f Route attributes for OSPF. 2000-05-30 21:25:32 +00:00
Martin Mares
2cec475b8f Removed several unused local variables. 2000-05-30 21:24:53 +00:00
Ondrej Filip
3e86455606 Added \n in debug. 2000-05-30 18:21:51 +00:00
Ondrej Filip
7e1c7efae2 Stupig bug in debugging. 2000-05-30 17:57:06 +00:00
Ondrej Filip
3dd8f983b6 You can decide if add LSA into lsrth during flood_lsa(). 2000-05-30 17:51:22 +00:00
Ondrej Filip
3d410fdfa1 Reflood your old lsa. 2000-05-30 17:49:25 +00:00
Ondrej Filip
13b02be25a Don't run rt calculation twice. 2000-05-30 17:00:17 +00:00
Ondrej Filip
b477a9a855 Don't send empty LS upd. (And better debugging.) 2000-05-30 16:49:48 +00:00
Ondrej Filip
e1e31816c4 Aging delta changed. (Ehm, aging is very dirty I'll have to change it.) 2000-05-30 16:48:42 +00:00
Ondrej Filip
1b128de364 Better shutdown. 2000-05-30 16:13:59 +00:00
Ondrej Filip
935ceabea4 Don't send empty LS update. 2000-05-30 16:08:29 +00:00
Ondrej Filip
a548a7e167 Bug in direct ack (via update). 2000-05-30 15:05:47 +00:00
Ondrej Filip
4513280611 Bug in socket closing. 2000-05-30 15:04:52 +00:00
Ondrej Filip
ef6f26b417 Bug in lsa comparision. 2000-05-30 15:01:51 +00:00
Ondrej Filip
2aa476a535 Yeah, the endianity bug found. 2000-05-30 13:39:06 +00:00
Ondrej Filip
76e2514328 Better dumping. 2000-05-30 13:25:47 +00:00
Pavel Machek
f3b33928ce Tried to change garbagetime -> garbage time to be more consistent. 2000-05-30 11:15:19 +00:00
Ondrej Filip
04c3a83c60 Better inicialisation. 2000-05-30 11:07:31 +00:00
Ondrej Filip
5970fcda8c Some exchange between init() and start(). 2000-05-30 10:53:48 +00:00
Ondrej Filip
73232f6b18 Better rt dumping. 2000-05-30 10:36:57 +00:00
Ondrej Filip
05dbc97b13 Bug in rt_notify. 2000-05-30 10:20:14 +00:00
Martin Mares
7294f68b3b path metric' and disable after error' are switches, not numeric clauses. 2000-05-29 22:08:04 +00:00
Ondrej Filip
e9d6b1d19f Kosmetic change in debugging. 2000-05-28 20:11:56 +00:00
Ondrej Filip
f7c0525edc get_route_info() added. 2000-05-28 19:16:04 +00:00
Ondrej Filip
4414d9a57a get_status() implemented. 2000-05-28 18:49:33 +00:00
Ondrej Filip
d5f029df48 Just added some debug(). 2000-05-28 18:34:20 +00:00
Ondrej Filip
4bd28fb68e Better shutdown. (Flush my own router LSA and send 1WAY to every neighbor.)
Ext LSA originating and flushing added.
2000-05-27 15:36:02 +00:00
Ondrej Filip
e8085abaa7 Originating of external LSA. 2000-05-27 14:17:35 +00:00
Ondrej Filip
2d5b999236 Import control implemented. 2000-05-26 19:04:18 +00:00
Martin Mares
d2a7c0e9b2 Don't print trace messages about null updates. 2000-05-19 18:05:19 +00:00
Martin Mares
dc6405d27e Latest changes by Pavel have removed the error messages printed after
unsuccessful socket open, but replaced them by segmentatio fault!

Grrrrrrrrr.
2000-05-19 17:21:42 +00:00
Pavel Machek
9511a483b1 Less error messages in case sk_open fails. 2000-05-19 16:44:25 +00:00
Pavel Machek
eb4097e4e4 Added name of protocol to messages being logged. 2000-05-19 16:22:53 +00:00
Martin Mares
5e88d73025 BGP now reports originating AS and origin type in get_route_info(). 2000-05-19 11:01:41 +00:00
Martin Mares
f7ad556f20 Commented out the `inserting entry which is already there' message since
it's pretty normal: during feeding of the protocol, a new route can appear
which will be announced normally and then repeated by the feeding process.
2000-05-19 11:00:47 +00:00
Ondrej Filip
0850ce22d7 Smal debug bugfix. 2000-05-17 21:20:47 +00:00
Pavel Machek
6d5e703dc9 Minor cleaning 2000-05-17 20:23:05 +00:00
Ondrej Filip
00c1f79a79 rte_same implemented. 2000-05-17 20:01:25 +00:00
Ondrej Filip
bbd76b421a rte_better implemented. 2000-05-17 19:27:51 +00:00
Ondrej Filip
4ee2178935 Don't die, if you receive strange LSA. 2000-05-17 00:28:45 +00:00
Ondrej Filip
7f6b3cf247 Typo in comment. 2000-05-17 00:28:11 +00:00
Ondrej Filip
18a0c0bb76 Downing of interface should work. 2000-05-16 23:59:38 +00:00
Ondrej Filip
8fb0c2c298 Calculation of external routes finally works. 2000-05-16 23:24:50 +00:00
Ondrej Filip
31834faaf3 Ehmm, removed 'if(1 || ...' so I can test the second part . 2000-05-16 22:43:30 +00:00
Ondrej Filip
508c36ab79 Routing table calculation for ext LSAs having next-hop=!0.0.0.0 2000-05-16 22:34:49 +00:00
Martin Mares
e5a47266d0 Turned off LOCAL_DEBUG. 2000-05-16 15:08:52 +00:00
Pavel Machek
5b846de6a6 Interface dummy is too strange for me... but psst, that's secret. 2000-05-16 15:05:05 +00:00
Pavel Machek
898fdd85dc Rip should now reconfigure itself only if needed. 2000-05-16 14:58:06 +00:00
Martin Mares
f4ab231746 bgp_get_status: If protocol is down, don't print BGP state. 2000-05-15 12:19:28 +00:00
Martin Mares
e3f2d5fce3 Cleanup of configuration.
o  Use `expr' instead of `NUM' and `ipa' instead of `IPA',
   so that defined symbols work everywhere.
o  `define' now accepts both numbers and IP addresses.
o  Renamed `ipa' in filters to `fipa'.

Pavel, please update filters to accept define'd symbols as well.
2000-05-15 11:48:23 +00:00
Martin Mares
758458be05 Unified parsing of prefixes.
Had to rename `prefix' in filters to `fprefix'.
2000-05-13 11:17:49 +00:00
Martin Mares
02bd064ab7 Adapted to new rt_notify semantics. 2000-05-13 11:02:02 +00:00
Martin Mares
e4bfafa100 Manual enable/disable works right. 2000-05-13 11:01:41 +00:00
Ondrej Filip
7e681ef360 Calculation of external routes works. :-) 2000-05-12 00:22:43 +00:00
Ondrej Filip
be2bb40341 Minor changes. 2000-05-11 22:02:53 +00:00
Ondrej Filip
5da1f93537 Bugfix in flooding. (bad size)
Better debugging.
More robust in receiving.
2000-05-11 22:00:55 +00:00
Ondrej Filip
c8d1f3feb2 Better debugging.
More robust.
2000-05-11 22:00:16 +00:00
Ondrej Filip
7a42e6ce89 Bugfix in network LSA originating. 2000-05-11 17:14:57 +00:00
Martin Mares
28323d9ddb Several minor RIP changes (Pavel, please check as usually):
o  Use FIB_ITERATE_INIT instead of calling the function fit_init()
      which is explictly marked as private in route.h.
   o  When printing trace messages, don't spit out protocol name twice.
   o  Some messages are a bit more verbose.
   o  Added a bunch of FIXME's.
   o  When running in broadcast mode, don't forget to bind the local
      end of the socket to the same broadcast address, so that we don't
      get the broadcasts looped back via different interface. I'm just
      going to look up the same problem for multicasts.
2000-05-11 15:05:13 +00:00
Martin Mares
2138d3b4d8 Use correct flags for the LOCAL_PREF attribute.
When an invalid attribute is found, copy the entire attribute to the data
section of the NOTIFICATION message.
2000-05-11 12:20:07 +00:00
Pavel Machek
ec21aecfdd Fixed nasty segfault in rip. 2000-05-11 10:33:18 +00:00
Pavel Machek
10f5c47d2e Some more paranoia into rip_insert and rip_delete 2000-05-11 09:41:16 +00:00
Pavel Machek
94d1a6c9dc Unused variable killed. 2000-05-11 09:36:55 +00:00
Ondrej Filip
394920a09c Test better lsa size. 2000-05-10 23:42:37 +00:00
Ondrej Filip
31dca43534 Be more verbose. 2000-05-10 23:42:13 +00:00
Ondrej Filip
74ac7cdb1a Bugfix in (B)DR election. 2000-05-10 23:41:52 +00:00
Ondrej Filip
ff73f1d63d More robust tests in packet receiving. 2000-05-10 23:41:18 +00:00
Ondrej Filip
13741548a6 Some better lsa checking added. 2000-05-10 15:04:21 +00:00
Ondrej Filip
a9c41c8548 Out dump deleted. 2000-05-10 14:29:00 +00:00
Pavel Machek
2a41c8d9fc use password_same utility function 2000-05-10 13:42:50 +00:00
Ondrej Filip
a3f657ac76 Ever test possibility of forming of adjacency. 2000-05-10 13:35:49 +00:00
Pavel Machek
3e47419274 Inlined metric and mode into struct rip_interface to make reconfig
work.

reconfigure is conservative but should work.
2000-05-10 13:23:21 +00:00
Pavel Machek
30aa02d70d rip_reconfigure done right 2000-05-10 13:05:39 +00:00
Pavel Machek
b8524e9be4 ipa_same does not exist. 2000-05-10 12:48:06 +00:00
Pavel Machek
0bff946c0a Nicer messages from rip. 2000-05-10 12:46:47 +00:00
Pavel Machek
6f3849774f Use ea_get_int instead of ea_find. 2000-05-10 12:38:05 +00:00
Ondrej Filip
c7e46aae66 Destroying of neighbor moved from 'hello' to 'neighbor' and
improved.
2000-05-10 12:37:43 +00:00
Pavel Machek
7f5f44bb92 Reconfigure hook copied from bgp. 2000-05-10 12:32:45 +00:00
Pavel Machek
84a1305437 Send first udpate sooner. 2000-05-10 12:26:09 +00:00
Pavel Machek
14758d87c4 Only announce change to main routing table if it is better than current. 2000-05-10 12:23:06 +00:00
Ondrej Filip
353f326138 Better dumping. 2000-05-10 12:22:00 +00:00
Pavel Machek
5e50f0a028 Don't touch used memory. 2000-05-10 11:57:56 +00:00
Ondrej Filip
e8bd039da8 Bugfix in ip_addr endianity. 2000-05-10 11:52:39 +00:00
Pavel Machek
be3b6dc574 Killed unused variable. 2000-05-10 11:48:34 +00:00
Ondrej Filip
28950169e7 Bug in (B)DR election fixed. 2000-05-10 11:48:21 +00:00
Pavel Machek
d9f89e0114 You can now say "mode multicast". 2000-05-10 11:40:30 +00:00
Ondrej Filip
65a9c57175 Change u32 to ip_addr in ext lsa. 2000-05-10 11:22:08 +00:00
Ondrej Filip
aa1e082c67 Calculation of external routes. 2000-05-10 10:47:17 +00:00
Pavel Machek
4bfe4e8551 Fix segfaults by using new ea_get_int. 2000-05-10 06:56:42 +00:00
Ondrej Filip
fe95ab6816 FIXME's removed by deleting them. :-) 2000-05-09 21:52:58 +00:00
Ondrej Filip
32fa4a5a46 Premature aging of self-originated LSA received in flooding. 2000-05-09 21:06:48 +00:00
Ondrej Filip
3b8b1bd037 Better dumping. 2000-05-09 19:38:34 +00:00
Ondrej Filip
a3ae6246c2 Bugfix in lsrt slist adding. 2000-05-09 19:38:16 +00:00
Ondrej Filip
b224ca32cf Flushing of old LSAs added. 2000-05-09 19:36:32 +00:00
Ondrej Filip
850fda2518 Backup seen is not called so often. 2000-05-09 18:35:57 +00:00
Ondrej Filip
cd22a62b3c Don't send flushed LSAs. 2000-05-09 18:20:39 +00:00
Ondrej Filip
9669362f05 Many bugfixes. (I added one entry twice to slist.)
Debug cleanup.
Retransmiting of unacknolegded LSAs
2000-05-09 18:17:34 +00:00
Ondrej Filip
5f743d9697 Many bugfixes. Actually, how could this ever work? :-) 2000-05-09 13:56:47 +00:00
Ondrej Filip
5d608eba16 Bug fix in sending updates. 2000-05-09 12:31:38 +00:00
Ondrej Filip
0e1b949be7 Bugfix in testing of possibility of adjacency. 2000-05-09 12:18:41 +00:00
Ondrej Filip
432996f40f Better dumping. 2000-05-09 12:03:57 +00:00
Ondrej Filip
54ac9d2e03 Bugfix in hello. 2000-05-09 12:02:48 +00:00
Ondrej Filip
4057093fa4 Small cleanup. 2000-05-09 11:52:44 +00:00
Ondrej Filip
551d444382 Sorry, it didn't compile. :-( 2000-05-09 11:29:52 +00:00
Ondrej Filip
b29c620f90 Another bugfix in neighbor state machine. 2000-05-09 11:27:31 +00:00
Ondrej Filip
279a3b76d1 Small bug in neighbor state machine. 2000-05-09 10:47:10 +00:00
Ondrej Filip
fafe44b651 Just added declaration of AS Ext routes calculation. 2000-05-09 00:03:08 +00:00
Ondrej Filip
43e75f38e7 Do not stop lsrr_timer in FULL state. Use it for retransmition. 2000-05-08 23:46:31 +00:00
Ondrej Filip
ed4a53c6a5 Some changes in debugging. 2000-05-08 22:50:37 +00:00
Ondrej Filip
9bacea4211 Fixed some FIXME's by deleting them. :-) 2000-05-08 22:49:58 +00:00
Ondrej Filip
8a3049f6f1 Useless '\n' in log() 2000-05-08 22:42:56 +00:00
Ondrej Filip
eae4fcf253 Stopping RXMT timer when going to lower state than EXSTART. 2000-05-08 22:40:55 +00:00
Martin Mares
c09d1e8df2 KEEPALIVE TIME ought to set keepalive time, not connect retry time :) 2000-05-08 22:32:17 +00:00
Ondrej Filip
fc0ca2d8e1 Typo in debug. 2000-05-08 22:28:42 +00:00
Ondrej Filip
a6fdf9c6ac Grrr, useless debug. 2000-05-08 22:27:25 +00:00
Ondrej Filip
5ee479aac9 Small typo. 2000-05-08 22:26:11 +00:00
Ondrej Filip
0ebb8b64f3 Bugfix in new neighbor allocation. 2000-05-08 22:24:22 +00:00
Ondrej Filip
77fbd315df Better debug output. 2000-05-08 22:10:10 +00:00
Ondrej Filip
b57a45b81a Next hop calculation improved. (I ignored stub networks advertised by my
neighbors.
2000-05-08 22:03:29 +00:00
Ondrej Filip
158b99c912 Better logging. (%d->%I) 2000-05-08 22:02:45 +00:00
Martin Mares
0c3588bf5e Don't crash when the socket gets closed between updates.
Also, this time not only update `remains', but update it right :)
2000-05-08 14:53:22 +00:00
Martin Mares
9ff8f334ed Update `remains' counter correctly. 2000-05-08 14:32:19 +00:00
Martin Mares
93d6bf38a6 The bgp_list is gone. Incomming connections are now handled in a much
more straightforward manner by scanning the active configuration for
matching protocols.
2000-05-08 13:26:30 +00:00
Martin Mares
507eea4c8b Don't generate corrupted packets when sending only route deletes. 2000-05-08 12:37:24 +00:00
Martin Mares
79681f4a19 Link the instance to the global BGP list as soon as possible. 2000-05-08 11:04:22 +00:00
Martin Mares
916c8c0aba Use preferences properly. 2000-05-08 10:40:00 +00:00
Martin Mares
92ef4fa719 Preference is a configurable parameter. 2000-05-08 10:38:25 +00:00
Martin Mares
acfce55c86 Setup of incoming connection is now a separate function. 2000-05-07 10:41:45 +00:00
Martin Mares
ce1da96ee7 Added commands show route protocol <p>' and show route import <p>' which
show the routing table as exported to the protocol given resp. as returned
from its import control hook.

To get handling of filtered extended attributes right (even in the old
`show route where <filter>' command), the get_route_info hook gets an
attribute list and all protocol specific rte attributes are contained
there as temporary ones. Updated RIP to do that.

Added ea_append() which joins two ea_list's.
2000-05-06 22:57:39 +00:00
Martin Mares
ab1129c1bd Added skeleton Doc files for the whole developer's documentation. 2000-05-05 17:17:42 +00:00
Martin Mares
beaf86e13c Removed RTS_RIP_EXT. 2000-05-04 21:23:10 +00:00
Martin Mares
9a220cabbc #ifdef out lots of debugging information.
The long resource/routing table dump printed upon startup is gone now
and if you wish to see it, just send bird SIGUSR1 or use the `debug'
commands.
2000-05-04 20:52:28 +00:00
Martin Mares
2a149b18cc Unused variables in IPv6 code. 2000-05-04 20:38:44 +00:00
Martin Mares
93a786cb03 Removed a lot of unused variables.
Please try compiling your code with --enable-warnings to see them. (The
unused parameter warnings are usually bogus, the unused variable ones
are very useful, but gcc is unable to control them separately.)
2000-05-04 20:30:36 +00:00
Pavel Machek
9b63e3a58a Spelling fixes. 2000-05-04 20:08:34 +00:00
Martin Mares
cf3d6470d7 IPv6 BGP support finished. Also simplified the BGP stuff a bit. 2000-05-04 20:02:56 +00:00
Martin Mares
1c1da87b27 Receive-only IPv6 BGP. 2000-05-04 09:03:31 +00:00
Ondrej Filip
d345cda5a1 Bugfix in Network lsa originating
Bugfix in ntohlsab() and htonlsab()
For calculating of rt I use my own fib. I delete routes! ;-)
2000-05-04 01:23:03 +00:00
Ondrej Filip
9e48d717cf Test for "flushing" added. 2000-05-03 22:36:12 +00:00
Ondrej Filip
a02c6c184b Cleanup of code. Some arguments of functions were useless. 2000-05-03 22:23:41 +00:00
Ondrej Filip
ad5453b540 Testing if I can flush LSA from database. 2000-05-03 22:12:33 +00:00
Ondrej Filip
9bc1808a27 Better rt and net originating. 2000-05-03 00:08:48 +00:00
Ondrej Filip
0bf2f2039e Originating of network LSA. 2000-05-02 23:09:44 +00:00
Ondrej Filip
249fdef7a1 Adding InfTransDelay for outgoing lsa. 2000-05-02 22:31:48 +00:00
Ondrej Filip
c45f48fba5 Aging of lsa database added. 2000-05-02 22:19:41 +00:00
Ondrej Filip
a92847e78f Route calculation for stub networks. 2000-05-02 19:27:57 +00:00
Martin Mares
53943a0022 Defined format specifier %M' which behaves as %m', but takes the
error code as an argument.

Use it in socket hooks where we really shouldn't rely on errno containing
the right value or even existing.
2000-05-02 16:10:04 +00:00
Martin Mares
85368cd4b7 Full protocol tracing. 2000-05-02 16:07:41 +00:00
Martin Mares
d1a74339d4 Handle redistribution of unknown attributes correctly. 2000-05-02 12:51:39 +00:00
Ondrej Filip
85195f1a53 Many small changes and bug fixes. Routing table calculation works.
I'm waiting for rt lookup to add stub networks.
2000-04-30 22:14:31 +00:00
Pavel Machek
2337ade754 Moved documentation to top of file, where it belongs. 2000-04-30 18:47:48 +00:00
Ondrej Filip
c6c5626436 Sync with nest's rt table and some minor improvements. 2000-04-30 11:31:05 +00:00
Ondrej Filip
e80e9d0da5 RT calculation strongly simplified. Now, I don't need any
memory allocation. :-)
2000-04-30 09:32:41 +00:00
Ondrej Filip
468f2347fc Calculating of nexts hop(s) added. 2000-04-29 15:57:14 +00:00
Pavel Machek
9c1a55deee IpV6 now actually compiles.
Mj, could you provide example of static config for ipv6 that is _not_
rejected by checks? I tried this and got rejected.

	route 62:168::/32 via 62:169::;
	route 1:2::/32 via 1:3::;
2000-04-29 15:45:30 +00:00
Martin Mares
cea6366400 The `bgp_origin' attribute is now an enum. 2000-04-28 15:13:29 +00:00
Martin Mares
2edb31b097 Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
C declarations etc.).
2000-04-28 15:11:10 +00:00
Pavel Machek
decc99fbbd Killed fixme: I already fixed it. 2000-04-28 10:15:57 +00:00
Pavel Machek
a769a180d7 Provide rip_get_attr, how do I test it? 2000-04-28 10:14:59 +00:00
Pavel Machek
6c0a7174af Add sample documentation to rip. 2000-04-28 09:55:52 +00:00
Martin Mares
f94557dec5 Some more fixes for attributeless UPDATEs. 2000-04-27 22:40:19 +00:00
Martin Mares
54896cbdba Path attribute can be missing if we process a packet with empty NLRI section. 2000-04-27 22:31:11 +00:00
Martin Mares
9165888ad2 Handle connect errors correctly. 2000-04-27 19:41:10 +00:00
Ondrej Filip
2add26dfa9 Stub networks done. 2000-04-26 20:16:36 +00:00
Ondrej Filip
5904a51266 Nets are used before routers. 2000-04-26 14:03:56 +00:00
Martin Mares
5db9bae286 IBGP fixes. 2000-04-26 13:26:31 +00:00
Ondrej Filip
dfa9a53a66 Routing table calculation. Dijkstra done. 2000-04-26 12:54:23 +00:00
Pavel Machek
c010f4cb37 Use right address for ripv6. 2000-04-26 11:33:03 +00:00
Pavel Machek
7f704c06d8 Cleanup in preparation for ipv6. 2000-04-26 11:07:57 +00:00
Martin Mares
6fd766c17e Implemented automatic restart after error with all the timers needed. 2000-04-25 23:08:31 +00:00
Martin Mares
8573314326 Avoid printing of error messages on Cease notifications. 2000-04-25 23:08:03 +00:00
Martin Mares
b3155b3399 Randomize timers properly. 2000-04-25 22:01:19 +00:00
Martin Mares
42532f0846 Support dynamic reconfiguration. 2000-04-25 21:58:17 +00:00
Martin Mares
99f70c78e1 Use the same attribute names as in filters. 2000-04-25 21:31:15 +00:00
Martin Mares
684c25d98f When sending BGP attributes, re-create the flags, so that attributes
added by filters which get the flags wrong are fixed automagically.
2000-04-25 21:21:52 +00:00
Martin Mares
efcece2da3 Better reporting of both local and remote errors. 2000-04-25 21:13:25 +00:00
Martin Mares
a47a01083b Real parsing of BGP OPEN options including capability
negotiation.
2000-04-25 13:32:17 +00:00
Martin Mares
8b258e4e65 LOCAL_PREF is now always present and exported over all ibgp connections [draft]
Allow setting of address of the local end of the TCP connection.

Several bug fixes.
2000-04-21 13:01:28 +00:00
Martin Mares
2a9e064d7b If no NLRI's are present in an UPDATE message, parse the attributes, but
don't check presence of mandatory attributes. [draft-09]
2000-04-21 12:25:35 +00:00
Martin Mares
7787ace61a Synced to draft-ietf-idr-bgp4-09. 2000-04-20 22:54:22 +00:00
Martin Mares
9bc6ab4041 Fixed reporting of unknown options. 2000-04-20 22:34:50 +00:00
Martin Mares
5f532adde2 Temporarily ignore unknown options. 2000-04-19 13:54:35 +00:00
Martin Mares
f381cdce52 The ATOMIC_AGGREGATE parameter is optional transitive. 2000-04-19 13:54:17 +00:00
Martin Mares
e0d6a7bda4 Delay fetching of router ID. 2000-04-19 13:28:56 +00:00
Martin Mares
035044b1d9 Select the right source address and don't check port numbers. 2000-04-19 12:51:14 +00:00
Ondrej Filip
85c92555ef Grr, another patch to make it compile. 2000-04-18 22:11:05 +00:00
Ondrej Filip
740d16d972 Another ack bugfix. (Bad test for MIN_LS_ARRIVAL.) 2000-04-18 22:07:58 +00:00
Ondrej Filip
84228eee27 LS ack bugfix. (I didn't remove LSA from LSret hash.) 2000-04-18 21:40:11 +00:00
Ondrej Filip
19fc4c763e LS ack. 2000-04-18 21:13:56 +00:00
Ondrej Filip
26116eac93 Better LS Ack dumping. 2000-04-18 20:34:19 +00:00
Ondrej Filip
48f5a61f69 Bugfix in neighbor dumping. 2000-04-18 19:56:43 +00:00
Ondrej Filip
9eada7ca03 Fixed the serious bug in LSack.
Oh, I'm an idiot. I sent LSACK, but in header was LSUPD. :-(
2000-04-18 19:44:16 +00:00
Ondrej Filip
9eea604769 Multicast open socket for (B)DR bugfix. 2000-04-18 19:31:42 +00:00
Ondrej Filip
79f036ef6e Dump changes. 2000-04-18 19:22:49 +00:00
Ondrej Filip
4472402551 Many %u changer into %I. 2000-04-18 18:29:50 +00:00
Ondrej Filip
89929e9daa Many %u changed into %I and dump cleanup. 2000-04-18 18:21:10 +00:00
Ondrej Filip
1508ee8b53 Iface chstate run only if something really change. 2000-04-18 18:01:26 +00:00
Ondrej Filip
dd100e40c6 Better dumping in neighbor chstate. 2000-04-18 17:58:16 +00:00
Ondrej Filip
8914e37dc0 Better chstate dumping. 2000-04-18 17:54:06 +00:00
Ondrej Filip
284c43ff66 Sending of ACK disabled, since I'll find bug. 2000-04-18 17:36:46 +00:00
Ondrej Filip
023f5e86eb Another LSack update. It's still NOT correct and it surely
kills gated or Cyclades OSPF implementation. :-)
2000-04-18 17:00:56 +00:00
Ondrej Filip
67315ef64e Some lsack work. There is something very worng. :-( It locked my network. 2000-04-18 01:06:16 +00:00
Ondrej Filip
2a0925948d Listening on AllDRouters for DR and BACKUP added. 2000-04-17 21:10:40 +00:00
Ondrej Filip
38130b863f Small change in LSA originating. 2000-04-17 20:42:42 +00:00
Martin Mares
bd2d8190dd Honor standard communities (no_export, no_advertise, no_export_subconfed)
when exporting routes.
2000-04-17 13:13:08 +00:00
Martin Mares
56a2bed46b Don't import/export MED and LOCAL_PREF on external links.
Added real comparison of BGP routes (inspired by the Cisco one).
Default local preference and default MED are now settable.
Defined filter keywords for all BGP attributes we know.
2000-04-17 12:46:07 +00:00
Martin Mares
e3558ab14e Normalize community sets when exporting.
Set PARTIAL bits correctly.
2000-04-17 11:25:15 +00:00
Martin Mares
1ed2fe9609 Send and receive communities. 2000-04-17 10:19:15 +00:00
Martin Mares
f421cfdd80 Sending of update messages works! 2000-04-17 09:37:31 +00:00
Martin Mares
c0668f3696 Created nest/a-path.c and a-set.c which should contain general operations
on AS paths and community sets.

Moved as_path_prepend() there.

Pavel, please move the other functions as well.
2000-04-17 07:53:29 +00:00
Ondrej Filip
ebff007f08 LSack receiving bugfix. 2000-04-12 15:37:52 +00:00
Ondrej Filip
4bf41ac8b1 LS Ack receiving done. 2000-04-12 15:20:13 +00:00
Ondrej Filip
58313b24c8 Stupid "+1"-bug fixed. 2000-04-12 14:49:20 +00:00
Martin Mares
c8f685cb9d Made last Pavel's changes compile. 2000-04-12 14:14:47 +00:00
Pavel Machek
0a40e97328 as_path_prepend is usable outside bgp. 2000-04-12 14:12:37 +00:00
Martin Mares
c2b28c9910 Real bucket lists. 2000-04-12 14:09:26 +00:00
Pavel Machek
ac7a2145cc f_new_dynamic_attr gets third argument, type as filters know it. 2000-04-12 14:02:04 +00:00
Martin Mares
12d5677aa3 Define BGP_PATH. 2000-04-12 13:56:04 +00:00
Martin Mares
7750634946 Introduced `ARRAY_SIZE' macro to replace all the sizeof(a)/sizeof(*a) constructs. 2000-04-12 13:21:23 +00:00
Martin Mares
ae8f558499 Implemented outgoing attribute cache. 2000-04-10 12:39:51 +00:00
Martin Mares
48e842cc98 Use neighbor cache to track direct route to the peer or multihop destination.
Calculate next_hop properly based on the local address we get from the
neighbor entry.
2000-04-10 11:21:40 +00:00
Martin Mares
ef2c708dfa More BGP progress...
For Pavel: You can use bgp_path_prepend() for prepending AS numbers to AS paths.
2000-04-09 22:05:02 +00:00
Pavel Machek
3d0ea3a7c3 Fix of comment. 2000-04-07 09:02:17 +00:00
Ondrej Filip
2c971094eb LSA flooding done. 2000-04-05 00:51:25 +00:00
Ondrej Filip
10000b96a8 Small clean up. (Duplicate #defines.) 2000-04-04 22:27:19 +00:00
Ondrej Filip
f1f7faceb4 "Bug in hashing" fixed. Ehm it was bug in lsrql node removing. 2000-04-04 22:22:08 +00:00
Ondrej Filip
d8852b362c LSupdate processing improved. Now there is some bug in hashing. :-( 2000-04-04 15:55:55 +00:00
Ondrej Filip
921a93f217 Flooding work continues. 2000-04-04 00:32:17 +00:00
Ondrej Filip
8496b2e41a Minor change in area list. Now I use MJ's lists. 2000-04-03 22:31:07 +00:00
Ondrej Filip
394acced11 Work on lsupdates continues. Some checksum cleanup. 2000-04-02 20:41:33 +00:00
Ondrej Filip
db9fb72769 lsa_cmp moved into lsalib.c 2000-04-02 19:04:23 +00:00
Martin Mares
10be74da20 Formatting of dynamic attributes (except for paths and communities which
will be added soon).
2000-04-01 10:21:11 +00:00
Martin Mares
dad177d7e0 RIP: Set attribute class. 2000-04-01 10:20:12 +00:00
Martin Mares
f880924990 BGP now handles incoming routes (IPv4 only). 2000-04-01 09:17:33 +00:00
Ondrej Filip
499cb346f6 LSA checksum works. But it's very uneficient on little endian systems. 2000-04-01 02:45:49 +00:00
Martin Mares
ac4b4683ae Removal of useless includes continues... 2000-03-31 23:40:00 +00:00
Martin Mares
a37410cbdd Use bsprintf() instead of sprintf(). 2000-03-31 23:33:03 +00:00
Martin Mares
221135d6bf Include "lib/string.h" instead of <string.h>. It should give us bzero()
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00
Martin Mares
c00d31befa Parsing of BGP attributes. 2000-03-31 23:21:37 +00:00
Ondrej Filip
65e55e9cca Checksum changes. Bug is still NOT fixed. :-( 2000-03-31 01:40:12 +00:00
Ondrej Filip
9f940976d1 Some bug fixes. LSA checksum is still bad. I'll fix it later. 2000-03-31 01:14:41 +00:00
Ondrej Filip
f45fd3164b Sending of lspd as responce to lsreq done. 2000-03-31 00:21:41 +00:00
Ondrej Filip
14a7921c83 LSA structure changes. (Len added.) 2000-03-30 20:18:51 +00:00
Ondrej Filip
de769e24c0 Skeleton structures and files added. 2000-03-30 20:00:42 +00:00
Ondrej Filip
95eb1dba3f Add hashing to link state request list. 2000-03-30 19:37:26 +00:00
Ondrej Filip
76915ec979 Minor changes. 2000-03-30 19:21:17 +00:00
Martin Mares
973399ae2c Basic analysis of UPDATE packets. 2000-03-30 18:44:23 +00:00
Martin Mares
b552ecc4d7 Connection state machine works. 2000-03-30 17:39:48 +00:00
Ondrej Filip
ce0603a6ed Better list manipulation. 2000-03-30 16:22:58 +00:00
Martin Mares
3fdbafb6f4 More BGP. This time it connects, but the state machine still isn't complete. 2000-03-30 10:44:20 +00:00
Ondrej Filip
6d2b32114f LSreq initial work. 2000-03-30 00:18:59 +00:00
Ondrej Filip
2560c8860e Slave bug fix. 2000-03-29 17:51:40 +00:00
Ondrej Filip
910e557b47 Many changes in dbdes sending & receiving. EXDONE caused. 2000-03-29 17:18:06 +00:00
Ondrej Filip
315648af8e RXMT timer handling bug fix. 2000-03-29 13:02:58 +00:00
Ondrej Filip
3fba209688 Some FIXME added. 2000-03-29 12:47:07 +00:00
Ondrej Filip
96501dfe5f Sending of DBdes bug fixed. 2000-03-29 12:45:37 +00:00
Ondrej Filip
04c6319a63 IMMS reverted to bits. Outgoing packets dumping added.
Cisco does not set inteface MTU. Hmm....
2000-03-29 12:32:25 +00:00
Pavel Machek
8d2e3eba92 Cross-protocol issues solved better 2000-03-29 08:58:06 +00:00
Ondrej Filip
963ea03d87 DBdes sending/receiving changes. 2000-03-29 00:34:28 +00:00
Pavel Machek
d0031c5ee9 Use neigh_connected_to in rip, and behave more correctly
w.r.t. whotoldme and nexthop.
2000-03-27 12:21:11 +00:00
Pavel Machek
6480dd0880 I broke compilation. Sorry. 2000-03-26 21:31:57 +00:00
Pavel Machek
8c86f96fa6 Split horizont done right.
Locks done better.
2000-03-26 18:01:27 +00:00
Pavel Machek
9ee07ca53f FIXME was actually already resolved 2000-03-24 10:08:20 +00:00
Pavel Machek
772f489932 Minor change to make code more readable. 2000-03-23 12:08:40 +00:00
Pavel Machek
ff8ed63285 Rip now tries to lock interface.
Fixed fatal errors which caused segfault at startup.

Fixed fatal errors in rip which caused it not to send more than first
update.
2000-03-22 14:26:03 +00:00
Martin Mares
72a6ef11fe Construction of BGP packets. 2000-03-21 15:53:50 +00:00
Martin Mares
c01e37416d Started work on BGP. Wrote main part of the connection handling code. 2000-03-20 21:50:17 +00:00
Martin Mares
2638249d34 Bare skeleton of the BGP. 2000-03-19 22:09:07 +00:00
Pavel Machek
856b87d1e4 Cleanup, mostly debugging messages. 2000-03-13 13:31:00 +00:00
Martin Mares
6b9fa32080 Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
several debug() calls converted to DBG().
2000-03-12 21:01:38 +00:00
Ondrej Filip
ce17d4c165 LSA DB is completely redesigned. Now it should be faster and it needs
less memory.
2000-03-09 22:38:05 +00:00
Pavel Machek
af834f8630 Categorized TRACE() messages in rip 2000-03-09 16:38:51 +00:00
Pavel Machek
cb822c0777 Rip tracing: still need config hunk to set p->debug. 2000-03-09 15:12:41 +00:00
Pavel Machek
38466dbdac log() classes done right 2000-03-09 14:59:10 +00:00
Ondrej Filip
30147b89ff Sending of DBDes. (Checksum and length calculation NOT done.) 2000-03-08 12:50:28 +00:00
Martin Mares
9f4929e749 Renamed EAF_INLINE to EAF_TEMP to make the name reflect the real meaning. 2000-03-04 22:30:44 +00:00
Pavel Machek
62ab789de5 Added type parameter to f_new_dynamic_attr. 2000-03-01 14:42:59 +00:00
Martin Mares
db1326aa5e Dynamic attributes are now declared in per-protocol grammar files instead
of filter/config.Y. Bird now compiles even if you disable RIP.

Removed RTA and IMPOSSIBLE tokens (unused).

Removed superfluous comment in filter.h.

I've tried to do my best, but Pavel, please check these changes.
2000-03-01 11:32:23 +00:00
Martin Mares
ef0883a12f Adapted RIP to new interface flags. Pavel, please verify it's right. 2000-02-29 23:20:55 +00:00
Ondrej Filip
de30342f97 Router LSA & area adding. 2000-02-25 19:19:41 +00:00
Ondrej Filip
b786df7035 Memory allocation in ospf_area changed. 2000-02-25 14:26:54 +00:00
Ondrej Filip
ab56f6b16f Area work and router LSA starts when interface goes up. 2000-02-24 00:26:10 +00:00
Ondrej Filip
ea28da044a Small change for debugging. 2000-02-23 23:23:19 +00:00
Ondrej Filip
91808fffc2 Structures for router LSA added. 2000-02-23 23:14:18 +00:00
Ondrej Filip
6fa948d6c5 Better debugging. 2000-02-23 23:13:27 +00:00
Ondrej Filip
e6fcf113ec Better debuging. 2000-02-23 23:13:10 +00:00
Ondrej Filip
4bf6de8737 Hash table structure redesigned. 2000-02-08 22:43:10 +00:00
Ondrej Filip
316d7bd7d1 Other LS struct added. 2000-02-08 22:13:12 +00:00
Ondrej Filip
d3cb698053 LSA type changed from u16 to u8. 2000-02-08 19:24:22 +00:00
Ondrej Filip
c7b915d68c Malloc() changed to cfg_alloc(). 2000-02-08 19:12:42 +00:00
Pavel Machek
bd215f8bab Do not send empty packets in rip. 2000-01-26 14:12:18 +00:00
Pavel Machek
8660913ba8 Output made prettier. 2000-01-26 12:07:18 +00:00
Martin Mares
295ae16d4d Static protocol supports full dynamic reconfiguration. 2000-01-17 12:38:50 +00:00
Martin Mares
d272fe22dd Separated `official protocol names' used in status dumps from name templates
used for automatic generation of instance names.

	protocol->name is the official name
	protocol->template is the name template (usually "name%d"),
		should be all lowercase.

Updated all protocols to define the templates, checked that their configuration
grammar includes proto_name which generates the name and interns it in the
symbol table.
2000-01-17 11:52:50 +00:00
Martin Mares
0ec90e9fc6 Pipe protocol supports reconfiguration. 2000-01-17 00:20:45 +00:00
Martin Mares
50fe90edf3 First attempt on dynamic reconfiguration. There are still lots of bugs
and problems to solve, but the hardest part works.
2000-01-16 16:44:50 +00:00
Ondrej Filip
1508757478 Preparing for building LS databaze. Huh, why is it so complicated? :-(
Adding definition of some constants.
2000-01-05 00:03:47 +00:00
Martin Mares
3f996d46df Added missing semicolon.
rip.h compiles in IPv6 mode, rip.c still doesn't.
1999-12-16 13:14:32 +00:00
Martin Mares
6aea8905c4 TODO entries and FIXME's. 1999-12-16 12:18:33 +00:00
Pavel Machek
dff1f57917 Added hooks for show route.
Fixed passing metrics around routing tables.
1999-12-08 13:33:44 +00:00
Pavel Machek
4d4de35f00 Fix timing and fix endianity in metrics. 1999-12-08 12:51:45 +00:00
Martin Mares
feed822676 Implemented `show static'. It's a relatively good example of how to write
show commands for other protocols.
1999-12-03 11:41:23 +00:00
Pavel Machek
e7f76bae8c Stupid bug (essentially while(1) loop) occuring sometimes during start
of bird fixed.
1999-12-01 13:44:42 +00:00
Pavel Machek
639e628554 Actually check sequence numbers. 1999-12-01 12:52:57 +00:00
Martin Mares
3daf783f95 Implemented get_status for the pipe protocol (reports name of the other
side of the pipe).

Please do so for your protocols as well.
1999-12-01 12:01:41 +00:00
Ondrej Filip
163b207346 Inicialisation of Topology Graph (TG). 1999-11-30 10:35:26 +00:00
Pavel Machek
1a509a6310 md5 authentication seems to work. 1999-11-25 15:03:12 +00:00
Pavel Machek
d3702d57fd Bugfixes: select right password for password authentication, do not
try to process authentication blocks as datablocks, make it possible
to add data at end of packet. Password authentication should actually work.
1999-11-25 14:54:08 +00:00
Pavel Machek
7e61cac325 Triggered updates should now actually work. Fixed metric=16 -> time it
out logic.
1999-11-25 13:38:25 +00:00
Pavel Machek
774f149959 Fix timeouts. Triggered updates are not done, yet. 1999-11-25 12:01:45 +00:00
Ondrej Filip
4364b47e48 ospf.c and ospc.h splitted into various files. 1999-11-17 15:50:41 +00:00
Ondrej Filip
2af2636a69 Another bugfix. (In EXCHANGE state.) 1999-11-17 13:28:51 +00:00
Ondrej Filip
e17baa3108 Fixed bug receiving dbdes packets in EXSTART state. 1999-11-17 13:15:01 +00:00
Martin Mares
ea9bb932a3 Commented out nexthop selection, see the comment. 1999-11-17 11:16:15 +00:00
Ondrej Filip
986e34131d Sending DBDES packet in EXSTART done. 1999-11-10 16:06:12 +00:00
Martin Mares
6ba36f06ae Added LSA hashing table (parts of code stolen from rt-fib.c, but
heavily simplified since we don't need asynchronous walking).
1999-11-10 12:27:01 +00:00
Pavel Machek
3918b1b050 Added timeout for routes (which means proper expiring of routes) added
few fixmes.
1999-11-10 11:52:36 +00:00
Pavel Machek
a5b583f20a FIXME's updated. One fixme is remaining for correct RIPv4. Wow. 1999-11-04 14:39:51 +00:00
Pavel Machek
7bf19253d0 Reject packets which are not authenticated.
Set correct nexthop on outgoing packets.
1999-11-04 14:26:18 +00:00
Ondrej Filip
ecc3cf6f50 Working on db des receiving.
Preparing for building LDA database.
1999-11-03 12:59:38 +00:00
Ondrej Filip
c2250f91c7 Minor changes and bug fixes. Preparing for Exchange and higher states. 1999-10-19 16:13:06 +00:00
Ondrej Filip
96f1b8ba10 Huge changes. Neighbor and interface state machines rewritten.
It should be cleaner now, I'm preparing for file splitting.
Maybe I added some minor bugs. :-(
1999-10-18 21:48:51 +00:00
Pavel Machek
f942a589ef FIXME's for rip added.
Will we ever able to generate packets saying "route 1.2.3.4 using someone else"?
1999-10-12 13:04:50 +00:00
Martin Mares
89dc383a8c Changed syntax of ip_class_mask, the old one was stupid. 1999-10-12 07:46:08 +00:00
Pavel Machek
c79ec2ec19 Untested IPv6 support added. I do not know if it compiles in IPV6 mode. 1999-10-11 14:19:29 +00:00
Pavel Machek
ac40c888c2 Obvious bugs in authentication fixed. 1999-10-02 10:44:48 +00:00
Ondrej Filip
2c1d1cc765 DD packet receiving in ExStart. 1999-08-25 18:44:50 +00:00
Ondrej Filip
1af664158d A structure for receiving DD seq packets added. 1999-08-24 18:32:26 +00:00
Ondrej Filip
e3121112ab Preparing to send DD packets. 1999-08-24 14:42:51 +00:00
Pavel Machek
2981814066 Few FIXME's removed from auth, few FIXME's added to filter. 1999-08-20 09:59:39 +00:00
Pavel Machek
bce8a34b12 Few fixme's fixed in rip (will not crash any more on request for
sending routing table - hopefully).

Next few steps in md5 authentication (not yet complete).
1999-08-18 13:19:33 +00:00
Ondrej Filip
b332fcdfc8 Better dumping. 1999-08-16 10:32:05 +00:00
Ondrej Filip
032df28048 Small bux fixes. A neigh_chstate added. 1999-08-10 12:06:45 +00:00
Ondrej Filip
a7d388d23e Multiple "hton problems" fixed. Now we're in EXSTART state. 1999-08-09 18:59:37 +00:00
Ondrej Filip
2be22ddb4c "My own IP problem" fixed. 1999-08-09 18:49:50 +00:00
Ondrej Filip
a4c2ee717c Bug fix in checksum calculation. 1999-08-09 18:34:08 +00:00
Ondrej Filip
b1693b8f74 Bug in election fixed. 1999-08-09 18:11:51 +00:00
Ondrej Filip
e83dc0d7e7 (Backup) Designated Router election added. 1999-08-09 17:58:01 +00:00
Ondrej Filip
8c51f96acf Some interface state machine changes. I found some problem in RFC,
trying to conntact authors.
1999-08-09 13:03:28 +00:00
Martin Mares
55e06729b1 Forgot to do a `cvs add', grr. 1999-08-03 19:57:43 +00:00
Martin Mares
8edf2361f9 Cleaned up handling of interface patterns:
o  Parsing of interface patterns moved to generic code,
      introduced this_ipatt which works similarly to this_iface.
   o  Interface patterns now support selection by both interface
      names and primary IP addresses.
   o  Proto `direct' updated.
   o  RIP updated as well, it also seems the memory corruption
      bug there is gone.
1999-08-03 19:30:49 +00:00
Ondrej Filip
39369d6fbe Fixed stupid bug with hello vs inactim timers. 1999-06-02 16:31:13 +00:00
Ondrej Filip
bae0f7dbb1 Neigbor deleting done. (I have some problems with timers, so it does not
send hello.)
1999-06-01 17:29:56 +00:00
Ondrej Filip
cd70d93470 Detecting of new neighbor added. It starts inactivity timer. 1999-06-01 16:35:18 +00:00
Martin Mares
3e1f30610e Defined IP_PREC_INTERNET_CONTROL and made all (well, both :)) protocols
use it when creating sockets.
1999-06-01 13:57:24 +00:00
Pavel Machek
9de840bdbd Set corectly destination address for RIP multicast. Broadcasting &
multicasting rip actually works [broadcasting is kind of hard to turn
it on, through].
1999-05-31 20:34:48 +00:00
Pavel Machek
b94bbe0027 Added FIXME: mode broadcast randombly corrupts memory.
Small cleaning and bugfixes.
1999-05-31 20:30:16 +00:00
Pavel Machek
9607536dbf Kill duplicity between rif and rif_patt. 1999-05-31 19:43:08 +00:00
Pavel Machek
72efa4b6f8 Small fixes to rip. 1999-05-31 19:37:16 +00:00
Pavel Machek
bf97bd2827 Cleanup of warnings 1999-05-31 19:22:40 +00:00
Pavel Machek
91c7c7416b Incoming side of authentication done but untested. Right handling of
filters in rip.
1999-05-31 19:16:22 +00:00
Ondrej Filip
c72b09c850 IP socket priority (sock->tos) added. Constant taken from tcpdump of CISCO
and gated.
1999-05-31 19:07:31 +00:00
Ondrej Filip
35ff423d54 Some RX_Hello checks added. 1999-05-31 18:56:20 +00:00
Martin Mares
bb027be1e2 Added extra argument to rt_update hook which contains a pointer to the
temporary attribute list.
1999-05-31 18:55:35 +00:00
Ondrej Filip
75b84c34e3 Sending and receving of hello pkts works. No I will start building neighbor
database.
1999-05-31 18:24:54 +00:00
Pavel Machek
10915c9650 Modified rip to new password handling in nest. Now it at least compiles. 1999-05-31 17:12:38 +00:00
Pavel Machek
fd5f8704bb Make rip use newly defined password lists. 1999-05-26 14:37:47 +00:00
Ondrej Filip
903a3f3928 struct ospf_neigbor corrected. 1999-05-24 21:49:22 +00:00
Ondrej Filip
c76674f0e9 struct ospf_neigbor added. Neigbor state machine implementation can start. 1999-05-24 21:17:16 +00:00
Ondrej Filip
65112dd270 ifa->time split into wait_timer and hello_timer. I will send hello in WAITING state. 1999-05-24 18:22:00 +00:00
Ondrej Filip
b9f8590025 IP header test added. 1999-05-24 17:29:05 +00:00
Martin Mares
4f1a6d27b9 Kill remaining master_table relics in KRT code.
Make all protocols pass routing table to rte_update and rte_discard.
1999-05-17 20:16:53 +00:00
Martin Mares
b23c5e0ff4 Added ip_skip_header() and modified OSPF to use it. 1999-05-14 18:03:09 +00:00
Ondrej Filip
11ce4490fa *** empty log message *** 1999-05-14 08:50:25 +00:00
Ondrej Filip
67ff91302f Netmask checking for hello packets added. 1999-05-14 08:46:06 +00:00
Ondrej Filip
7426ee3d49 Checksum control added. 1999-05-13 09:18:36 +00:00
Ondrej Filip
296ecb56eb OSPF RX implementation starts.... 1999-05-11 15:34:33 +00:00
Pavel Machek
1b16029c12 Mensi updaty do ripu. Pridana passwd autentikace (netestovano). 1999-05-11 09:53:45 +00:00
Ondrej Filip
f7103dfcfe Better logging output. Added 'struct proto *' info 'struct ospf iface'. 1999-05-11 09:50:02 +00:00
Martin Mares
9a158361da I rewrote the interface handling code, so that it supports multiple
addresses per interface (needed for example for IPv6 support).

Visible changes:

o  struct iface now contains a list of all interface addresses (represented
   by struct ifa), iface->addr points to the primary address (if any).
o  Interface has IF_UP set iff it's up and it has a primary address.
o  IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED
   in the protocols; I've added this, but please check).
o  The if_notify_change hook has been simplified (only one interface pointer
   etc.).
o  Introduced a ifa_notify_change hook. (For now, only the Direct protocol
   does use it -- it's wise to just listen to device routes in all other
   protocols.)
o  Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway).
o  Updated all the code except netlink (I'll look at it tomorrow) to match
   the new semantics (please look at your code to ensure I did it right).

Things to fix:

o  Netlink.
o  Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
1999-05-06 21:38:11 +00:00
Ondrej Filip
59e2188cb7 Just changes of comments. 1999-04-27 13:04:33 +00:00
Ondrej Filip
6376a96133 Hello timer implemented. 1999-04-27 12:56:52 +00:00
Ondrej Filip
93bde8dce2 Work on hello continues. 1999-04-22 13:12:28 +00:00
Pavel Machek
36bbfc704c Updated filters: they now actually see IP/pxlen of net being filtered,
gateway, and who told us, so they can do usefull jobs from now on.
1999-04-19 18:41:56 +00:00
Pavel Machek
afbc41ab3d SImplify code a tiny bit. 1999-04-14 21:11:24 +00:00
Ondrej Filip
b11d8a4f59 Redesigned struct ospf_iface & new struct ospf_sock. 1999-04-14 15:13:44 +00:00
Ondrej Filip
b31568a516 Small bug fix in memcpy. 1999-04-14 12:47:18 +00:00
Martin Mares
9da4d14340 A couple of OSPF fixes:
o  ((flags & IF_CHANGE_UP) == IF_CHANGE_UP)   ->   (flags & IF_CHANGE_UP)
o  bcopy  ->  memcpy   (bcopy is unportable)
o  Ifdeffed out add_tail(&(ifa->sk_list),NODE mcsk) -- the node in socket
   structure is for internal use by the resource manager only. (Now, the
   debugging dump of open sockets looks sane :-)).
1999-04-14 11:09:55 +00:00
Martin Mares
1ab4dee028 Removed redeclaration of `idval', so that it compiles :) 1999-04-14 10:49:31 +00:00
Ondrej Filip
4c630a6dd7 Added wait timer for eligible BCAST & NBMA interface. 1999-04-13 21:46:20 +00:00
Ondrej Filip
55e7732a5a Change in ospf_iface. (My bad understanding of lists manipulation.) 1999-04-13 19:27:44 +00:00
Ondrej Filip
aec76c6e8e IPv6 changes. 1999-04-13 18:21:53 +00:00
Ondrej Filip
24eaae9e5d Small change to stop using loopback. 1999-04-13 00:46:34 +00:00
Ondrej Filip
cb2e8c4970 A small init change to avoid core dump. 1999-04-13 00:24:05 +00:00
Ondrej Filip
5b1a92e6d4 Not all I mean serious. Almost everything will change.
Changes: struct ospf_iface draft, various constants added...
1999-04-12 23:54:21 +00:00
Martin Mares
08e2d6259a Removed TOS support. This simplifies many things a lot. 1999-04-12 18:01:07 +00:00
Martin Mares
6c02d83f4d Added FIXME: If a strange interface appears, ignore it instead of only
writing an error message...
1999-03-29 19:56:32 +00:00
Martin Mares
7dc4827c96 Added everything protocols need to know about multiple routing tables,
i.e. struct proto now contains field 'table' pointing to routing table
the protocol is attached to. Use this instead of &master_table.

Modified all protocols except the kernel syncer to use this field.
1999-03-26 21:50:43 +00:00
Martin Mares
c612a3be31 Removed the `rta_same' hook since it's no longer needed (all protocols
needing some local information should use extended attrs and cached
rta's).
1999-03-17 13:13:18 +00:00
Pavel Machek
9a38757c6a Initialize pointers to functions so that code is actually alive. 1999-03-17 13:05:25 +00:00
Pavel Machek
29df5739c4 Don't segfault on unknown interface. 1999-03-17 10:20:23 +00:00
Ondrej Filip
c1f8dc9149 Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF. 1999-03-09 22:27:43 +00:00
Pavel Machek
05a845ed8e Avoid segfault 1999-03-02 19:49:22 +00:00
Martin Mares
25287d6f7e Don't try to install static routes to disconnected neighbors. 1999-03-02 17:20:07 +00:00
Pavel Machek
c748cdb9ec Hopefully ended translating to new interface 1999-03-01 21:18:01 +00:00
Pavel Machek
293e313ec9 More rip fixes (config data moved to struct rip_proto_config), still
not tested.
1999-02-15 13:34:43 +00:00
Martin Mares
d88e99a92a Implemented static device routes.
Expect for reconfiguration issues, the static protocol is complete now.
1999-02-13 21:59:48 +00:00
Martin Mares
d1f7eab6b5 Parameter order for the proto->if_notify hook was different in the include
file and different in reality. Decided to use the same order as we do
for proto->rt_notify (i.e., first new value and second the old one).
1999-02-13 21:58:53 +00:00
Martin Mares
f4a0a64e02 Static protocol doesn't need any shutdown function. Everything gets
disposed by the core: neighbors, rte's, etc's...
1999-02-13 21:00:25 +00:00
Martin Mares
ab749558a2 Pass new argument to FIB_ITERATE_END. 1999-02-13 19:14:16 +00:00
Pavel Machek
edf62ba13f Propagate depend into all subdirectories; make rip compile after
latest mj's changes.
1999-02-08 22:50:32 +00:00
Martin Mares
e9e3dc2659 Modified static router to use new interface. 1999-02-05 21:38:22 +00:00
Pavel Machek
663683a575 Make it compile again (stupid makefiles!), make quiet option work
(multicast/broadcast options are currently unimplemented).
1999-01-12 16:50:38 +00:00
Pavel Machek
50e89a6ea2 Patterns expanded in the right way 1999-01-12 16:40:55 +00:00
Martin Mares
49e7e5ee0b New makefiles. Includes support for out-of-source-tree builds. 1999-01-10 00:18:32 +00:00
Pavel Machek
6996f459c6 Bird now uses fib structure instead of linklist. 1998-12-22 19:41:04 +00:00
Martin Mares
852fc0af31 log(), die() and bug() messages shound NOT contain trailing newlines. 1998-12-20 14:29:06 +00:00
Martin Mares
08c69a7720 die() -> bug() where appropriate. 1998-12-20 14:27:37 +00:00
Martin Mares
ee969ea7f4 Added #if 0 to rip_postconfig(), so that it doesn't crash whole daemon
when RIP is unconfigured.

die() -> bug()
1998-12-20 14:26:57 +00:00
Pavel Machek
02933ddbbe debug() -> DBG() in rip. 1998-12-09 20:08:57 +00:00
Pavel Machek
06fa1453cd Initial multicast support (can not work, but skeleton is there) 1998-12-09 15:22:40 +00:00
Martin Mares
980297d289 Fixed a couple of bugs in static protocol. All static routes except device
ones seem to work well.
1998-12-08 18:31:31 +00:00
Martin Mares
f6bd206607 All static routes except for device ones should work and appear/disappear
when their destination comes on/off link. Deserves better testing :)

See example in bird.conf.
1998-12-06 23:13:31 +00:00
Martin Mares
a1bf6440b5 Added skeleton of static route protocol. 1998-12-06 18:21:23 +00:00
Martin Mares
b35d72ac66 Name cleanups as suggested by Pavel:
- cfg_strcpy() -> cfg_strdup()
- mempool -> linpool, mp_* -> lp_*  [to avoid confusion with memblock, mb_*]

Anyway, it might be better to stop ranting about names and do some *real* work.
1998-12-06 11:59:18 +00:00
Pavel Machek
2d9290e973 Rip now has configurable per-interface metric (please rewiev), and few
more configurable parameters. To do that, union was added into iface_patt.
1998-12-04 11:45:51 +00:00
Pavel Machek
9b999c393c Infinity is now configurable ammount. 1998-12-01 16:17:10 +00:00
Martin Mares
c74c0e3cdf First attempt at protocol configuration (now done only for RIP). 1998-11-27 21:09:57 +00:00
Martin Mares
93fb60d54c Fixed few misspellings and exported instance init as rip_init_instance(). 1998-11-27 21:08:37 +00:00
Martin Mares
b4712244a0 Dummy grammar for RIP configuration. Now empty, but must be here since
it's referenced in the makefiles.
1998-11-27 19:38:30 +00:00
Pavel Machek
c3e9b2ab24 RIP now includes notion of interface, and is correctly talking to
itself on second host. Split horizont is broken.
1998-10-26 15:35:19 +00:00
Pavel Machek
dc7c7494e3 RIP _NOW_ actually talks to itself (workaround core bug: send data
from other port than we receive at), few FIXME's added.
1998-10-20 16:45:53 +00:00
Pavel Machek
feb6abe009 RIP now actually talks to itself. 1998-10-20 16:12:43 +00:00
Pavel Machek
c05ea56f8e rip should now correctly listen, but entries will not time out. 1998-10-17 10:25:22 +00:00
Pavel Machek
8333431c4d Rip: rip_rta_same added. 1998-10-15 15:12:24 +00:00
Pavel Machek
21580e304f I prefer to have broken drivers than completely stupid ones...
Linus Torvalds

Rip now uses main routing table properly: entries are stored directly
into main routing table and we are relying on core to call our's
compare. That unfortunately broke garbage collecting (and probably
many more things). It compiles.
1998-10-13 14:32:18 +00:00
Pavel Machek
1d941de47a RIP now somehow listens to main routing table (dont expect it to work) 1998-10-07 19:33:50 +00:00
Pavel Machek
bf65d27dea Bird's info are now understood by ripquery. 1998-07-30 07:43:45 +00:00
Pavel Machek
279f4c7b7b Rip now includes code to reply, but it is currently broken. 1998-07-28 21:44:11 +00:00
Pavel Machek
a103373f61 Commiting RIP. RIP should somehow listen, will not reply. I needed to
commit it so that whole thing compiles.
1998-07-09 19:39:04 +00:00