Commit graph

177 commits

Author SHA1 Message Date
Ondrej Zajicek 41b612c31b OSPF NSSA support, part one. 2011-07-20 23:48:06 +02:00
Ondrej Zajicek 52a43ae3b7 Minor changes in addresses.
Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not
show broadcast addr in show interfaces. Nobody cares for that.
2011-03-28 22:46:18 +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 e7b4948cbd A simplification of the next-hop calculation.
Thanks to Joakim Tjernlund for the idea.
2010-12-28 01:43:07 +01:00
Ondrej Zajicek 919f5411c4 Implements Point-to-MultiPoint interface type for OSPF. 2010-12-24 18:08:07 +01:00
Ondrej Zajicek f0160f0e06 Fixes a minor memory wasting. 2010-12-23 10:25:22 +01:00
Ondrej Zajicek 57c574d82a Multipath support for OSPF 2010-12-07 23:35:39 +01:00
Ondrej Zajicek d9e7e1b13d Adds support for iface link detection to OSPF. 2010-11-13 14:19:23 +01:00
Ondrej Zajicek 5cdf264f93 Fixes a bug related to implicit backbone on ABR. 2010-11-10 16:43:11 +01:00
Ondrej Zajicek d395fe4855 Fixes bug in OSPF ext-LSA origination. 2010-07-31 11:37:30 +02:00
Ondrej Filip 4461b89791 Minor bug that appears only in debug mode. 2010-06-02 12:11:20 +02:00
Ondrej Zajicek 52572e94ec Check for OSPF seqnum wraparound and handle it. 2010-05-23 12:34:09 +02:00
Ondrej Zajicek 7ff5803bec Do not originate summary or external LSA if it already here and not changed. 2010-05-16 10:27:20 +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 3b89a2327b Fixes several problems in OSPF vlink implementation. 2010-04-21 21:50:38 +02:00
Ondrej Zajicek 0aad2b9292 Temporary OSPF commit - sockets. 2010-03-14 16:36:59 +01:00
Ondrej Zajicek 54305181f6 Merge branch 'new' into socket2 2010-03-11 18:55:59 +01:00
Ondrej Zajicek e81b440f68 Fix configure to enable warnings and fix most of them. 2010-02-21 14:34:53 +01:00
Ondrej Zajicek 353729f513 Temporary OSPF commit - socket changes. 2010-02-11 10:23:35 +01:00
Ondrej Zajicek cf31112f0d Implements MRTdump feature. 2010-01-03 12:17:52 +01:00
Ondrej Zajicek f2d7da742b Fixes export of routes with link-local gw. 2009-12-15 00:30:07 +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 9895502392 Fixes OSPFv2 build. 2009-12-03 23:20:02 +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 9727681a38 Implements proper handling of summary/external LSA IDs. 2009-10-25 20:02:28 +01:00
Ondrej Zajicek b66abe8ef9 Reimplements 'show ospf state' for OSPFv3 and fixes some bugs. 2009-10-15 00:28:04 +02:00
Ondrej Zajicek d82fc18d75 Implement proper LSA ID generation. 2009-10-07 21:10:29 +01:00
Ondrej Zajicek 9f0ba7b1c7 Implements proper RID handling in OSPFv3. 2009-09-17 12:18:03 +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 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 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 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 23d6702952 Some fixes and update of OSPF debug messages 2009-01-11 12:14:27 +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 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 63ca37f313 Cleanup - all unused variables deleted. 2005-02-20 18:56:06 +00:00
Ondrej Filip dafaef9ba9 Originate default route into stub areas. 2005-02-20 16:53:06 +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 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 490767adfc Add more reasonable options to LSAs. (But it seems, that it's ignored.) 2004-07-13 22:10:14 +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 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 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 b9ed99f738 Cleanup in iface.c 2004-06-06 08:55:33 +00:00
Martin Mares 9831e5916f Staticized lots of local functions. 2004-06-05 09:58:23 +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 035f6acbfe Patch from Andreas Steinmetz <ast@domdv.de> 2004-06-01 13:12:10 +00:00
Martin Mares bb68ad2fd3 Documented the pxlen parameter. 2004-05-31 22:22:21 +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 37da55168c Useless trace. 2001-08-21 15:03:42 +00:00
Martin Mares e43ae6330e Fix %<something>I format strings. 2001-08-19 11:15:24 +00:00
Ondrej Filip 85062e8a60 Bugfix in B-bit setting in router LSA. 2001-08-11 14:40:51 +00:00
Ondrej Filip 78e2c6ccf1 I will not originate the same lsa before MINLSINTERVAL. 2001-08-11 14:01:54 +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 5a063efeea Bugfix in ext lsa importing. 2000-08-28 13:51:13 +00:00
Ondrej Filip 8d56febe64 HASH_DEF_ORDER back to 6. 2000-06-08 12:04:57 +00:00
Ondrej Filip e9ab0b4212 Doc in lsalib.c + related minor changes. 2000-06-07 22:31:47 +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 992705f65a Tracing in topology 2000-06-06 02:27:08 +00:00
Ondrej Filip 51cff78b25 Allocate OSPF areas before interfaces. 2000-06-06 01:46:32 +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 fdb0c540a8 PTP link in RTLSA was not announced correctly. 2000-06-05 19:12:22 +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 ac272c0067 Bug in LSA origination. 2000-06-05 05:06:53 +00:00
Ondrej Filip 88048fb3c9 Small patch to better hash type=2 LSAs. 2000-06-05 03:46:19 +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 67cc9135bf Many bugs in ext lsa origination. 2000-06-04 19:20:28 +00:00
Ondrej Filip 528932368a Stuping bug in net LSA origination. Now, I should survive
loss of my only neighbor.
2000-05-31 14:43:42 +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 fc741dab27 Handle better next hop in external LSA. 2000-05-31 13:20:25 +00:00
Martin Mares 5919c66e8f Route attributes for OSPF. 2000-05-30 21:25:32 +00:00
Ondrej Filip 3dd8f983b6 You can decide if add LSA into lsrth during flood_lsa(). 2000-05-30 17:51:22 +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 be2bb40341 Minor changes. 2000-05-11 22:02:53 +00:00
Ondrej Filip 7a42e6ce89 Bugfix in network LSA originating. 2000-05-11 17:14:57 +00:00
Ondrej Filip 3b8b1bd037 Better dumping. 2000-05-09 19:38:34 +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 5f743d9697 Many bugfixes. Actually, how could this ever work? :-) 2000-05-09 13:56:47 +00:00
Ondrej Filip b29c620f90 Another bugfix in neighbor state machine. 2000-05-09 11:27:31 +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