Commit graph

272 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