1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

31 Commits

Author SHA1 Message Date
b662290f40 Separate import and receive limits.
They have different behavior w.r.t. filtered routes that are kept.
2013-01-10 13:07:33 +01:00
d9b77cc281 Implements generalized export limits.
And also fixes some minor bugs in limits.
2012-04-24 23:39:57 +02:00
7d0a31deed Fixes in generalized import limits. 2012-04-21 21:05:36 +02:00
ebecb6f6a1 Implements generalized import hooks.
Thanks to Alexander V. Chernikov for the original patch.
2012-04-15 15:28:29 +02:00
c0adf7e9fc Better support for multitable protocols.
The nest-protocol interaction is changed to better handle multitable
protocols. Multitable protocols now declare that by 'multitable' field,
which tells nest that a protocol handles things related to proto-rtable
interaction (table locking, announce hook adding, reconfiguration of
filters) itself.

Filters and stats are moved to announce hooks, a protocol could have
different filters and stats to different tables.

The patch is based on one from Alexander V. Chernikov, thanks.
2012-03-15 12:13:04 +01:00
39c028e9e9 Assign default protocol preference via proto_config_new().
The patch from Alexander V. Chernikov.
2012-01-24 11:31:00 +01:00
a7f23f581f Implements protocol templates.
Based on the patch from Alexander V. Chernikov.
Extended to support almost all protocols.
Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-11-07 00:31:23 +01:00
cfe34a316e Implements hostcache and recursive next hops.
Hostcache is a structure for monitoring changes in a routing table that
is used for routes with dynamic/recursive next hops. This is needed for
proper iBGP next hop handling.
2010-07-05 17:50:19 +02:00
e81b440f68 Fix configure to enable warnings and fix most of them. 2010-02-21 14:34:53 +01:00
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
9db74169be Fixes protocol statistics for pipes. 2010-02-13 10:44:46 +01:00
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
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
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
1a5178587f Fixes unnecessary pipe restart during configure. 2009-12-20 12:13:15 +01:00
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
0781e9c62c Fixes preference in transparent pipes. 2009-09-17 12:40:02 +02:00
f98e291579 The pipe cleanup. 2009-06-01 14:07:13 +02:00
2d45e09f58 Adds opaque/transparent pipe mode selection. 2009-06-01 12:10:10 +02:00
23ac9e9a9e Changes pipes to transfer all routes between routing table, not just optimal routes. 2009-05-31 15:24:27 +02:00
662faa4afc ... in pipe. 2004-06-05 09:27:35 +00:00
3b31c53833 Documented all the trivial protocols. 2000-06-04 16:15:37 +00:00
fcb5f4a725 Updated all the Doc files to new format. 2000-05-31 11:30:18 +00:00
02bd064ab7 Adapted to new rt_notify semantics. 2000-05-13 11:02:02 +00:00
ab1129c1bd Added skeleton Doc files for the whole developer's documentation. 2000-05-05 17:17:42 +00:00
6b9fa32080 Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
several debug() calls converted to DBG().
2000-03-12 21:01:38 +00:00
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
0ec90e9fc6 Pipe protocol supports reconfiguration. 2000-01-17 00:20:45 +00:00
50fe90edf3 First attempt on dynamic reconfiguration. There are still lots of bugs
and problems to solve, but the hardest part works.
2000-01-16 16:44:50 +00:00
3daf783f95 Implemented get_status for the pipe protocol (reports name of the other
side of the pipe).

Please do so for your protocols as well.
1999-12-01 12:01:41 +00:00
55e06729b1 Forgot to do a `cvs add', grr. 1999-08-03 19:57:43 +00:00