Commit graph

187 commits

Author SHA1 Message Date
Ondrej Zajicek 8a70a13e7e Implements protocol-specific Router ID for OSPF.
And fixes one minor bug.
2009-12-11 11:06:51 +01:00
Ondrej Zajicek 3f22fa9e74 Merge branch 'dev' into ospf3 2009-11-09 22:54:39 +01:00
Ondrej Zajicek a6bc04d591 Implements better checks on incoming packets and LSAs in OSPF. 2009-10-29 23:57:42 +01:00
Ondrej Zajicek 988992446d Implement command to show LSA db. 2009-10-15 11:57:25 +02:00
Ondrej Zajicek b66abe8ef9 Reimplements 'show ospf state' for OSPFv3 and fixes some bugs. 2009-10-15 00:28:04 +02:00
Ondrej Zajicek c15e569065 Make endianity swapping simpler. 2009-09-08 17:06:47 +02:00
Ondrej Zajicek be86240662 Temporary OSPFv3 development commit.
Finally, it is working.
2009-09-08 13:45:02 +02:00
Ondrej Zajicek f9c799a00e Temporary OSPFv3 development commit (changing multicast support). 2009-09-04 11:06:51 +02:00
Ondrej Zajicek 05198c12f4 Some cleanups. 2009-08-27 19:01:04 +02:00
Ondrej Zajicek 061ab802a6 Temporary OSPFv3 development commit 2009-08-27 18:25:46 +02:00
Ondrej Zajicek b49e6f5a65 Temporary OSPFv3 development commit 2009-08-25 16:42:14 +02:00
Ondrej Zajicek c3226991a0 Temporary OSPFv3 development commit 2009-08-21 09:27:52 +02:00
Ondrej Zajicek b082c1bfcc Fixes OSPF on big-endians.
Hmm, #ifdef is not very typo-safe.
2009-07-05 20:26:51 +02:00
Ondrej Zajicek 3867520281 Implements an option that allows to change a set of stub networks. 2009-06-11 17:25:38 +02:00
Ondrej Zajicek 3d15dcdb1c Changes OSPF to generate stub networks for non-primary addresses.
Also does some reorganization in RT LSA announcement.
2009-06-10 23:45:08 +02:00
Ondrej Zajicek 024c310b53 Fixes broken cryptographic authentication in OSPF
Cryptographic authentication in OSPF is defective by
design - there might be several packets independently
sent to the network (for example HELLO, LSUPD and LSACK)
where they might be reordered and that causes crypt.
sequence number error.

That can be workarounded by not incresing sequence number
too often. Now we update it only when last packet was sent
before at least one second. This can constitute a risk of
replay attacks, but RFC supposes something similar (like time
in seconds used as CSN).
2009-04-08 20:15:01 +02:00
Ondrej Zajicek 8298d780be Better OSPF packet tracing log messages.
Replaces old OSPF packet tracing messages with
uniform messages with packet dumps.
2009-04-06 16:17:47 +02:00
Ondrej Filip 94c42054ea Added new parametr 'rx buffer <num>'. BIRD is able to receive
very large packets (if configured).
2005-03-15 22:06:36 +00:00
Ondrej Filip e6ea2e375e Maximal packet size in virtual links is 576. 2005-03-15 20:51:33 +00:00
Ondrej Filip e300066d5f OSPF can accept larger packets than MTU. 2005-03-14 11:24:56 +00:00
Ondrej Filip d8c7d9e884 Since now I can also use 'dead interval', not just 'dead counter'. 2005-02-20 04:27:56 +00:00
Ondrej Filip 60e04f0413 Minor bugfix: Summary LSA for aggregated area was always propagated with
metric = 1. Now it's metric of most distant component.
2005-02-18 18:51:42 +00:00
Ondrej Filip 9912fa51c8 Bugfix - cost of interface can be larger than 0xffff 2005-02-12 22:18:48 +00:00
Ondrej Filip 8d94a524b6 Added handling of STUB bool. 2004-07-16 08:27:11 +00:00
Ondrej Filip 86c84d76b7 Huge OSPF database redesign. Since now, all LSAs of all areas
are in single database. This avoids duplication of external LSAs and
fixes bug in external LSA distribution.
2004-07-15 16:37:52 +00:00
Ondrej Filip 3b16080c97 Multiple OSPF areas can be attached.
Origination of summary LSA works.
Routing table calculation works.
Virtual links works.

Well, I hope, OSPF is fully compatible with RFC2328!!!!
2004-07-14 21:46:20 +00:00
Ondrej Filip 62eee82321 Default tick = 1. The today's CPU is fast enough. 2004-07-13 21:27:33 +00:00
Ondrej Filip 621ccdfe5a Bugfix - options bits were not included in LSAs
Bugfix - E bit was not unset on stub areas.
2004-07-13 11:58:50 +00:00
Ondrej Filip 3e2bd0f17a Md5 authentification added (unsested).
Packet receiving clean up.
2004-06-26 20:15:34 +00:00
Ondrej Filip 98ac61766d A lot of changes:
- metric is 3 byte long now
	- summary lsa originating
	- more OSPF areas possible
	- virtual links
	- better E1/E2 routes handling
	- some bug fixes..

I have to do:
	- md5 auth (last mandatory item from rfc2328)
	- !!!!DEBUG!!!!! (mainly virtual link system has probably a lot of bugs)
	- 2328 appendig E
2004-06-25 16:39:53 +00:00
Ondrej Filip 1a61882d37 Better routing table calculation. We are ready to work with
multiple OSPF areas.
2004-06-11 09:36:50 +00:00
Ondrej Filip 7df86c25fc Better checking of configuration. 2004-06-09 12:39:49 +00:00
Ondrej Filip b8f17cf192 Small cleanup, indentation and preparation for multiple areas routing table calculation. 2004-06-06 16:00:09 +00:00
Ondrej Filip d631698ec8 Indentation. 2004-06-06 14:27:11 +00:00
Ondrej Filip 2e10a170fe Indentation. 2004-06-06 09:37:54 +00:00
Ondrej Filip 66261211a9 Struct area_net changed. 2004-06-06 09:13:37 +00:00
Ondrej Filip b9ed99f738 Cleanup in iface.c 2004-06-06 08:55:33 +00:00
Ondrej Filip c76ba51a5f lsack.c cleaned. Better names for functions and
DIRECT acks can be sent in one packet now.
2004-06-04 16:30:04 +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 4ef3dccfa1 The OSPF authentication type was sent in host byte order instead of of
network byte order thus breaking interoperability with other routing
daemons on litte endian machines. The patch fixes this but note that
this breaks compatability with older bird installations using OSPF and
password authentication

(Andreas)
2004-05-31 18:13:14 +00:00
Ondrej Filip c11007bc42 Endian-related bug fixes sent by Krzysztof Szuster <kszuster@polbox.com> 2003-08-26 10:41:02 +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 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 a190e7200b Added hellos on NBMA networks. (I don't violate RFC now.) 2000-09-02 00:03:36 +00:00
Ondrej Filip 423230f2f1 Ehm, my (B)DR election was based on router id, but RFC says ip! 2000-06-08 01:49:19 +00:00
Ondrej Filip 17e29574bc Better algoritmus of LSA aging. 2000-06-07 23:48:33 +00:00
Ondrej Filip b4af36e0d8 Removed some FIXMEs simply deleting them. 2000-06-07 21:50:16 +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 cadbb827f9 A copyright change. 2000-06-07 21:12:00 +00:00
Ondrej Filip 3df89cefc1 #define SIZE_OF_IP_HEADER 2000-06-07 01:18:36 +00:00
Ondrej Filip f14032efdd First part of tracing. 2000-06-06 02:09:58 +00:00
Ondrej Filip c1824c4d4c Simple autentication added. 2000-06-06 01:23:03 +00:00
Ondrej Filip f8f1e1f110 Interface locks added. 2000-06-06 00:46:00 +00:00
Ondrej Filip e5b5d18c1c NBMA networks should work now. 2000-06-05 23:44:26 +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
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 aaaff77605 More conf. items defined. 2000-06-03 09:50:31 +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 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
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
Martin Mares 5919c66e8f Route attributes for OSPF. 2000-05-30 21:25:32 +00:00
Ondrej Filip e1e31816c4 Aging delta changed. (Ehm, aging is very dirty I'll have to change it.) 2000-05-30 16:48:42 +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 65a9c57175 Change u32 to ip_addr in ext lsa. 2000-05-10 11:22:08 +00:00
Ondrej Filip aa1e082c67 Calculation of external routes. 2000-05-10 10:47:17 +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 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 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 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 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 dfa9a53a66 Routing table calculation. Dijkstra done. 2000-04-26 12:54:23 +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 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 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
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 f45fd3164b Sending of lspd as responce to lsreq done. 2000-03-31 00:21:41 +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