Commit graph

82 commits

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

sk_close() is gone, use rfree() instead.
2004-05-31 21:48:19 +00:00
Martin Mares
6a57bb3110 Killed a couple of unused variables.
We really should compile with warnings enabled.
2004-05-31 20:57:38 +00:00
Martin Mares
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
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
Martin Mares
bcbdcbb6ae Don't accept incoming connections when the neighbor is not up. 2000-06-20 07:49:08 +00:00
Martin Mares
58f7d004fd Fixes to the progdoc. 2000-06-07 13:25:53 +00:00
Martin Mares
2e9b24211a Spelling fixes to progdoc. 2000-06-07 12:29:08 +00:00
Martin Mares
54e55169da BGP documented. 2000-06-04 17:06:18 +00:00
Martin Mares
bc00185e5a Updated to new neighbor cache. 2000-06-01 13:00:19 +00:00
Martin Mares
fcb5f4a725 Updated all the Doc files to new format. 2000-05-31 11:30:18 +00:00
Martin Mares
7294f68b3b path metric' and disable after error' are switches, not numeric clauses. 2000-05-29 22:08:04 +00:00
Martin Mares
d2a7c0e9b2 Don't print trace messages about null updates. 2000-05-19 18:05:19 +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
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
02bd064ab7 Adapted to new rt_notify semantics. 2000-05-13 11:02:02 +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
Martin Mares
c09d1e8df2 KEEPALIVE TIME ought to set keepalive time, not connect retry time :) 2000-05-08 22:32:17 +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
acfce55c86 Setup of incoming connection is now a separate function. 2000-05-07 10:41:45 +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
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
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
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
Martin Mares
cea6366400 The `bgp_origin' attribute is now an enum. 2000-04-28 15:13:29 +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
Martin Mares
5db9bae286 IBGP fixes. 2000-04-26 13:26:31 +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