Commit graph

37 commits

Author SHA1 Message Date
Martin Mares 9831e5916f Staticized lots of local functions. 2004-06-05 09:58:23 +00:00
Martin Mares e21423bab8 ... in BGP. 2004-06-05 09:27:17 +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 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 7d875e094b Added missing includes. 2002-11-13 08:47:06 +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 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 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 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 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 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 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 efcece2da3 Better reporting of both local and remote errors. 2000-04-25 21:13:25 +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 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
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
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 f880924990 BGP now handles incoming routes (IPv4 only). 2000-04-01 09:17:33 +00:00
Martin Mares c00d31befa Parsing of BGP attributes. 2000-03-31 23:21:37 +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
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
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