Commit graph

80 commits

Author SHA1 Message Date
Jan Moskyto Matejka 3e236955c9 Build: switch on -Wextra, get rid of most of the warnings
There are several unresolved -Wmissing-field-initializers on older
versions of GCC than 5.1, all of them false positive.
2016-11-01 14:52:54 +01:00
Pavel Tvrdik 8e433d6a52 Prog Doc: Complete several missing parameters 2016-05-12 15:49:44 +02:00
Ondrej Zajicek 77edab6409 OSPF: Redesign LSA checksumming
New LSA checksumming code separates generic Fletcher-16 and OSPF-specific
code and avoids back and forth endianity conversions, making it much more
readable and also several times faster.
2015-05-01 14:40:56 +02:00
Ondrej Zajicek 30d09eb96e OSPF: Fixes validation of LSA checksums
Prior to this patch, BIRD validates the OSPF LSA checksum by calculating
a new checksum and comparing it with the checksum in the header. Due to
the specifics of the Fletcher checksum used in OSPF, this is not
necessarily correct as the checkbytes in the header may be calculated via
a different means and end up with a different value that is nonetheless
still correct.

The documented means of validating the checksum as specified in RFC 905
B.4 is to calculate c0 and c1 from the unchanged contents of the packet,
which must result in a zero value to be considered valid.

Thanks to Chris Boot for the patch.
2015-04-28 13:45:44 +02:00
Ondrej Zajicek 742029eb78 Whitespace cleanup in OSPF. 2014-07-19 17:28:38 +02:00
Ondrej Zajicek 70945cb645 Temporary integrated OSPF commit. 2014-06-26 11:58:57 +02:00
Ondrej Zajicek 89647357af NEWS and version update. 2012-03-22 12:29:02 +01:00
Ondrej Zajicek 41b612c31b OSPF NSSA support, part one. 2011-07-20 23:48:06 +02:00
Ondrej Zajicek f796945f04 Fixes LSA checksum computation for larger LSAs. 2011-07-03 23:24:38 +02:00
Ondrej Zajicek 8e48831a97 Vastly improved OSPF reconfiguration.
Now it can handle a change in iface pattern structure.
It can add, remove and reconfigure interfaces, vlinks and areas.
2011-03-17 15:53:36 +01:00
Ondrej Zajicek 506fa1a73e Merge several fixes suggested by Joakim Tjernlund. 2010-05-02 22:41:40 +02:00
Ondrej Zajicek 6384c7d7aa OSPF: most of summary LSA orig./flush logic rewritten.
Fixes many bugs in the old code and makes it much cleaner.
2010-05-02 19:58:34 +02:00
Ondrej Zajicek 4e5fb4b60c Skip LSA host<->network endianity conversions on big endians. 2010-04-25 20:12:34 +02:00
Ondrej Zajicek 0ea8fb4abe Fixes and enhancements in 'show ospf state' command.
Now it shows a distance, option to change showing reachable/all network
nodes and better handling of AS-external LSAs in multiple areas. The
command 'show ospf topology' was changed to not show stubnets in both
OSPFv2 and OSPFv3 (previously it displayed stubnets in OSPFv2).
2010-04-24 15:18:21 +02:00
Ondrej Zajicek e81b440f68 Fix configure to enable warnings and fix most of them. 2010-02-21 14:34:53 +01:00
Ondrej Zajicek 34a877ccac Minor updates. 2009-12-14 17:29:33 +01:00
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 a6bc04d591 Implements better checks on incoming packets and LSAs in OSPF. 2009-10-29 23:57:42 +01: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 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 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 Filip 39fc85b4c6 Unused code deleted. 2005-02-20 19:03:34 +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 35fdf4b6a2 Don't inform us about every ospf_age() 2004-07-13 21:22:32 +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 e02652a7d2 Bugfix in RT calculation. 2004-06-07 16:42:48 +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 b8f17cf192 Small cleanup, indentation and preparation for multiple areas routing table calculation. 2004-06-06 16:00:09 +00:00
Ondrej Filip 2e10a170fe Indentation. 2004-06-06 09:37:54 +00:00
Martin Mares 1512813e95 ... and a whole bunch of unused parameters and variables in ospf. 2004-06-05 09:28:17 +00:00
Ondrej Filip 6f3203fabf cleanup in lsupd.c, indenting, "struct proto" removed... 2004-06-04 21:05:43 +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
Ondrej Filip c11007bc42 Endian-related bug fixes sent by Krzysztof Szuster <kszuster@polbox.com> 2003-08-26 10:41:02 +00:00
Ondrej Filip baa5dd6ccc Many spelling mistakes fixed.
Thanks you Harry Moyes.
2003-08-23 10:42:41 +00:00
Martin Mares 47f18ac39a ABS should be a macro. 2002-11-13 08:47:19 +00:00
Ondrej Filip 4ca0d0847e Small typo fixed. 2002-04-03 15:41:05 +00:00
Ondrej Filip 025b0e856a New trace added. 2002-03-04 15:52:40 +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 a012cbb16f Nasty bug in LSA refreshing. I didn't refesh my own copy! :-( 2000-06-08 19:16:21 +00:00
Martin Mares 6567e6cf50 Missing parameters... 2000-06-08 12:42:34 +00:00
Ondrej Filip 17e29574bc Better algoritmus of LSA aging. 2000-06-07 23:48:33 +00:00
Ondrej Filip 25a3f3da7a I mark all LSA as in distance INFINITY in process of aging.
I don't have to WALK twice through it.
2000-06-07 23:34:43 +00:00