Commit graph

3673 commits

Author SHA1 Message Date
Pavel Machek
78c6217c1e Path printing is now much nicer: not having to put it backward
simplifies it. (Sorry for previous commit, cvs is naughty).
2000-04-12 10:34:45 +00:00
Pavel Machek
f7d534cf2e Path printing is now much nicer. 2000-04-12 10:34:02 +00:00
Martin Mares
b475c543b4 Fix comments. 2000-04-10 22:08:32 +00:00
Pavel Machek
9196e9f8f9 Commit fixes. 2000-04-10 16:36:40 +00:00
Pavel Machek
7f77e25002 Functions for matching paths added, tested lightly.
Functions for working with community lists added, they compile.

This should not be definitive place for this stuff.
2000-04-10 15:07:43 +00:00
Pavel Machek
73e03bce66 As usuall, most important info was missing. 2000-04-10 14:45:00 +00:00
Martin Mares
ae8f558499 Implemented outgoing attribute cache. 2000-04-10 12:39:51 +00:00
Martin Mares
6f57dcc07c Export ea_same() and ea_hash(). 2000-04-10 12:39:29 +00:00
Martin Mares
f2cb1d708d Dropped CPU_NEEDS_ALIGN_* as unaligned.h no longer uses them. 2000-04-10 12:38:15 +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
287111fed1 Fix stupid bug in neighbor cache. 2000-04-10 10:40:00 +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
d3feceff10 BGP doesn't need any inline attributes. 2000-04-09 22:04:12 +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
3991d84e8f Changed initialization of protocol list -- now we call proto_build() instead
of calling the protocols manually.

Implemented printing of dynamic attributes in `show route all'.

Each protocol can now register its own attribute class (protocol->attr_class,
set to EAP_xxx) and also a callback for naming and formatting of attributes.
The callback can return one of the following results:

	GA_UNKNOWN	Attribute not recognized.
	GA_NAME		Attribute name recognized and put to the buffer,
			generic code should format the value.
	GA_FULL		Both attribute name and value put to the buffer.

Please update protocols generating dynamic attributes to provide
the attr_class and formatting hook.
2000-04-01 10:19:47 +00:00
Martin Mares
f880924990 BGP now handles incoming routes (IPv4 only). 2000-04-01 09:17:33 +00:00
Martin Mares
8581061399 When tracing, always print incoming part of the trace before the outgoing one.
Avoid buffer overflows in `show routes' command.
2000-04-01 09:16:42 +00:00
Martin Mares
798df5b1ab When processing ACCEPT/REJECT carrying no message, don't print
trailing newline.

I hope the fix is correct, but please check.
2000-04-01 09:15:55 +00:00
Martin Mares
b157361533 SOURCE should really refer to rta->source, not rta->gw.
Please check that all rta attributes are available, I guess that at
least rta->dest is missing.
2000-04-01 09:15:10 +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
3cf4a2e2b0 Removed lots of superfluous includes.
Use debug() instead of printf().
2000-03-31 23:35:59 +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
Martin Mares
08732b7178 Fixed bug in processing of dynamic attributes. 2000-03-31 23:21:19 +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
Martin Mares
320f417357 Defined sk_close() which closes the socket safely even if called from
socket hook. Replaces the SK_DELETED hack.

Squashed a couple of bugs in handling of TCP sockets.
2000-03-30 10:43:37 +00:00
Martin Mares
3a6337ecb2 Use FF_FORCE_TMPATTR where appropriate. 2000-03-30 08:50:46 +00:00
Martin Mares
3076b5aedc Renamed FF_OUTGOING to FF_FORCE_TMPATTR which much better fits the semantics.
Call rte_cow() instead of rte_do_cow(), so that COW works properly.

Stripped "\n" off several (de)bug messages.
2000-03-30 08:50:30 +00:00