Commit graph

722 commits

Author SHA1 Message Date
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