Commit graph

484 commits

Author SHA1 Message Date
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