Commit graph

572 commits

Author SHA1 Message Date
Ondrej Filip 0d328932be Symbols PASSWORDS and BROADCAST not declared for OSPF 2009-07-30 18:39:41 +02:00
Ondrej Zajicek 3aab39f589 Use %R in OSPF when appropriate. 2009-07-23 16:51:28 +02:00
Ondrej Zajicek 2389c46fe3 Another pile of ipa_from_u32() calls. 2009-07-05 21:18:55 +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 f9bdcad469 Fixes type mismatch in OSPF printf statements.
Mixing ip_addr and u32 does bad things on Ultrasparc.
Although both have the same size. Fascinating.
It was not catched by compiler because of varargs.
2009-07-05 19:01:54 +02:00
Ondrej Zajicek 1b3b3e34ec Minor bugfixes. 2009-06-18 14:32:44 +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 f98e291579 The pipe cleanup. 2009-06-01 14:07:13 +02:00
Ondrej Zajicek 23ac9e9a9e Changes pipes to transfer all routes between routing table, not just optimal routes. 2009-05-31 15:24:27 +02:00
Ondrej Zajicek f571473ef3 Hello packets on PTP networks should have zero netmask.
This also ensures that misconfigured routers (one side
ptp and one side broadcast) do not make adjacency.
2009-05-24 17:55:33 +02:00
Ondrej Zajicek 8cc598a520 Ignore Hello packets from different IP network (than primary). 2009-05-24 17:51:27 +02:00
Ondrej Zajicek 20e94fb85b A change in OSPF and RIP interface patterns.
Allows to add more interface patterns to one common 'options'
section like:

interface "eth3", "eth4" { options common to eth3 and eth4 };

Also removes undocumented and unnecessary ability to specify
more interface patterns with different 'options' sections:

interface "eth3" { options ... }, "eth4" { options ... };
2009-05-06 22:02:45 +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 b722fe7ebd Fixes bug in OSPF packet retransmission.
If a DBDES packet from a master to a slave is lost, then the old code
does not retransmit it and instead send a next one with the same
sequence number. That leads to silent desynchronization of LSA
databases.
2009-04-06 16:53:06 +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 Zajicek a9dc5e1ef2 Fixes another bug in packet retransmissions.
When slave was in full state, it didn't retransmit
lost packets. That leads to OSPF connection locked
in states loading-full.
2009-02-25 16:28:21 +01:00
Ondrej Zajicek d901db3fb7 Fixes bug in packet retransmissions.
When packet was lost during dbdes exchange, slave did not retransmit
it. That leads to OSPF connection locked in states exchange-exstart.
2009-02-12 19:46:51 +01:00
Ondrej Zajicek e3c460bc90 Fixes some past config grammar update that caused password related regression. 2009-01-16 12:08:07 +01:00
Ondrej Zajicek 3b108f18e8 One null-pointer dereference bugfix hidden in whitespace changes 2009-01-16 10:58:52 +01:00
Ondrej Zajicek 0dd7ccc766 Fix typo. 2009-01-13 19:25:27 +01:00
Ondrej Zajicek 0844b65d13 Fix OSPF protocol error recovery behavior.
When OSPF neighbor state drops down to EXSTART,
clear LSA request and retransmit lists, as specified
by RFC. I hope that this will prevent oscillations
between EXSTART and LOADING states, which sometimes
happened.

It also contains related fix from Yury Shevchuk that
properly resets DB summary list iterator.
2009-01-13 19:15:49 +01:00
Ondrej Zajicek f15cb99c79 Add check detecting packet overwrite in TX buffer. 2009-01-12 23:42:51 +01:00
Ondrej Zajicek 23d6702952 Some fixes and update of OSPF debug messages 2009-01-11 12:14:27 +01:00
Ondrej Zajicek 0e9617e400 Move check for NULL before usage of variable. 2009-01-11 10:51:54 +01:00
Ondrej Zajicek f20907adf6 Fixes bug in OSPF
Checksum was not recalculated when LSA was changed and
packets with bad checksum were sent.
2009-01-11 10:47:41 +01:00
Ondrej Zajicek 3f670371cf OSPF routes appeared with random value of ospf_tag attribute.
This patch fixes it.
2008-11-14 21:13:56 +01:00
Ondrej Zajicek aebe06b40c Proper format functions for ORIGINATOR_ID, CLUSTER_LIST 2008-11-08 23:33:22 +01:00
Ondrej Zajicek b21f68b4cd Fix bugs in OSPF MD5 authentication. First bug is that default
values for MD5 password ID changed during reconfigure, Second
bug is that BIRD chooses password in first-fit manner, but RFC
says that it should use the one with the latest generate-from.

It also modifies the syntax for multiple passwords.
Now it is possible to just add more 'password' statements
to the interface section and it is not needed to use
'passwords' section. Old syntax can be used too.
2008-11-08 17:24:23 +01:00
Ondrej Zajicek fd91ae3325 Fix problem with local time changes. 2008-11-05 22:36:49 +01:00
Ondrej Zajicek f0ad56f441 Fixes some sloppiness of commit a3b70dc499. 2008-10-28 16:10:42 +01:00
Ondrej Zajicek a3b70dc499 Two new informative CLI commands for OSPF.
Two new CLI commands for OSPF giving nice informative (and still machine
parsable) representation of OSPF network graph (based on datas from the
LSA database).

The first command (show ospf topology) shows routers, networks and stub
networks, The second command (show ospf state) shows also external
routes and area-external networks and routers propagated by given area
boundary router.
2008-10-27 00:03:30 +01:00
Ondrej Zajicek 52586ccdf1 Missing newline. 2008-10-26 23:53:05 +01:00
Ondrej Zajicek a97122a3ca Bugfix in LSA origination for PTP OSPF links.
The code generating LSAs for PTP OSPF links is buggy. The old behavior
is that it generates PTP link if there is a full/ptp neighbor and stub
link if there isn't. According to RFC 2328, the correct behavior is to
generate stub link in both cases (in the first case together with PTP
link).

And because of buggy detection of unnumbered networks, for numbered
networks the code creates stub links with 0.0.0.0/32.
2008-10-26 23:43:13 +01:00
Ondrej Filip 226cb2bc3f Expand ospf dump information. 2008-08-25 12:51:06 +00:00
Ondrej Filip 73e53eb555 Endianity problem in debug message fix. 2008-08-25 12:00:55 +00:00
Ondrej Filip f39e3bfdbf Small bugfix in tracing. 2005-03-15 23:42:41 +00: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 427e59939b Look for large packets. 2005-03-14 11:07:10 +00:00
Ondrej Filip a2d5b405d4 Bugfix in external routes calculation. 2005-03-14 10:59:52 +00:00
Ondrej Filip 39fc85b4c6 Unused code deleted. 2005-02-20 19:03:34 +00:00
Ondrej Filip 63ca37f313 Cleanup - all unused variables deleted. 2005-02-20 18:56:06 +00:00
Ondrej Filip 52d61a8498 Intelligent reconfiguration should work again. 2005-02-20 16:54:09 +00:00
Ondrej Filip dafaef9ba9 Originate default route into stub areas. 2005-02-20 16:53:06 +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 7de7470a2a Bugfix - count courrectly next hop on single hop virtual link. 2005-02-20 03:37:47 +00:00
Ondrej Filip 6eb4b73fe8 Time of neighbor's dead was not shown correctly. 2005-02-20 03:30:44 +00:00
Ondrej Filip 5506c82ce6 Bugfix in previous bugfix. 2005-02-18 19:36:32 +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 27a1e3ac35 Minor bugfixes in routing table calsulation. 2005-02-15 16:17:42 +00:00
Ondrej Filip 2eef9e887a Be more verbose in log. 2005-02-14 21:34:46 +00:00
Ondrej Filip b181f444a6 Small changes to reduce number of warnings. 2005-02-14 11:54:16 +00:00
Ondrej Filip 5d3f555234 Many bugfixes in routing table calculation and summary LSA origination. 2005-02-13 23:36:31 +00:00
Ondrej Filip 89ba9a1806 Bugfix in inter-area route calculation and summary LSA origination.
Bugfix of some debugging commands.
2005-02-12 22:22:18 +00:00
Ondrej Filip bae7c43ff3 Bugfix in password acceptance 2005-02-12 22:19:46 +00:00
Ondrej Filip 9912fa51c8 Bugfix - cost of interface can be larger than 0xffff 2005-02-12 22:18:48 +00:00
Ondrej Filip 4991756863 Dont check netmask field on PTP links. 2004-09-15 19:33:01 +00:00
Ondrej Filip 7715f9d9ed Bugfix in config.y 2004-08-10 17:47:32 +00:00
Ondrej Filip 56e2a4b776 Bugfix in OSPF - BIRD sometimes failed during rt calculation with VLINKs. 2004-08-05 18:06:30 +00:00
Ondrej Filip 8d94a524b6 Added handling of STUB bool. 2004-07-16 08:27:11 +00:00
Ondrej Filip 002ecc0638 Bugfix - bird needed double ';' after rfc1583compat. 2004-07-16 07:22:43 +00:00
Ondrej Filip b37bb5ce03 Minor bugfix - add interface routes. 2004-07-15 16:48:12 +00:00
Ondrej Filip 28e8d862b7 Minor bugfix in calculation of external routes. 2004-07-15 16:42:06 +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 a417ad13a1 Send hello just after interface is up.
This makes the adjacency forming faster.
Minor code clean up.
2004-07-13 23:42:14 +00:00
Ondrej Filip 897999c22a Send hello as soon as possible after the interface is up.
This helps to faster establish the adjacency.
2004-07-13 23:31:37 +00:00
Ondrej Filip 490767adfc Add more reasonable options to LSAs. (But it seems, that it's ignored.) 2004-07-13 22:10:14 +00:00
Ondrej Filip fe1489e6c1 Bugfix: Router was unable to advertise AS external routes. 2004-07-13 22:04:57 +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 35fdf4b6a2 Don't inform us about every ospf_age() 2004-07-13 21:22:32 +00:00
Ondrej Filip bc956fcab6 MD5 authentication in OSPF works. :-) 2004-07-13 14:46:14 +00:00
Ondrej Filip 32d3228d86 Bugfix in simple authentification. 2004-07-13 13:52:54 +00:00
Ondrej Filip 12dd8dc877 Bugfix - nasty bug in router LSA origination - Router did not describe all interfaces. 2004-07-13 12:21:24 +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 9baece57d3 Syntax bugfix. 2004-07-08 16:56:49 +00:00
Ondrej Filip 69b27ed6fd Length calculation bugfix. 2004-07-01 15:01:44 +00:00
Ondrej Filip bc4ea680ce Hello reading bugfix. 2004-07-01 15:01:04 +00:00
Ondrej Filip ea357b8b6d Update of the documentation. (passwords and md5).
Option for md5 auth in config.
2004-06-26 22:52:39 +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 b4d8a0c280 Some cisco routers send shorter ospf messages in larger packets.
Well it's strange, but, actually it's correct.
2004-06-16 23:01:49 +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 b1f7229ad7 Better adjacency building, some minor bugfixes. 2004-06-11 09:34:48 +00:00
Ondrej Filip 7df86c25fc Better checking of configuration. 2004-06-09 12:39:49 +00:00
Ondrej Filip e02652a7d2 Bugfix in RT calculation. 2004-06-07 16:42:48 +00:00
Ondrej Filip 541cbe9763 It was too verbose. 2004-06-07 12:52:32 +00:00
Ondrej Filip 5e3436d20f Cleanup in packet.c. Deleted unused parameters. 2004-06-06 19:53:52 +00:00
Ondrej Filip d5d9693ce9 Deleted unused parameters. 2004-06-06 18:45:08 +00:00
Ondrej Filip cd09226078 Be sure, that ospf_area is aged before routing table calculation. 2004-06-06 17:03:56 +00:00
Ondrej Filip 933bfdde2a Keep al lSAs invalidated. 2004-06-06 16:14:57 +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 d8d553cadf This warning is stupid. 2004-06-06 14:25:55 +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 a5918961f3 Be more verbose in troubles. 2004-06-06 08:12:42 +00:00