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
10ab65a8c9
Fixes one recently introduced IPv6 BGP compatibility problem.
2009-05-06 15:18:52 +02:00
Ondrej Zajicek
b7a735ea9d
Allow 'third party' BGP updates for originated routes.
2009-04-29 22:17:40 +02:00
Ondrej Zajicek
4827b69ff4
Fixes BGP IPv6 link local next hop handling.
...
When sending 'third party' BGP update, Bird used bogus link local
addresses instead of addresses it received before.
2009-04-29 18:58:24 +02:00
Ondrej Zajicek
ad440a570b
Fixes handling of 'next hop self' and 'source address' configuration
...
options.
2009-04-28 18:11:56 +02:00
Ondrej Zajicek
64cf11f544
Fixes BGPv6 bug - missing endianity conversion.
...
Also removes code skipping SNPAs
(obsoleted by newer RFCs, should be ignored).
2009-04-23 23:15:07 +02:00
Ondrej Zajicek
f307842ad8
Fixes BGPv6 bug - mandatory attributes weren't validated;
2009-04-23 14:44:02 +02:00
Ondrej Zajicek
8f0c887a52
Fixe bug in BGPv6 that causes to send invalid network withdraws.
2009-04-23 14:16:05 +02:00
Ondrej Zajicek
b9539e78d8
Fixes bug in BGPv6 causing crash by checking missing attributes.
2009-04-23 12:36:24 +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
48d79d521c
Better handling of AS4 optional attribute errors
...
AS4 optional attribute errors were handled by session
drop (according to BGP RFC). This patch implements
error handling according to new BGP AS4 draft (*)
- ignoring invalid AS4 optional attributes.
(*) http://www.ietf.org/internet-drafts/draft-chen-rfc4893bis-02.txt
2009-03-18 20:30:21 +01:00
Ondrej Zajicek
e8ba557c7f
Update capability handshake options
...
Add 'capabilities' option, change default behavior to advertise ipv4,
add some checks and ignore incoming capabilities when capabilities
are disabled.
2009-03-13 12:49:44 +01:00
Ondrej Zajicek
e3299ab148
Added Cisco and Quagga capability workaround option.
2009-03-05 11:52:47 +01:00
Ondrej Zajicek
82a79586e5
Better handling of too long attributes
...
This patch extends the length for attributes from 1024 to 2048
(because both AS_PATH and AS4_PATH attributes take 2+4 B per AS).
If there is not enough space for attributes, Bird skips that
route group. Old behavior (skipping remaining attributes)
leads to skipping required attributes and session drop.
2009-02-27 15:24:46 +01:00
Ondrej Zajicek
cb53039271
Rate limit for most abundant log messages
2009-02-26 14:23:54 +01: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
cd17c651a6
Add format for BGP_AGGREGATOR attribute
2009-02-21 17:47:56 +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
165a622727
Adds support for fallback to capabilityless BGP connect
...
When capability related error is received, next connect will be
without capabilities. Also cease error subcodes descriptions
(according to [RFC4486]) are added.
2008-12-24 17:24:41 +01:00
Ondrej Zajicek
591211557f
Fixes bug related to reconfiguration of BGP.
...
BGP keeps its copy of configuration ptr and didn't update it during
reconfiguration. But old configuration is freed during reconfiguration.
That leads to unnecessary reset of BGP connection during reconfiguration
(old conf is corrupted and therefore different) and possibly other strange
behavior.
2008-12-24 12:18:10 +01:00
Ondrej Zajicek
11b32d9117
Major changes to BGP
...
Fixes two race conditions causing crash of Bird, several unhandled
cases during BGP initialization, and some other bugs. Also changes
handling of startup delay to be more useful and implement
reporting of last error in 'show protocols' command.
2008-12-19 01:34:39 +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
1389f3699f
Fixes bugs in IPv6 code caused by recent commits.
2008-11-05 21:39:04 +01:00
Ondrej Zajicek
a39b165e45
Multihop BGP was completely broken, because listening socket has always
...
ttl 1.
2008-11-01 16:58:40 +01:00
Ondrej Zajicek
a92fe60717
Implementation of route server.
2008-11-01 12:55:43 +01:00
Ondrej Zajicek
e16466b379
Fix race condition that breaks BGP connections after reconfigure.
...
RFC says that only connections in OpenConfirm and Established state
should participate in connection collision detection.
The current implementation leads to race condition when both sides
are trying to connect at the almost same time, then both sides
receive OPEN message by different connections at the almost same
time and close the other connection. Both connections are
closed and the both sides end in start/idle or start/active
state.
2008-10-29 14:16:34 +01:00
Ondrej Zajicek
f0ad56f441
Fixes some sloppiness of commit a3b70dc499
.
2008-10-28 16:10:42 +01:00
Ondrej Zajicek
a98fbf0f12
Merge branch 'dev' into out
2008-10-27 00:20:22 +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 Zajicek
b6bf284a90
Bugfixes in MULIT_EXIT_DISC attribute handling.
...
- Old MED handling was completely different from behavior
specified in RFCs - for example they havn't been propagated
to neighboring areas.
- Update tie-breaking according to RFC 4271.
- Change default value for 'default bgp_med' configuration
option according to RFC 4271.
2008-10-26 22:59:21 +01:00
Ondrej Zajicek
4819c3e17a
Bugfix in LOCAL_PREF attribute handling.
2008-10-26 22:54:23 +01:00
Ondrej Zajicek
ba5ed6f3e4
Implementation of an option for disabling AS4 support per BGP instance.
2008-10-26 22:48:02 +01:00
Ondrej Zajicek
4847a894bf
Implementation of route reflection for BGP
2008-10-26 22:45:09 +01:00
Ondrej Zajicek
d51aa28190
Implementation of MD5 authentication of BGP sessions.
2008-10-26 22:42:39 +01:00
Ondrej Zajicek
11cb620266
Implementation of 4B ASN support for BGP
2008-10-26 22:36:08 +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
85ae398a61
The source address configuration in BGP added.
2008-08-24 23:20:46 +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
Ondrej Filip
6eb4b73fe8
Time of neighbor's dead was not shown correctly.
2005-02-20 03:30:44 +00:00
Ondrej Filip
5506c82ce6
Bugfix in previous bugfix.
2005-02-18 19:36:32 +00:00
Ondrej Filip
60e04f0413
Minor bugfix: Summary LSA for aggregated area was always propagated with
...
metric = 1. Now it's metric of most distant component.
2005-02-18 18:51:42 +00:00
Ondrej Filip
27a1e3ac35
Minor bugfixes in routing table calsulation.
2005-02-15 16:17:42 +00:00
Ondrej Filip
8ffc753441
Minor changes to keep gcc happy.
2005-02-15 06:32:31 +00:00
Ondrej Filip
2eef9e887a
Be more verbose in log.
2005-02-14 21:34:46 +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
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
bae7c43ff3
Bugfix in password acceptance
2005-02-12 22:19:46 +00:00
Ondrej Filip
9912fa51c8
Bugfix - cost of interface can be larger than 0xffff
2005-02-12 22:18:48 +00:00
Ondrej Filip
4991756863
Dont check netmask field on PTP links.
2004-09-15 19:33:01 +00:00
Ondrej Filip
c6dce04bed
Bugfix.
2004-09-08 16:04:02 +00:00
Ondrej Filip
7715f9d9ed
Bugfix in config.y
2004-08-10 17:47:32 +00:00
Ondrej Filip
56e2a4b776
Bugfix in OSPF - BIRD sometimes failed during rt calculation with VLINKs.
2004-08-05 18:06:30 +00:00
Ondrej Filip
8d94a524b6
Added handling of STUB bool.
2004-07-16 08:27:11 +00:00
Ondrej Filip
002ecc0638
Bugfix - bird needed double ';' after rfc1583compat.
2004-07-16 07:22:43 +00:00
Ondrej Filip
004cf4fc0c
Minor bugfix to compile bird in IPv6.
2004-07-15 17:28:13 +00:00
Ondrej Filip
b37bb5ce03
Minor bugfix - add interface routes.
2004-07-15 16:48:12 +00:00
Ondrej Filip
28e8d862b7
Minor bugfix in calculation of external routes.
2004-07-15 16:42:06 +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
a417ad13a1
Send hello just after interface is up.
...
This makes the adjacency forming faster.
Minor code clean up.
2004-07-13 23:42:14 +00:00
Ondrej Filip
897999c22a
Send hello as soon as possible after the interface is up.
...
This helps to faster establish the adjacency.
2004-07-13 23:31:37 +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
fe1489e6c1
Bugfix: Router was unable to advertise AS external routes.
2004-07-13 22:04:57 +00:00
Ondrej Filip
62eee82321
Default tick = 1. The today's CPU is fast enough.
2004-07-13 21:27:33 +00:00
Ondrej Filip
35fdf4b6a2
Don't inform us about every ospf_age()
2004-07-13 21:22:32 +00:00
Ondrej Filip
16c2d48d8f
Bugfix - RIP now updates routes with worse metric.
2004-07-13 20:53:56 +00:00
Ondrej Filip
bc956fcab6
MD5 authentication in OSPF works. :-)
2004-07-13 14:46:14 +00:00
Ondrej Filip
32d3228d86
Bugfix in simple authentification.
2004-07-13 13:52:54 +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
9baece57d3
Syntax bugfix.
2004-07-08 16:56:49 +00:00
Ondrej Filip
69b27ed6fd
Length calculation bugfix.
2004-07-01 15:01:44 +00:00
Ondrej Filip
bc4ea680ce
Hello reading bugfix.
2004-07-01 15:01:04 +00:00
Ondrej Filip
ea357b8b6d
Update of the documentation. (passwords and md5).
...
Option for md5 auth in config.
2004-06-26 22:52:39 +00:00
Ondrej Filip
3e2bd0f17a
Md5 authentification added (unsested).
...
Packet receiving clean up.
2004-06-26 20:15:34 +00:00
Ondrej Filip
5236fb03af
Password management redesigned (untested).
2004-06-26 20:11:14 +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
5ed68e46d7
Small typo changes.
2004-06-23 23:59:48 +00:00
Ondrej Filip
973cf09c3b
Hotfix to problem with metric change reported by Luca.
2004-06-23 21:36:55 +00:00
Ondrej Filip
3fe5f89907
P->magic used just in LOCAL_DEBUG mode
2004-06-23 21:34:26 +00:00
Ondrej Filip
b4d8a0c280
Some cisco routers send shorter ospf messages in larger packets.
...
Well it's strange, but, actually it's correct.
2004-06-16 23:01:49 +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
b1f7229ad7
Better adjacency building, some minor bugfixes.
2004-06-11 09:34:48 +00:00
Ondrej Filip
7df86c25fc
Better checking of configuration.
2004-06-09 12:39:49 +00:00
Ondrej Filip
e02652a7d2
Bugfix in RT calculation.
2004-06-07 16:42:48 +00:00
Ondrej Filip
541cbe9763
It was too verbose.
2004-06-07 12:52:32 +00:00
Ondrej Filip
5e3436d20f
Cleanup in packet.c. Deleted unused parameters.
2004-06-06 19:53:52 +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
d631698ec8
Indentation.
2004-06-06 14:27:11 +00:00
Ondrej Filip
d8d553cadf
This warning is stupid.
2004-06-06 14:25:55 +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
Ondrej Filip
a5918961f3
Be more verbose in troubles.
2004-06-06 08:12:42 +00:00
Ondrej Filip
66004c91a8
Set size of the buffers. (Thanx MJ.)
2004-06-05 15:02:52 +00:00
Martin Mares
9831e5916f
Staticized lots of local functions.
2004-06-05 09:58:23 +00:00
Martin Mares
598b984d1f
One less unused variable.
2004-06-05 09:58:06 +00:00
Martin Mares
189dab54a2
defaut' should be
default'.
2004-06-05 09:29:38 +00:00
Martin Mares
1512813e95
... and a whole bunch of unused parameters and variables in ospf.
2004-06-05 09:28:17 +00:00
Martin Mares
c91fc9b606
... and in rip (there are even unused functions!).
2004-06-05 09:27:49 +00:00
Martin Mares
662faa4afc
... in pipe.
2004-06-05 09:27:35 +00:00
Martin Mares
e21423bab8
... in BGP.
2004-06-05 09:27:17 +00:00
Martin Mares
c33d4cad9f
Moved the tests for socket existence here.
...
BTW, where do you exactly set the new buffer sizes?
2004-06-05 08:59:17 +00:00
Ondrej Filip
c6bdc78bef
Be more verbose.
2004-06-04 21:19:47 +00:00
Ondrej Filip
6f3203fabf
cleanup in lsupd.c, indenting, "struct proto" removed...
2004-06-04 21:05:43 +00:00
Ondrej Filip
9b7de4c4d1
'struct proto' removed
...
Finally, I found the bug reported by Andreas Steinmetz. FIXED.
2004-06-04 20:41:02 +00:00
Ondrej Filip
54467ed46b
Useless logs removed.
2004-06-04 19:53:36 +00:00
Ondrej Filip
551e30886d
Bugfix in last patch.
2004-06-04 19:21:19 +00:00
Ondrej Filip
e7ef86a58c
OSPF is ready for changing MTU.
2004-06-04 18:51:29 +00:00
Ondrej Filip
f158bb710b
no comment
2004-06-04 18:24:15 +00:00
Ondrej Filip
12bed559ff
dbdes indent an minor changes.
2004-06-04 17:49:25 +00:00
Ondrej Filip
874654076a
better log() usage.
2004-06-04 17:31:03 +00:00
Ondrej Filip
27f49a2c3c
lsreq.c indented and small 'struct proto' changes.
2004-06-04 17:28:41 +00:00
Ondrej Filip
77539c4471
hello.* reindented, code cleanup.
2004-06-04 17:12:27 +00:00
Ondrej Filip
8e15e048f2
Deleted useles "struct proto" sending.
2004-06-04 17:05:24 +00:00
Ondrej Filip
7a03e29d5c
Better log() usage.
2004-06-04 16:56:54 +00:00
Ondrej Filip
fb9bf6888c
Indented. No other change.
2004-06-04 16:55:53 +00:00
Ondrej Filip
c76ba51a5f
lsack.c cleaned. Better names for functions and
...
DIRECT acks can be sent in one packet now.
2004-06-04 16:30:04 +00:00