Commit graph

233 commits

Author SHA1 Message Date
Ondrej Zajicek ba5e5940aa Adds igp_metric attribute. 2010-08-02 13:11:53 +02:00
Ondrej Zajicek 824de84d48 Do not start with huge OSPF FIBs.
Most OSPF instances don't need 64k FIB fields. This change halves
resident memory usage on small OSPF networks.
2010-06-02 22:25:39 +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 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 b8113a5e92 Implements BGP 'show protocols' info details. 2010-04-07 00:19:23 +02:00
Ondrej Zajicek 126683feed Filter language updates; new route attributes and datatype.
- Adds bgp_originator_id and bgp_cluster_list route attributes.
 - Adds dotted quad filter datatype (for router IDs, used by
   bgp_originator_id and ospf_router_id route attributes).
 - Fixes pair ~ pair set matching.
 - Documentation updates.
2010-03-29 19:29:03 +02:00
Ondrej Zajicek 48cff379a7 Added some comments. 2010-03-26 16:21:29 +01:00
Ondrej Zajicek af157fa3db Disable multiple OSPF pseudointerfaces on BSD. 2010-03-26 14:48:01 +01: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 ff2857b03d Many changes in (mainly) kernel syncers.
- BSD kernel syncer is now self-conscious and can learn alien routes
- important bugfix in BSD kernel syncer (crash after protocol restart)
- many minor changes and bugfixes in kernel syncers and neighbor cache
- direct protocol does not generate host and link local routes
- min_scope check is removed, all routes have SCOPE_UNIVERSE by default
- also fixes some remaining compiler warnings
2010-02-26 10:55:58 +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 dca75fd7c2 Removes phantom protocol from the pipe design.
It seems that by adding one pipe-specific exception to route
announcement code and by adding one argument to rt_notify() callback i
could completely eliminate the need for the phantom protocol instance
and therefore make the code more straightforward. It will also fix some
minor bugs (like ignoring debug flag changes from the command line).
2010-02-13 12:26:26 +01:00
Ondrej Zajicek 353729f513 Temporary OSPF commit - socket changes. 2010-02-11 10:23:35 +01:00
Ondrej Zajicek c27b2449d1 Shows source (Router ID) for OSPF routes and adds such attribute.
A sad thing is that we does not have a 'router_id' filter type,
so it must be given as decimal number in filters.
2010-02-08 16:01:03 +01:00
Ondrej Zajicek cf31112f0d Implements MRTdump feature. 2010-01-03 12:17:52 +01:00
Ondrej Zajicek 610bb3cff0 Show command cleanups. 2009-12-22 10:49:39 +01:00
Ondrej Zajicek f75747073e Implements route reload for OSPF. 2009-12-14 21:17:15 +01:00
Ondrej Zajicek 34a877ccac Minor updates. 2009-12-14 17:29:33 +01:00
Ondrej Zajicek be2d38b7e9 Temporary OSPFv3 commit. 2009-12-11 00:31:56 +01:00
Ondrej Zajicek 9895502392 Fixes OSPFv2 build. 2009-12-03 23:20:02 +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 d82fc18d75 Implement proper LSA ID generation. 2009-10-07 21:10:29 +01:00
Ondrej Zajicek be86240662 Temporary OSPFv3 development commit.
Finally, it is working.
2009-09-08 13:45:02 +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 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 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 23ac9e9a9e Changes pipes to transfer all routes between routing table, not just optimal routes. 2009-05-31 15:24: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 aebe06b40c Proper format functions for ORIGINATOR_ID, CLUSTER_LIST 2008-11-08 23:33:22 +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 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 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 d8c7d9e884 Since now I can also use 'dead interval', not just 'dead counter'. 2005-02-20 04:27:56 +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 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 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 d5d9693ce9 Deleted unused parameters. 2004-06-06 18:45:08 +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
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
Martin Mares 598b984d1f One less unused variable. 2004-06-05 09:58:06 +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 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