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
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
Martin Mares
23df5e4cf3
Print route tag in hexadecimal and omit it if it's zero.
2000-06-01 13:00:39 +00:00
Ondrej Filip
df968040f6
Print tag unsigned rather then signed.
2000-06-01 12:17:08 +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
a7a3a0a383
Added tagging of external LSA.
2000-05-31 12:07:09 +00:00
Martin Mares
5919c66e8f
Route attributes for OSPF.
2000-05-30 21:25:32 +00:00
Ondrej Filip
1b128de364
Better shutdown.
2000-05-30 16:13:59 +00:00
Ondrej Filip
04c3a83c60
Better inicialisation.
2000-05-30 11:07:31 +00:00
Ondrej Filip
5970fcda8c
Some exchange between init() and start().
2000-05-30 10:53:48 +00:00
Ondrej Filip
73232f6b18
Better rt dumping.
2000-05-30 10:36:57 +00:00
Ondrej Filip
05dbc97b13
Bug in rt_notify.
2000-05-30 10:20:14 +00:00
Ondrej Filip
f7c0525edc
get_route_info() added.
2000-05-28 19:16:04 +00:00
Ondrej Filip
4414d9a57a
get_status() implemented.
2000-05-28 18:49:33 +00:00
Ondrej Filip
d5f029df48
Just added some debug().
2000-05-28 18:34:20 +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
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
aa1e082c67
Calculation of external routes.
2000-05-10 10:47:17 +00:00
Ondrej Filip
432996f40f
Better dumping.
2000-05-09 12:03:57 +00:00
Martin Mares
9a220cabbc
#ifdef out lots of debugging information.
...
The long resource/routing table dump printed upon startup is gone now
and if you wish to see it, just send bird SIGUSR1 or use the `debug'
commands.
2000-05-04 20:52:28 +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
79f036ef6e
Dump changes.
2000-04-18 19:22:49 +00:00
Ondrej Filip
8496b2e41a
Minor change in area list. Now I use MJ's lists.
2000-04-03 22:31:07 +00:00
Ondrej Filip
de30342f97
Router LSA & area adding.
2000-02-25 19:19:41 +00:00
Ondrej Filip
b786df7035
Memory allocation in ospf_area changed.
2000-02-25 14:26:54 +00:00
Ondrej Filip
ab56f6b16f
Area work and router LSA starts when interface goes up.
2000-02-24 00:26:10 +00:00
Ondrej Filip
c7b915d68c
Malloc() changed to cfg_alloc().
2000-02-08 19:12:42 +00:00
Martin Mares
d272fe22dd
Separated `official protocol names' used in status dumps from name templates
...
used for automatic generation of instance names.
protocol->name is the official name
protocol->template is the name template (usually "name%d"),
should be all lowercase.
Updated all protocols to define the templates, checked that their configuration
grammar includes proto_name which generates the name and interns it in the
symbol table.
2000-01-17 11:52:50 +00:00
Ondrej Filip
1508757478
Preparing for building LS databaze. Huh, why is it so complicated? :-(
...
Adding definition of some constants.
2000-01-05 00:03:47 +00:00
Ondrej Filip
163b207346
Inicialisation of Topology Graph (TG).
1999-11-30 10:35:26 +00:00
Ondrej Filip
4364b47e48
ospf.c and ospc.h splitted into various files.
1999-11-17 15:50:41 +00:00
Ondrej Filip
2af2636a69
Another bugfix. (In EXCHANGE state.)
1999-11-17 13:28:51 +00:00
Ondrej Filip
e17baa3108
Fixed bug receiving dbdes packets in EXSTART state.
1999-11-17 13:15:01 +00:00
Ondrej Filip
986e34131d
Sending DBDES packet in EXSTART done.
1999-11-10 16:06:12 +00:00
Martin Mares
6ba36f06ae
Added LSA hashing table (parts of code stolen from rt-fib.c, but
...
heavily simplified since we don't need asynchronous walking).
1999-11-10 12:27:01 +00:00
Ondrej Filip
ecc3cf6f50
Working on db des receiving.
...
Preparing for building LDA database.
1999-11-03 12:59:38 +00:00
Ondrej Filip
c2250f91c7
Minor changes and bug fixes. Preparing for Exchange and higher states.
1999-10-19 16:13:06 +00:00
Ondrej Filip
96f1b8ba10
Huge changes. Neighbor and interface state machines rewritten.
...
It should be cleaner now, I'm preparing for file splitting.
Maybe I added some minor bugs. :-(
1999-10-18 21:48:51 +00:00
Ondrej Filip
2c1d1cc765
DD packet receiving in ExStart.
1999-08-25 18:44:50 +00:00
Ondrej Filip
1af664158d
A structure for receiving DD seq packets added.
1999-08-24 18:32:26 +00:00
Ondrej Filip
e3121112ab
Preparing to send DD packets.
1999-08-24 14:42:51 +00:00
Ondrej Filip
b332fcdfc8
Better dumping.
1999-08-16 10:32:05 +00:00
Ondrej Filip
032df28048
Small bux fixes. A neigh_chstate added.
1999-08-10 12:06:45 +00:00
Ondrej Filip
a7d388d23e
Multiple "hton problems" fixed. Now we're in EXSTART state.
1999-08-09 18:59:37 +00:00
Ondrej Filip
2be22ddb4c
"My own IP problem" fixed.
1999-08-09 18:49:50 +00:00
Ondrej Filip
a4c2ee717c
Bug fix in checksum calculation.
1999-08-09 18:34:08 +00:00
Ondrej Filip
b1693b8f74
Bug in election fixed.
1999-08-09 18:11:51 +00:00
Ondrej Filip
e83dc0d7e7
(Backup) Designated Router election added.
1999-08-09 17:58:01 +00:00
Ondrej Filip
8c51f96acf
Some interface state machine changes. I found some problem in RFC,
...
trying to conntact authors.
1999-08-09 13:03:28 +00:00
Ondrej Filip
39369d6fbe
Fixed stupid bug with hello vs inactim timers.
1999-06-02 16:31:13 +00:00
Ondrej Filip
bae0f7dbb1
Neigbor deleting done. (I have some problems with timers, so it does not
...
send hello.)
1999-06-01 17:29:56 +00:00
Ondrej Filip
cd70d93470
Detecting of new neighbor added. It starts inactivity timer.
1999-06-01 16:35:18 +00:00
Martin Mares
3e1f30610e
Defined IP_PREC_INTERNET_CONTROL and made all (well, both :)) protocols
...
use it when creating sockets.
1999-06-01 13:57:24 +00:00
Ondrej Filip
c72b09c850
IP socket priority (sock->tos) added. Constant taken from tcpdump of CISCO
...
and gated.
1999-05-31 19:07:31 +00:00
Ondrej Filip
35ff423d54
Some RX_Hello checks added.
1999-05-31 18:56:20 +00:00
Ondrej Filip
75b84c34e3
Sending and receving of hello pkts works. No I will start building neighbor
...
database.
1999-05-31 18:24:54 +00:00
Ondrej Filip
c76674f0e9
struct ospf_neigbor added. Neigbor state machine implementation can start.
1999-05-24 21:17:16 +00:00
Ondrej Filip
65112dd270
ifa->time split into wait_timer and hello_timer. I will send hello in WAITING state.
1999-05-24 18:22:00 +00:00
Ondrej Filip
b9f8590025
IP header test added.
1999-05-24 17:29:05 +00:00
Martin Mares
b23c5e0ff4
Added ip_skip_header() and modified OSPF to use it.
1999-05-14 18:03:09 +00:00
Ondrej Filip
11ce4490fa
*** empty log message ***
1999-05-14 08:50:25 +00:00
Ondrej Filip
67ff91302f
Netmask checking for hello packets added.
1999-05-14 08:46:06 +00:00
Ondrej Filip
7426ee3d49
Checksum control added.
1999-05-13 09:18:36 +00:00
Ondrej Filip
296ecb56eb
OSPF RX implementation starts....
1999-05-11 15:34:33 +00:00
Ondrej Filip
f7103dfcfe
Better logging output. Added 'struct proto *' info 'struct ospf iface'.
1999-05-11 09:50:02 +00:00
Martin Mares
9a158361da
I rewrote the interface handling code, so that it supports multiple
...
addresses per interface (needed for example for IPv6 support).
Visible changes:
o struct iface now contains a list of all interface addresses (represented
by struct ifa), iface->addr points to the primary address (if any).
o Interface has IF_UP set iff it's up and it has a primary address.
o IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED
in the protocols; I've added this, but please check).
o The if_notify_change hook has been simplified (only one interface pointer
etc.).
o Introduced a ifa_notify_change hook. (For now, only the Direct protocol
does use it -- it's wise to just listen to device routes in all other
protocols.)
o Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway).
o Updated all the code except netlink (I'll look at it tomorrow) to match
the new semantics (please look at your code to ensure I did it right).
Things to fix:
o Netlink.
o Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
1999-05-06 21:38:11 +00:00
Ondrej Filip
59e2188cb7
Just changes of comments.
1999-04-27 13:04:33 +00:00
Ondrej Filip
6376a96133
Hello timer implemented.
1999-04-27 12:56:52 +00:00
Ondrej Filip
93bde8dce2
Work on hello continues.
1999-04-22 13:12:28 +00:00
Ondrej Filip
b11d8a4f59
Redesigned struct ospf_iface & new struct ospf_sock.
1999-04-14 15:13:44 +00:00
Ondrej Filip
b31568a516
Small bug fix in memcpy.
1999-04-14 12:47:18 +00:00
Martin Mares
9da4d14340
A couple of OSPF fixes:
...
o ((flags & IF_CHANGE_UP) == IF_CHANGE_UP) -> (flags & IF_CHANGE_UP)
o bcopy -> memcpy (bcopy is unportable)
o Ifdeffed out add_tail(&(ifa->sk_list),NODE mcsk) -- the node in socket
structure is for internal use by the resource manager only. (Now, the
debugging dump of open sockets looks sane :-)).
1999-04-14 11:09:55 +00:00
Ondrej Filip
4c630a6dd7
Added wait timer for eligible BCAST & NBMA interface.
1999-04-13 21:46:20 +00:00
Ondrej Filip
55e7732a5a
Change in ospf_iface. (My bad understanding of lists manipulation.)
1999-04-13 19:27:44 +00:00
Ondrej Filip
aec76c6e8e
IPv6 changes.
1999-04-13 18:21:53 +00:00
Ondrej Filip
24eaae9e5d
Small change to stop using loopback.
1999-04-13 00:46:34 +00:00
Ondrej Filip
cb2e8c4970
A small init change to avoid core dump.
1999-04-13 00:24:05 +00:00
Ondrej Filip
5b1a92e6d4
Not all I mean serious. Almost everything will change.
...
Changes: struct ospf_iface draft, various constants added...
1999-04-12 23:54:21 +00:00
Ondrej Filip
c1f8dc9149
Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF.
1999-03-09 22:27:43 +00:00