Ondrej Zajicek
ab16497189
Fixes a nasty bug in OSPF.
...
Sending malformed network prefixes in LSAs causes OSPF to crash
just after the LSA is propagated to the other routers.
2011-03-29 01:41:46 +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
39847cda73
Add some comments.
2010-12-23 12:24:40 +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
391931d456
Minor finalizations of link state checks.
2010-11-19 13:46:21 +01:00
Ondrej Zajicek
79f561a173
Fixes a typo (in OSPF_MAX_PKT_SIZE value).
...
And updates a comment.
2010-11-19 12:45:17 +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
c4443085a1
OSPF tx buffers should have the same size as rx buffers.
...
We should be able to send everything we received.
2010-11-04 17:25:48 +01:00
Ondrej Zajicek
d5356072ac
Fixes a bug in LSA update of large LSAs.
2010-11-04 17:22:43 +01:00
Ondrej Zajicek
d3209d939d
Fixes a bug in OSPF.
2010-11-03 10:04:46 +01:00
Ondrej Zajicek
ed76033c84
Fixes some typos.
2010-10-22 08:35:19 +02:00
Ondrej Zajicek
faf58cec4d
Fixes a bug in NBMA on an iface with multiple IP addresses.
2010-08-22 14:43:53 +02:00
Ondrej Zajicek
ba5e5940aa
Adds igp_metric attribute.
2010-08-02 13:11:53 +02:00
Ondrej Zajicek
d395fe4855
Fixes bug in OSPF ext-LSA origination.
2010-07-31 11:37:30 +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 Filip
4461b89791
Minor bug that appears only in debug mode.
2010-06-02 12:11:20 +02:00
Ondrej Zajicek
9b061f7ea5
Minor fixes.
2010-05-28 11:16:39 +02:00
Ondrej Zajicek
691057f033
Support loopback/dummy addresses.
2010-05-26 16:09:22 +02:00
Ondrej Zajicek
e0a62ad0f8
Fixes a bug in duplicit configured stubnets.
...
If there was the same configured stubnet on local and remote
router, the remote route always won regardless of its cost.
2010-05-26 12:32:30 +02:00
Ondrej Zajicek
52572e94ec
Check for OSPF seqnum wraparound and handle it.
2010-05-23 12:34:09 +02:00
Ondrej Zajicek
6d04ef8987
Comment update.
2010-05-21 16:40: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
ee7408c2be
Fixes a bug in LSA flooding.
...
LSAs are sometimes prematurely removed from LS retransmission lists.
2010-05-07 15:54:27 +02:00
Ondrej Zajicek
54818e9beb
A minor bugfix in OSPF ext-LSA processing.
2010-05-03 00:10:48 +02: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
ba32170657
Better support for /31 networks.
2010-04-28 00:39:57 +02:00
Ondrej Zajicek
48b0814ace
A fix in OSPFv3 next_hop calculation.
2010-04-27 18:29:01 +02:00
Ondrej Zajicek
9d1ee13887
Neighbors on OSPF broadcast networks should be identified by IP address, not RID.
...
Allows simple support for multiple interfaces to the same network.
2010-04-26 19:08:57 +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
3b89a2327b
Fixes several problems in OSPF vlink implementation.
2010-04-21 21:50:38 +02:00
Ondrej Zajicek
6e80676096
Fixes next hop calculation on NBMA and parallel PTP links.
2010-04-11 12:22:47 +02:00
Ondrej Zajicek
7969ea3b41
Fixes a bug in OSPF on NBMA interfaces.
...
A very tricky bug. OSPF on NBMA interfaces probably never really worked.
When a packet was sent to multiple destinations, the checksum was
calculated multiple times from a packet with already filled checksum
field (from previous calculation). Therefore, many packets were sent
with an invalid checksum.
2010-04-11 10:19:54 +02:00
Ondrej Zajicek
b8113a5e92
Implements BGP 'show protocols' info details.
2010-04-07 00:19:23 +02:00
Ondrej Zajicek
e60d55becd
Fixes OSPFv3 route generation for local stub networks.
2010-04-02 19:03:18 +02:00
Ondrej Zajicek
e7b09e4ab9
Use SO_BINDTODEVICE also in Linux/IPv6.
2010-04-02 16:11:46 +02:00
Ondrej Zajicek
bed417288e
Minor fixes to previous patches.
2010-04-02 11:31:20 +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
885b3d6127
Fixes LLS compatibility.
2010-03-22 14:00:47 +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
e7b76b9760
Temoporary OSPF commit - socket changes.
2010-03-11 18:07:24 +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
aa80826e4a
Unnumbered OSPF interfaces should be always in the point-to-point mode.
2010-02-07 09:49:34 +01:00
Ondrej Zajicek
a306208582
Comment update.
2010-01-13 14:53:33 +01:00
Ondrej Zajicek
99f5fc14cd
A partial vlink fix.
2010-01-08 22:19:41 +01:00
Ondrej Zajicek
fc33143f02
A fix for broken multi-area OSPF
2010-01-08 17:22:51 +01:00
Ondrej Filip
6901fd0685
More information about vlinks.
2010-01-07 23:42:11 +01:00
Ondrej Filip
18722dc98c
Bugfix in DBG call.
2010-01-07 23:03:19 +01:00
Ondrej Filip
3127b81755
Be a little bit more verbose on virtual links.
2010-01-07 22:54:39 +01:00
Ondrej Zajicek
cf0858c217
A fix of a previous fix.
2010-01-07 22:43:06 +01:00
Ondrej Zajicek
ba39197c11
Fixes vlinks for OSPFv2.
2010-01-07 22:22:10 +01:00
Ondrej Zajicek
29bfbae793
Debugging change leaked to repository.
2010-01-07 16:24:36 +01:00
Ondrej Zajicek
3034b384dd
A minor fix in OSPF.
2010-01-07 11:46:11 +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
f2d7da742b
Fixes export of routes with link-local gw.
2009-12-15 00:30:07 +01:00
Ondrej Zajicek
f75747073e
Implements route reload for OSPF.
2009-12-14 21:17:15 +01:00
Ondrej Zajicek
63542845df
Merge branch 'dev' into ospf3
...
Conflicts:
proto/ospf/lsreq.c
proto/ospf/lsupd.c
proto/ospf/rt.c
2009-12-14 20:37:32 +01:00
Ondrej Zajicek
34a877ccac
Minor updates.
2009-12-14 17:29:33 +01:00
Ondrej Zajicek
28008482a9
Minor fixes in OSPF.
2009-12-12 01:35:51 +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
be2d38b7e9
Temporary OSPFv3 commit.
2009-12-11 00:31:56 +01:00
Ondrej Zajicek
9807690b41
Fixes link-back check.
2009-12-06 22:05:50 +01:00
Ondrej Zajicek
b76aeb8234
Fixes next hop handling.
2009-12-04 22:20:13 +01:00
Ondrej Zajicek
9895502392
Fixes OSPFv2 build.
2009-12-03 23:20:02 +01:00
Ondrej Zajicek
bb3c7c6d22
Fixes some log messages.
2009-12-03 18:56:39 +01:00
Ondrej Zajicek
69fbf9a251
Minor fix in LSA update.
2009-12-03 18:25:14 +01:00
Ondrej Zajicek
4b84bd4554
Fixes some crashes in OSPFv2.
2009-11-29 10:29:33 +01:00
Ondrej Zajicek
e4a810b0ce
Temporary commit.
2009-11-29 10:09:25 +01:00
Ondrej Zajicek
cbf8b08d62
Temporary OSPFv3 devel commit
2009-11-17 10:31:33 +01:00
Ondrej Zajicek
4ac7c8341c
Use IPv6 checksums in OSPFv3.
2009-11-09 23:22:53 +01:00
Ondrej Zajicek
3f22fa9e74
Merge branch 'dev' into ospf3
2009-11-09 22:54:39 +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
9d4d38d1a5
Fixes some problems related to link-local routes in KRT interface.
2009-10-28 22:39:24 +01:00
Ondrej Zajicek
9727681a38
Implements proper handling of summary/external LSA IDs.
2009-10-25 20:02:28 +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
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
d2ceaf4ec8
Temporary OSPFv3 development commit
2009-08-28 13:45:43 +02:00
Ondrej Zajicek
05198c12f4
Some cleanups.
2009-08-27 19:01:04 +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 Filip
87d7fd9725
Bugfix - each protocol can be compiled separately.
2009-08-16 22:36:41 +02:00
Ondrej Zajicek
b92c8e3019
Merge branch 'master' into dev
2009-08-10 10:16:00 +02:00
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