Commit graph

3036 commits

Author SHA1 Message Date
Ondrej Zajicek
c429d4a4ba Restrict export of device routes to the kernel protocol.
In usual configuration, such export is already restricted
with the aid of the direct protocol but there are some
races that can circumvent it. This makes it harder to
break kernel device routes. Also adds an option to
disable this restriction.
2010-04-04 15:41:31 +02:00
Ondrej Zajicek
d2d2b5d2ae Ignore some kernel messages. 2010-04-03 16:51:33 +02:00
Ondrej Zajicek
44aa101cd0 Fixes related to routes with link-local gw on BSD. 2010-04-03 11:42:18 +02:00
Ondrej Zajicek
46a82e9c2c Fixes missing header. 2010-04-03 10:45:21 +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
97ab4c3498 Fixes link-local addresses on BSD. 2010-04-02 11:36:38 +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
eb0f129fce Merge branch 'socket2' into new 2010-03-26 18:53:31 +01: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
b1c030b0ba Adds autoconf test for -Wno-pointer-sign compliler option. 2010-03-24 16:39:18 +01:00
Ondrej Zajicek
4d9a0d1f02 Update lastmod in 'ignored' case only for RIP routes. 2010-03-24 10:42:25 +01:00
Ondrej Zajicek
885b3d6127 Fixes LLS compatibility. 2010-03-22 14:00:47 +01:00
Ondrej Zajicek
5d53b80770 Allow iface pattern matching code to match peer address on ptp links. 2010-03-19 18:46:56 +01:00
Ondrej Zajicek
aa46124804 Clear local variables in filters and functions.
Fixes crash when used uninitialized variables.
This problem was surprisingly tricky to fix.
2010-03-19 09:41:18 +01:00
Ondrej Zajicek
74e9331fe0 Fixes behavior of defined() on bgp_community attribute. 2010-03-18 00:10:35 +01:00
Ondrej Zajicek
1528d30aeb Fixes unterminated string for atomic_aggr attribute formatting. 2010-03-17 23:17:55 +01:00
Ondrej Zajicek
97e46d28ff Adds check for no protocol and some minor CLI fixes.
- Adds check to deny config file with no specified protocol to prevent
  loading of empty config file.
- Moves CLI init before config parse to receive immediate error message
  when cannot open control socket.
- Fixes socket name path check and other error handling in CLI init.
2010-03-17 12:19:22 +01:00
Ondrej Zajicek
4e3bfd9006 Merge commit 'origin/master' into new 2010-03-15 00:39:45 +01:00
Ondrej Zajicek
e8da1bd0b5 Fixes missing cases in filters. 2010-03-15 00:34:44 +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
afa9f66c27 Adds support for PTP links on BSD. 2010-03-10 01:04:09 +01:00
Ondrej Filip
cda2dfb7a9 Arnold from DE-CIX suggested to have this formulation more precise. 2010-03-08 00:05:37 +01:00
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
212ff33582 Fixes signedness in format route attributes. 2010-02-26 13:55:22 +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
9e43ccf07b Merge commit 'origin/master' into new 2010-02-21 10:15:49 +01:00
Ondrej Zajicek
e285bd236e Fixes installation (missing /usr/local/var/run). 2010-02-21 10:14:41 +01:00
Ondrej Zajicek
e0a45fb421 Restricted read-only CLI.
Also adds support for executing commands using birdc <cmd>.
2010-02-21 09:57:26 +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 Filip
a68066538f Minor typos in configuration example. 2010-02-20 21:09:40 +01:00
Ondrej Zajicek
e304fd4bcf Implements pattern match for 'show protocols' command.
And generally consolidates protocol commands.
2010-02-20 00:08:07 +01:00
Ondrej Zajicek
dfd48621d1 Replaces the algorithm for building balanced trees.
Changes the time complexity of the algorithm from O(n^2) to O(n*log(n)).
This speeds up loading of huge DEC-IX config from 128 s to 15 s. It also
makes the code significantly simpler.
2010-02-17 22:11:42 +01:00
Ondrej Zajicek
14f6aca480 Changes right recursion to left in the grammar of the case expression. 2010-02-17 11:29:48 +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 Filip
fa5a99c766 NEWS version update. 2010-02-10 23:09:23 +01:00
Ondrej Zajicek
75f8861898 NEWS and version update. 2010-02-10 16:18:17 +01:00
Ondrej Zajicek
fae9be7782 Merge commit 'origin/master' into new 2010-02-10 14:59:26 +01:00
Ondrej Zajicek
7d1966689f RTF_CLONING is removed in FreeBSD 8. 2010-02-10 14:57:16 +01:00