Commit graph

227 commits

Author SHA1 Message Date
Ondrej Filip 3df1e80464 Don't repeat "Sheduling rt calc....." 2004-06-04 14:21:08 +00:00
Ondrej Filip 39e517d47c hello.c and hello.h cleaned up. No design changes. 2004-06-04 12:53:10 +00:00
Ondrej Filip 035f6acbfe Patch from Andreas Steinmetz <ast@domdv.de> 2004-06-01 13:12:10 +00:00
Martin Mares d83faf8dc4 static declarations don't belong to includes. (And most of them were
redundant anyway.)
2004-05-31 20:53:22 +00:00
Martin Mares 0077aab4f9 The code was broken for external /29 to /32 routes. Assuming that you
have one machine publishing a route to 10.1.1.3/32 and another one
publishing a route to 10.1.1.4/32. If the first machine went down the
route to 10.1.1.4/32 was wrongly killed by the old code, leading either
to missing routes or worse to bug()s like "Router parent does not have
next hop" or just segfaults. The patch fixes this but in the long term a
redesign is required here. Note that the patch doesn't worse the
situation, instead it prevents the problems stated. The redesign is
required to handle multiple routes to small subnets properly.

(by Andreas)

Feela, I think that this is at least a good temporary fix, but it's
of course up to you to decide.
2004-05-31 18:16:42 +00:00
Ondrej Filip baa5dd6ccc Many spelling mistakes fixed.
Thanks you Harry Moyes.
2003-08-23 10:42:41 +00:00
Ondrej Filip e59e310e64 Age LSA DB after LSA origination and before routing table calculation. 2002-03-04 15:54:39 +00:00
Martin Mares e43ae6330e Fix %<something>I format strings. 2001-08-19 11:15:24 +00:00
Ondrej Filip c926eee724 Area networks added into configuration. 2001-08-12 00:04:42 +00:00
Ondrej Filip 78e2c6ccf1 I will not originate the same lsa before MINLSINTERVAL. 2001-08-11 14:01:54 +00:00
Ondrej Filip 52fa3e3869 Fixed many bugs in rt calculation and interface adding. Now it seems to be
OK, I'm going to advertise 1.0.4.
2000-09-04 21:21:34 +00:00
Ondrej Filip b02e40111e I allocate struct ifa before unlocking. So route exported to OSPF are correct.
I work also with interfaces that have some problems with socket opening.
I declare them as stub.
2000-09-04 19:42:17 +00:00
Ondrej Filip fdb1998202 Serious bug in ext lsa origination found. Going for 1.0.4. 2000-09-03 22:18:40 +00:00
Ondrej Filip e3bc10fdc4 Added stub interface. (Interface which is propagated to OSPF but
it does not sends nor listens packets.)

I added some new options, please look at it and look into doc if it's OK.
2000-09-02 08:54:40 +00:00
Ondrej Filip 5ddec4e6cf Reconfigure poll interval. 2000-09-02 07:58:05 +00:00
Ondrej Filip 7cedbf217e Reconfiguration for new options. 2000-09-02 00:15:07 +00:00
Ondrej Filip 1eec760778 Typo in rte_better. 2000-08-16 20:18:19 +00:00
Ondrej Filip d6a7e2fb85 Bug in rte_better. 2000-08-16 19:03:06 +00:00
Martin Mares 6567e6cf50 Missing parameters... 2000-06-08 12:42:34 +00:00
Martin Mares 725270cb1d Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
Ondrej Filip 17e29574bc Better algoritmus of LSA aging. 2000-06-07 23:48:33 +00:00
Ondrej Filip 37c3e558ab Simple explanation, how LSA are kept in database. 2000-06-07 23:05:32 +00:00
Ondrej Filip d5e4b51865 Doc 2000-06-07 22:10:46 +00:00
Ondrej Filip 7ab3ff6a28 Doc in neighbor.c and some tiny changes related to. 2000-06-07 21:46:22 +00:00
Ondrej Filip 6f58dc64c9 Doc 2000-06-07 20:50:08 +00:00
Ondrej Filip 89755a8623 Introdution into OSPF. 2000-06-07 20:30:27 +00:00
Ondrej Filip fa6c2405e2 Now I can change cost of interface without OSPF restart. 2000-06-07 13:46:13 +00:00
Ondrej Filip 8cd5c52fcb Removed useless trace. 2000-06-07 01:19:16 +00:00
Ondrej Filip edc34dc912 Reconfiguration hook.
It will survive many timer and constat changes.
2000-06-07 00:56:11 +00:00
Ondrej Filip ee4880c82f Some '\n' deleted. 2000-06-06 02:54:41 +00:00
Ondrej Filip 992705f65a Tracing in topology 2000-06-06 02:27:08 +00:00
Ondrej Filip f14032efdd First part of tracing. 2000-06-06 02:09:58 +00:00
Ondrej Filip 51cff78b25 Allocate OSPF areas before interfaces. 2000-06-06 01:46:32 +00:00
Ondrej Filip 80787d418b Dummy reconfigure added. 2000-06-06 00:52:35 +00:00
Ondrej Filip 3b580a23ad Bugfix in NET LSA flushing.
Configuration now works! :-)
Better "show ospf"
Some minor bugfixes.
2000-06-05 20:57:53 +00:00
Martin Mares 8441f17925 Unless a filter specifies otherwise, all external routes have type 2
metric 10000.
2000-06-05 18:40:25 +00:00
Ondrej Filip 273fd2c164 Many bugfixes (I don't remember all of them):
Added link ID calculation for external routes with same prefix but
	different mask.
Bugfix in NET lsa origination.
Bugfix in NET hashing.
Bugfix in LSA installing.
2000-06-05 02:23:20 +00:00
Ondrej Filip 89d6782dd1 interface {} added. 2000-06-03 01:29:00 +00:00
Ondrej Filip b36a0a799c area {} added to config. 2000-06-02 19:55:55 +00:00
Ondrej Filip 3fa5722def First option into config added. :-) 2000-06-02 15:05:41 +00:00
Ondrej Filip ece612e128 sh interface "iface" dumpped all. 2000-06-02 11:24:38 +00:00
Ondrej Filip 3488634cba Handle "show ospf *" even if protocol is down. 2000-06-02 10:21:02 +00:00
Ondrej Filip a489f0ce8b Silly bug in sh interface. Now I test ALL interfaces. :-) 2000-06-02 09:57:22 +00:00
Ondrej Filip c4f0f01408 Added show ospf interface.
show ospf neighbors now knows "<interface>".
2000-06-01 17:52:21 +00:00
Ondrej Filip 4ab4e9778f show ospf implemented. 2000-06-01 16:26:59 +00:00
Ondrej Filip a783e259d8 Cisco-like "show ospf neighbors" implemented. 2000-06-01 15:53:06 +00:00
Martin Mares 23df5e4cf3 Print route tag in hexadecimal and omit it if it's zero. 2000-06-01 13:00:39 +00:00
Ondrej Filip df968040f6 Print tag unsigned rather then signed. 2000-06-01 12:17:08 +00:00
Ondrej Filip d1660fd3f3 Sort cleanup in aging. 2000-05-31 14:21:56 +00:00
Ondrej Filip 70a383198a LSArt origination and routing table calculation is now not doing so
often. Instead of calculation I just schedule it latter.
2000-05-31 14:06:33 +00:00
Ondrej Filip a7a3a0a383 Added tagging of external LSA. 2000-05-31 12:07:09 +00:00
Martin Mares 5919c66e8f Route attributes for OSPF. 2000-05-30 21:25:32 +00:00
Ondrej Filip 1b128de364 Better shutdown. 2000-05-30 16:13:59 +00:00
Ondrej Filip 04c3a83c60 Better inicialisation. 2000-05-30 11:07:31 +00:00
Ondrej Filip 5970fcda8c Some exchange between init() and start(). 2000-05-30 10:53:48 +00:00
Ondrej Filip 73232f6b18 Better rt dumping. 2000-05-30 10:36:57 +00:00
Ondrej Filip 05dbc97b13 Bug in rt_notify. 2000-05-30 10:20:14 +00:00
Ondrej Filip f7c0525edc get_route_info() added. 2000-05-28 19:16:04 +00:00
Ondrej Filip 4414d9a57a get_status() implemented. 2000-05-28 18:49:33 +00:00
Ondrej Filip d5f029df48 Just added some debug(). 2000-05-28 18:34:20 +00:00
Ondrej Filip 4bd28fb68e Better shutdown. (Flush my own router LSA and send 1WAY to every neighbor.)
Ext LSA originating and flushing added.
2000-05-27 15:36:02 +00:00
Ondrej Filip e8085abaa7 Originating of external LSA. 2000-05-27 14:17:35 +00:00
Ondrej Filip 2d5b999236 Import control implemented. 2000-05-26 19:04:18 +00:00
Ondrej Filip 00c1f79a79 rte_same implemented. 2000-05-17 20:01:25 +00:00
Ondrej Filip bbd76b421a rte_better implemented. 2000-05-17 19:27:51 +00:00
Ondrej Filip aa1e082c67 Calculation of external routes. 2000-05-10 10:47:17 +00:00
Ondrej Filip 432996f40f Better dumping. 2000-05-09 12:03:57 +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 c6c5626436 Sync with nest's rt table and some minor improvements. 2000-04-30 11:31:05 +00:00
Ondrej Filip 79f036ef6e Dump changes. 2000-04-18 19:22:49 +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 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 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 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
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