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