Commit graph

662 commits

Author SHA1 Message Date
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
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
916c8c0aba Use preferences properly. 2000-05-08 10:40:00 +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
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
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
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
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
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
Ondrej Filip
dfa9a53a66 Routing table calculation. Dijkstra done. 2000-04-26 12:54:23 +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
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
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
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
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
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
Ondrej Filip
ce0603a6ed Better list manipulation. 2000-03-30 16:22:58 +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
Ondrej Filip
963ea03d87 DBdes sending/receiving changes. 2000-03-29 00:34:28 +00:00
Ondrej Filip
ce17d4c165 LSA DB is completely redesigned. Now it should be faster and it needs
less memory.
2000-03-09 22:38:05 +00:00
Ondrej Filip
30147b89ff Sending of DBDes. (Checksum and length calculation NOT done.) 2000-03-08 12:50:28 +00:00
Ondrej Filip
de30342f97 Router LSA & area adding. 2000-02-25 19:19:41 +00:00
Ondrej Filip
b786df7035 Memory allocation in ospf_area changed. 2000-02-25 14:26:54 +00:00
Ondrej Filip
ab56f6b16f Area work and router LSA starts when interface goes up. 2000-02-24 00:26:10 +00:00
Ondrej Filip
ea28da044a Small change for debugging. 2000-02-23 23:23:19 +00:00
Ondrej Filip
91808fffc2 Structures for router LSA added. 2000-02-23 23:14:18 +00:00
Ondrej Filip
6fa948d6c5 Better debugging. 2000-02-23 23:13:27 +00:00
Ondrej Filip
e6fcf113ec Better debuging. 2000-02-23 23:13:10 +00:00
Ondrej Filip
4bf6de8737 Hash table structure redesigned. 2000-02-08 22:43:10 +00:00
Ondrej Filip
316d7bd7d1 Other LS struct added. 2000-02-08 22:13:12 +00:00
Ondrej Filip
d3cb698053 LSA type changed from u16 to u8. 2000-02-08 19:24:22 +00:00
Ondrej Filip
c7b915d68c Malloc() changed to cfg_alloc(). 2000-02-08 19:12:42 +00:00
Martin Mares
d272fe22dd Separated `official protocol names' used in status dumps from name templates
used for automatic generation of instance names.

	protocol->name is the official name
	protocol->template is the name template (usually "name%d"),
		should be all lowercase.

Updated all protocols to define the templates, checked that their configuration
grammar includes proto_name which generates the name and interns it in the
symbol table.
2000-01-17 11:52:50 +00:00
Ondrej Filip
1508757478 Preparing for building LS databaze. Huh, why is it so complicated? :-(
Adding definition of some constants.
2000-01-05 00:03:47 +00:00
Ondrej Filip
163b207346 Inicialisation of Topology Graph (TG). 1999-11-30 10:35:26 +00:00
Ondrej Filip
4364b47e48 ospf.c and ospc.h splitted into various files. 1999-11-17 15:50:41 +00:00
Ondrej Filip
2af2636a69 Another bugfix. (In EXCHANGE state.) 1999-11-17 13:28:51 +00:00
Ondrej Filip
e17baa3108 Fixed bug receiving dbdes packets in EXSTART state. 1999-11-17 13:15:01 +00:00
Ondrej Filip
986e34131d Sending DBDES packet in EXSTART done. 1999-11-10 16:06:12 +00:00
Martin Mares
6ba36f06ae Added LSA hashing table (parts of code stolen from rt-fib.c, but
heavily simplified since we don't need asynchronous walking).
1999-11-10 12:27:01 +00:00
Ondrej Filip
ecc3cf6f50 Working on db des receiving.
Preparing for building LDA database.
1999-11-03 12:59:38 +00:00
Ondrej Filip
c2250f91c7 Minor changes and bug fixes. Preparing for Exchange and higher states. 1999-10-19 16:13:06 +00:00
Ondrej Filip
96f1b8ba10 Huge changes. Neighbor and interface state machines rewritten.
It should be cleaner now, I'm preparing for file splitting.
Maybe I added some minor bugs. :-(
1999-10-18 21:48:51 +00:00
Ondrej Filip
2c1d1cc765 DD packet receiving in ExStart. 1999-08-25 18:44:50 +00:00
Ondrej Filip
1af664158d A structure for receiving DD seq packets added. 1999-08-24 18:32:26 +00:00
Ondrej Filip
e3121112ab Preparing to send DD packets. 1999-08-24 14:42:51 +00:00
Ondrej Filip
b332fcdfc8 Better dumping. 1999-08-16 10:32:05 +00:00
Ondrej Filip
032df28048 Small bux fixes. A neigh_chstate added. 1999-08-10 12:06:45 +00:00
Ondrej Filip
a7d388d23e Multiple "hton problems" fixed. Now we're in EXSTART state. 1999-08-09 18:59:37 +00:00
Ondrej Filip
2be22ddb4c "My own IP problem" fixed. 1999-08-09 18:49:50 +00:00
Ondrej Filip
a4c2ee717c Bug fix in checksum calculation. 1999-08-09 18:34:08 +00:00
Ondrej Filip
b1693b8f74 Bug in election fixed. 1999-08-09 18:11:51 +00:00
Ondrej Filip
e83dc0d7e7 (Backup) Designated Router election added. 1999-08-09 17:58:01 +00:00
Ondrej Filip
8c51f96acf Some interface state machine changes. I found some problem in RFC,
trying to conntact authors.
1999-08-09 13:03:28 +00:00
Ondrej Filip
39369d6fbe Fixed stupid bug with hello vs inactim timers. 1999-06-02 16:31:13 +00:00
Ondrej Filip
bae0f7dbb1 Neigbor deleting done. (I have some problems with timers, so it does not
send hello.)
1999-06-01 17:29:56 +00:00
Ondrej Filip
cd70d93470 Detecting of new neighbor added. It starts inactivity timer. 1999-06-01 16:35:18 +00:00
Martin Mares
3e1f30610e Defined IP_PREC_INTERNET_CONTROL and made all (well, both :)) protocols
use it when creating sockets.
1999-06-01 13:57:24 +00:00
Ondrej Filip
c72b09c850 IP socket priority (sock->tos) added. Constant taken from tcpdump of CISCO
and gated.
1999-05-31 19:07:31 +00:00
Ondrej Filip
35ff423d54 Some RX_Hello checks added. 1999-05-31 18:56:20 +00:00
Ondrej Filip
75b84c34e3 Sending and receving of hello pkts works. No I will start building neighbor
database.
1999-05-31 18:24:54 +00:00
Ondrej Filip
903a3f3928 struct ospf_neigbor corrected. 1999-05-24 21:49:22 +00:00
Ondrej Filip
c76674f0e9 struct ospf_neigbor added. Neigbor state machine implementation can start. 1999-05-24 21:17:16 +00:00
Ondrej Filip
65112dd270 ifa->time split into wait_timer and hello_timer. I will send hello in WAITING state. 1999-05-24 18:22:00 +00:00
Ondrej Filip
b9f8590025 IP header test added. 1999-05-24 17:29:05 +00:00
Martin Mares
b23c5e0ff4 Added ip_skip_header() and modified OSPF to use it. 1999-05-14 18:03:09 +00:00
Ondrej Filip
11ce4490fa *** empty log message *** 1999-05-14 08:50:25 +00:00
Ondrej Filip
67ff91302f Netmask checking for hello packets added. 1999-05-14 08:46:06 +00:00
Ondrej Filip
7426ee3d49 Checksum control added. 1999-05-13 09:18:36 +00:00
Ondrej Filip
296ecb56eb OSPF RX implementation starts.... 1999-05-11 15:34:33 +00:00
Ondrej Filip
f7103dfcfe Better logging output. Added 'struct proto *' info 'struct ospf iface'. 1999-05-11 09:50:02 +00:00
Martin Mares
9a158361da I rewrote the interface handling code, so that it supports multiple
addresses per interface (needed for example for IPv6 support).

Visible changes:

o  struct iface now contains a list of all interface addresses (represented
   by struct ifa), iface->addr points to the primary address (if any).
o  Interface has IF_UP set iff it's up and it has a primary address.
o  IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED
   in the protocols; I've added this, but please check).
o  The if_notify_change hook has been simplified (only one interface pointer
   etc.).
o  Introduced a ifa_notify_change hook. (For now, only the Direct protocol
   does use it -- it's wise to just listen to device routes in all other
   protocols.)
o  Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway).
o  Updated all the code except netlink (I'll look at it tomorrow) to match
   the new semantics (please look at your code to ensure I did it right).

Things to fix:

o  Netlink.
o  Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
1999-05-06 21:38:11 +00:00
Ondrej Filip
59e2188cb7 Just changes of comments. 1999-04-27 13:04:33 +00:00
Ondrej Filip
6376a96133 Hello timer implemented. 1999-04-27 12:56:52 +00:00
Ondrej Filip
93bde8dce2 Work on hello continues. 1999-04-22 13:12:28 +00:00
Ondrej Filip
b11d8a4f59 Redesigned struct ospf_iface & new struct ospf_sock. 1999-04-14 15:13:44 +00:00
Ondrej Filip
b31568a516 Small bug fix in memcpy. 1999-04-14 12:47:18 +00:00
Martin Mares
9da4d14340 A couple of OSPF fixes:
o  ((flags & IF_CHANGE_UP) == IF_CHANGE_UP)   ->   (flags & IF_CHANGE_UP)
o  bcopy  ->  memcpy   (bcopy is unportable)
o  Ifdeffed out add_tail(&(ifa->sk_list),NODE mcsk) -- the node in socket
   structure is for internal use by the resource manager only. (Now, the
   debugging dump of open sockets looks sane :-)).
1999-04-14 11:09:55 +00:00
Martin Mares
1ab4dee028 Removed redeclaration of `idval', so that it compiles :) 1999-04-14 10:49:31 +00:00
Ondrej Filip
4c630a6dd7 Added wait timer for eligible BCAST & NBMA interface. 1999-04-13 21:46:20 +00:00
Ondrej Filip
55e7732a5a Change in ospf_iface. (My bad understanding of lists manipulation.) 1999-04-13 19:27:44 +00:00
Ondrej Filip
aec76c6e8e IPv6 changes. 1999-04-13 18:21:53 +00:00
Ondrej Filip
24eaae9e5d Small change to stop using loopback. 1999-04-13 00:46:34 +00:00
Ondrej Filip
cb2e8c4970 A small init change to avoid core dump. 1999-04-13 00:24:05 +00:00
Ondrej Filip
5b1a92e6d4 Not all I mean serious. Almost everything will change.
Changes: struct ospf_iface draft, various constants added...
1999-04-12 23:54:21 +00:00
Ondrej Filip
c1f8dc9149 Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF. 1999-03-09 22:27:43 +00:00