Ondrej Zajicek
53434e44a9
Better flushing of interfaces.
...
When device protocol goes down, interfaces should be flushed
asynchronously (in the same way like routes from protocols are flushed),
when protocol goes to DOWN/HUNGRY.
This fixes the problem with static routes staying in kernel routing
table after BIRD shutdown.
2010-02-27 16:00:07 +01:00
Ondrej Zajicek
3075824dbd
Comparing cluster list length should be later in bgp_rte_better().
2010-02-26 14:09: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 Filip
89534cdae5
'rr client id' is not expression but ID (like router id).
2010-02-20 21:14:02 +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
9db74169be
Fixes protocol statistics for pipes.
2010-02-13 10:44:46 +01:00
Ondrej Zajicek
c83876265e
Fixes a tricky bug in the pipe protocol.
...
When uncofiguring the pipe and the peer table, the peer table was
unlocked when pipe protocol state changed to down/flushing and not to
down/hungry. This leads to the removal of the peer table before
the routes from the pipe were flushed.
The fix leads to adding some pipe-specific hacks to the nest,
but this seems inevitable.
2010-02-11 22:27:06 +01:00
Ondrej Zajicek
a2ea1bac60
Moves errno.h include.
2010-02-11 21:19:20 +01:00
Ondrej Zajicek
2af25a971a
Fixes a crash caused by missing error hook on BGP listening socket.
...
Error happened when too many BGP connections arrived in one moment
(ECONNABORTED).
2010-02-11 11:12:58 +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
44f26560ec
Workaround for some broken BGP implementations that skip initial KEEPALIVE.
2010-02-02 10:14:21 +01:00
Ondrej Zajicek
41677025ee
Changes 'ignore communities' to 'interpret communities'.
2010-01-28 15:59:18 +01:00
Ondrej Zajicek
6cb8f742f1
Better handling of well-known communities.
...
Process well-known communities before the export filter (old behavior is
to process these attributes after, which does not allow to send route
with such community) and just for routes received from other BGP
protocols. Also fixes a bug in next_hop check.
2010-01-27 17:22:57 +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
c4ae53858b
Change default mode of pipes to transparent.
...
Opaque pipes are obsolete and should disappear in the future.
2009-12-21 11:53:58 +01:00
Ondrej Zajicek
fbcb7d5faf
Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277).
2009-12-21 11:50:42 +01:00
Ondrej Zajicek
ba9a122142
Merge branch 'ospf3' into new
2009-12-20 22:57:44 +01:00
Ondrej Zajicek
c4199e3031
Merge branch 'dev' into ospf3
2009-12-20 22:56:09 +01:00
Ondrej Zajicek
ea7ada3809
Fixes a new bug in the pipe protocol soft reconfiguration.
...
Also updates route reload for pipes.
2009-12-20 14:59:12 +01:00
Ondrej Zajicek
1a5178587f
Fixes unnecessary pipe restart during configure.
2009-12-20 12:13:15 +01:00
Ondrej Zajicek
0225ea4edd
Merge branch 'ospf3' into new
2009-12-15 00:32:13 +01:00
Ondrej Zajicek
f2d7da742b
Fixes export of routes with link-local gw.
2009-12-15 00:30:07 +01:00
Ondrej Zajicek
43c1ceccb9
Remove bgp_as4_support variable.
2009-12-14 23:31:25 +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
11787b8473
Fixes some problems in pipes.
...
For transparent pipes, loop detection works correctly now.
Pipes are now more symmetric - in both directions filtering
is done in do_rte_announce().
2009-12-02 17:26:16 +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
bf47fe4b2e
Implements BGP route refresh.
2009-11-26 20:47:59 +01:00
Ondrej Zajicek
3f9b7bfe9f
Implements option that controls IPv6 BGP next hops when lladdr is missing.
2009-11-18 20:32:36 +01:00
Ondrej Zajicek
d0e2d6d1e0
Show both IPv6 next hop addresses in BGP.
2009-11-17 14:17:23 +01:00
Ondrej Zajicek
3228c72cc0
Implements RFC 5004 - prefer older external routes.
2009-11-17 11:41:29 +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
4cdd078453
Implements protocol-specific router id and updates documentation.
2009-10-12 23:31:42 +02:00
Ondrej Zajicek
52b9b2a178
Rename as_path_get_last/as_path_get_first to be consistent.
2009-10-12 20:44:58 +02:00
Ondrej Zajicek
ea89da381f
Workaround for stupid callback scheduler.
...
There is no reak callback scheduler and previous behavior causes
bad things during hard congestion (like BGP hold timeouts).
Smart callback scheduler is still missing, but main loop was
changed such that it first processes all tx callbacks (which
are fast enough) (but max 4* per socket) + rx callbacks for CLI,
and in the second phase it processes one rx callback per
socket up to four sockets (as rx callback can be slow when
there are too many protocols, because route redistribution
is done synchronously inside rx callback). If there is event
callback ready, second phase is skipped in 90% of iterations
(to speed up CLI during congestion).
2009-10-11 18:56:16 +02:00
Ondrej Zajicek
d82fc18d75
Implement proper LSA ID generation.
2009-10-07 21:10:29 +01:00
Ondrej Zajicek
a5bf5f781c
Show bad peer AS number in log in decimal.
2009-09-24 23:14:44 +02:00
Ondrej Zajicek
be6e39ebbf
Passive option.
2009-09-24 22:12:11 +02:00
Ondrej Zajicek
54fe0d9230
Fixes setting of IP addresses to route attributes (NEXT_HOP).
2009-09-18 13:59:04 +02:00
Ondrej Zajicek
46eb80d5d5
Fixes headers for uintptr_t (and build on NetBSD).
2009-09-17 17:52:36 +02:00
Ondrej Zajicek
0781e9c62c
Fixes preference in transparent pipes.
2009-09-17 12:40:02 +02: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
949bd34e81
Fixes bug related to AS2->AS4 conversion.
2009-08-25 19:01:37 +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
70670bf317
Fixed bug related to reconfiguration of BGP with MD5 passwords.
2009-07-09 15:42:39 +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
d72cdff411
Replace 'bind' option with 'listen' option.
...
To be consistent with other daemons.
2009-06-23 11:08:30 +02:00
Ondrej Zajicek
da95a7a7da
Fixes bug in ORIGIN check.
2009-06-23 11:00:38 +02:00
Ondrej Zajicek
29c430f856
Changes handling of AS_PATH_CONFED_* segments in AS_PATH.
...
Although standard says that if we receive AS_PATH_CONFED_*
(and we are not a part of a confederation) segment, we should
drop session, nobody does that and it is unwise to do that.
Now we drop session just in case that peer ASN is in
AS_PATH_CONFED_* segment (to detect peer that considers BIRD
as a part of its confederation).
2009-06-23 10:50:57 +02:00
Ondrej Zajicek
789772ed45
Implements option that changes BGP listening socket parametres.
2009-06-18 19:20:07 +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
b99d378698
Minor BGP changes related to error wait time.
2009-06-07 00:38:38 +02:00
Ondrej Zajicek
7238262671
Fixes bug related to startup delay change.
2009-06-06 18:56:33 +02:00
Ondrej Zajicek
dd91e46765
Differentiate between error delay and connect/reconnect delay.
...
The difference is here to reject incoming connections in the
first case.
2009-06-06 18:16:22 +02:00