Ondrej Zajicek
9135c1f0ca
Fixes bug in protocol flushing and rtable pruning.
...
When route was propagated to another rtable through a pipe and then the
pipe was reconfigured softly in such a way that any subsequent route
updates are filtered, then the source protocol shutdown didn't clean up
the route in the second rtable which caused stale routes and potential
crashes.
2013-07-24 14:11:12 +02:00
Ondrej Zajicek
cc31b75a8f
Implements 'bgppath ~ int set' filter op.
2013-07-09 23:27:10 +02:00
Ondrej Zajicek
ef4a50be10
Better packet priority and traffic class handling.
...
Implements support for IPv6 traffic class, sets higher priority for OSPF
and RIP outgoing packets by default and allows to configure ToS/DS/TClass
IP header field and the local priority of outgoing packets.
2013-06-24 16:37:30 +02:00
Ondrej Zajicek
fad04c750c
Fixes problems with kernel routes multiple routing tables.
...
Temporary dummy routes created by a kernel protocol during routing table
scan get mixed with real routes propagated from another kernel protocol
through a pipe.
2013-06-13 11:27:14 +02:00
Ondrej Zajicek
cd3b02d198
Allows IP of loopback to be used in automatic router ID selection.
...
Thanks to Alexander V. Chernikov for the patch.
2013-04-16 17:53:22 +02:00
Ondrej Filip
e667622a35
Default rounting table for 'show route export/preexport/protocol' is the one related to a respective protocol.
2013-02-25 10:39:46 +01:00
Ondrej Filip
9d969be5f2
I still believe that 0 == NULL, however this patch will make Santiago happy. :-)
2013-02-14 23:35:51 +01:00
Ondrej Filip
0bc3542ab6
Route limits can be disabled - this makes sense for protocol templates
2013-02-10 19:06:56 +01:00
Ondrej Zajicek
36da2857bc
Implements router advertisements activated by received routes.
...
The RAdv protocol could be configured to change its behavior based on
availability of routes, e.g., do not announce router lifetime when a
default route is not available.
2013-02-08 23:58:27 +01:00
Ondrej Zajicek
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
Ondrej Zajicek
79b4e12e60
Implements interface masks for choosing router id.
...
Router ID could be automatically determined based of subset of
ifaces/addresses specified by 'router id from' option. The patch also
does some minor changes related to router ID reconfiguration.
Thanks to Alexander V. Chernikov for most of the work.
2012-12-27 12:56:23 +01:00
Ondrej Zajicek
a92cf57dd6
Implements undo command and optional timeout for configuration
...
Several new configure command variants:
configure undo - undo last reconfiguration
configure timeout - configure with scheduled undo if not confirmed in timeout
configure confirm - confirm last configuration
configure check - just parse and validate config file
2012-12-26 12:40:48 +01:00
Ondrej Zajicek
7057752924
Fixes route tracing w.r.t. kept filtered routes.
2012-11-16 13:29:16 +01:00
Ondrej Zajicek
1555095795
Changes 'rejected' to 'filtered' in one of the last patches.
2012-11-15 01:29:01 +01:00
Ondrej Zajicek
cf98be7b67
Allows rejected routes to be kept and examined.
...
When 'import keep rejected' protocol option is activated, routes
rejected by the import filter are kept in the routing table, but they
are hidden and not propagated to other protocols. It is possible to
examine them using 'show route rejected'.
2012-11-10 14:26:13 +01:00
Ondrej Zajicek
8ecbaf9c70
Fixes a bug with neighbor cache and overlapping IP prefixes.
...
When there are overlapping IP prefixes and one disappears,
neighbors associated with it was removed even if there
is another covering IP prefix.
2012-08-16 13:09:26 +02:00
Ondrej Zajicek
094d2bdb79
Implements ADD-PATH extension for BGP.
...
Allows to send and receive multiple routes for one network by one BGP
session. Also contains necessary core changes to support this (routing
tables accepting several routes for one network from one protocol).
It needs some more cleanup before merging to the master branch.
2012-08-14 16:46:43 +02:00
Ondrej Zajicek
5400c0e7f9
Fixes BGP subcode during global shutdown.
2012-08-06 02:42:24 +02:00
Ondrej Zajicek
36415e4b1d
Allows to redefine master table.
2012-07-20 19:56:57 +02:00
Ondrej Zajicek
4be266a983
Implements wildcard matching in config file include.
...
Also fixes some minor bugs in include.
Thanks Kelly Cochran for suggestion and draft patch.
2012-07-18 19:29:33 +02:00
Ondrej Zajicek
abced4a914
Merge branch 'rt-accepted'
...
Conflicts:
nest/config.Y
nest/rt-table.c
proto/bgp/bgp.c
2012-07-16 14:44:45 +02:00
Ondrej Zajicek
26822d8fe1
Finalize RA_ACCEPTED handling.
2012-07-16 01:33:02 +02:00
Ondrej Zajicek
47c447c42e
Minor cleanups.
2012-05-11 12:10:21 +02:00
Ondrej Zajicek
b7f3df7905
Fixes a bug in RA_ACCEPTED handling.
2012-05-11 12:01:27 +02:00
Ondrej Zajicek
f1aceff59b
Cleanup in sysdep KRT code, part 2.
...
Remove support for historic Linux kernels,
merge krt-iface, krt-set and krt-scan stub headers.
2012-04-30 22:25:24 +02:00
Ondrej Zajicek
bf42207332
Changes keyword 'exceed' to 'action'.
2012-04-28 13:18:39 +02:00
Ondrej Zajicek
ab758e4fb2
Some fixes in route export limits.
2012-04-28 12:59:40 +02:00
Ondrej Zajicek
d494df63ac
Some minor fixes.
2012-04-27 00:04:51 +02:00
Ondrej Zajicek
d9b77cc281
Implements generalized export limits.
...
And also fixes some minor bugs in limits.
2012-04-24 23:39:57 +02:00
Ondrej Zajicek
7d0a31deed
Fixes in generalized import limits.
2012-04-21 21:05:36 +02:00
Ondrej Zajicek
ebecb6f6a1
Implements generalized import hooks.
...
Thanks to Alexander V. Chernikov for the original patch.
2012-04-15 15:28:29 +02:00
Ondrej Zajicek
00a09f3c36
Implement RA_ACCEPTED mode of route propagation.
2012-04-15 15:07:58 +02:00
Ondrej Zajicek
bf2abe2f51
Merge branch 'soon'
...
Conflicts:
nest/proto.c
nest/rt-table.c
2012-03-30 11:04:12 +02:00
Ondrej Zajicek
fb829de690
Fixes responsiveness for protocol shutdown.
...
When a protocol went down, all its routes were flushed in one step, that
may block BIRD for too much time. The patch fixes that by limiting
maximum number of routes flushed in one step.
2012-03-28 18:40:04 +02:00
Ondrej Zajicek
c47d037ecb
Some minor changes to CLI.
2012-03-22 12:13:26 +01:00
Ondrej Zajicek
af582c4811
Route Origin Authorization basics.
...
- ROA tables, which are used as a basic part for RPKI.
- Commands for examining and modifying ROA tables.
- Filter operators based on ROA tables consistent with RFC 6483.
2012-03-18 17:32:30 +01:00
Ondrej Zajicek
0f808c066f
Adds filtering to 'show symbols' command.
...
Thanks Alexander V. Chernikov for the original patch.
2012-03-16 12:47:12 +01:00
Ondrej Zajicek
0888a737b0
Extends set operations in filters.
...
Allows add/filter/delete clist on clist (set algebra on clists).
Allows number ~ bgppath match.
2012-03-15 21:07:58 +01:00
Ondrej Zajicek
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
Ondrej Zajicek
39c028e9e9
Assign default protocol preference via proto_config_new().
...
The patch from Alexander V. Chernikov.
2012-01-24 11:31:00 +01:00
Ondrej Zajicek
09686693d3
Implements handling of BSD iface arrival/departure notifications.
...
Thanks to Alexander V. Chernikov for original patch.
2012-01-23 03:15:12 +01:00
Ondrej Zajicek
732a0a257d
Fixes problems with creating/removing/renaming ifaces on BSD.
2012-01-23 01:26:40 +01:00
Ondrej Zajicek
bc09257117
Fixes another minor bug in iface scan.
...
Iface flags are not updated in some cases.
2012-01-21 22:56:16 +01:00
Ondrej Zajicek
69a8259c5e
Allows sticky link-local neighbors.
...
Allows using NEF_STICKY neighbors with link-local addresses. This is
used for static route nexthops, they can be specified like fe80::1%eth0
.
2012-01-01 12:14:42 +01:00
Ondrej Zajicek
be4cd99a36
Implements deterministic MED handling.
...
Thanks to Alexander V. Chernikov for many suggestions.
2011-12-22 13:20:29 +01:00
Ondrej Zajicek
cf7f064531
Fixes problem with sticky neighbors and iface address changes.
...
Thanks Matthias Schiffer for the bugreport and the original patch.
2011-12-12 00:24:15 +01:00
Ondrej Zajicek
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
Ondrej Zajicek
9b7fdfc84a
Fixes for include.
2011-10-10 01:41:08 +02:00
Ondrej Zajicek
32f95476a8
Signal problems with route installation to kernel tables.
2011-10-06 22:48:49 +02:00
Ondrej Zajicek
bf6d91dc4e
Use undefined scope for undefined IPv6 addresses.
2011-09-24 11:06:42 +02:00
Ondrej Filip
48ec367aab
Configuration can include other files.
2011-09-11 21:21:47 +02:00
Ondrej Zajicek
a52d52fa91
Fixes some missing tabs.
...
They unintentionally disappeared in 1.3.2.
2011-08-15 20:54:58 +02:00
Ondrej Zajicek
42a0c05408
BGP Extended communities.
2011-08-14 13:55:02 +02:00
Ondrej Zajicek
fdf16eb658
Prints full community lists during 'show route all'.
2011-07-03 19:43:30 +02:00
Ondrej Zajicek
6370d6f61b
Fix route types in rta_show().
2011-06-26 22:32:05 +02:00
Ondrej Zajicek
23fd464447
Fixes a bug related to protocol enabling and reconfigure.
...
When a protocol was enabled interactively (but disabled in the config
file), then reconfigure in some cases forgets to disable it.
2011-06-20 20:35:59 +02:00
Ondrej Zajicek
5e9bdac28e
Fixes a bug with setting preference during show route cmd.
...
If show route cmd was used with a filter that changed preference,
BIRD crashed.
2011-05-21 22:48:08 +02:00
Ondrej Filip
b7c4898106
Compilation was failing without OSPF or RIP protocol - FIXED.
2011-05-05 14:14:20 +02:00
Ondrej Zajicek
a506476acd
There may be more IP address records with the same IP.
2011-05-01 18:42:32 +02:00
Ondrej Zajicek
71ca77169d
Adds support for several Linux kernel route attributes.
2011-04-13 12:32:27 +02:00
Ondrej Zajicek
489c308a75
Minor fixes.
2011-04-05 11:41:18 +02:00
Ondrej Zajicek
4ef0950603
Fixes a problem with BGP protocols and implicit router IDs.
2011-04-01 13:55:52 +02:00
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
93e868c730
Implements Router Advertisement protocol.
2011-03-13 11:33:50 +01:00
Ondrej Zajicek
9d67ffb0b4
Fixes scope for sticky neighbors.
2011-01-08 19:34:12 +01:00
Ondrej Zajicek
8cab377d92
Remove unnecessary check.
2010-12-22 23:33:40 +01:00
Ondrej Zajicek
7e95c05d88
Core multipath support.
2010-12-07 23:33:55 +01:00
Ondrej Zajicek
01427d3f2b
Remove some runaway debug messages and typos.
2010-11-19 18:03:27 +01:00
Ondrej Zajicek
fe181e7c63
Adds support for iface link check to static protocol.
2010-11-11 12:24:27 +01:00
Ondrej Zajicek
f25cb0ef9f
Implements link state detection.
...
Also changes some symbol names (IFF_ADMIN_DOWN -> IFF_SHUTDOWN,
IFF_LINK_UP -> IFF_ADMIN_UP).
2010-11-11 10:03:02 +01:00
Ondrej Zajicek
fcf5a4f4b3
Change default for BGP IPv6 socket to V6ONLY.
...
Also add a new option 'dual' for the old behavior.
2010-11-03 10:02:24 +01:00
Ondrej Zajicek
4ca93a5067
Fixes a one byte buffer overflow.
2010-09-08 12:08:38 +02:00
Ondrej Zajicek
2c9033afd5
Do not allow interdependent recursive routes.
2010-08-03 08:26:47 +02:00
Ondrej Zajicek
ba5e5940aa
Adds igp_metric attribute.
2010-08-02 13:11:53 +02:00
Ondrej Zajicek
d1e146f2f8
Implements IGP metric comparison for BGP routes.
2010-07-31 01:04:32 +02:00
Ondrej Zajicek
1b180121a9
Use link-local addresses in recursive next hops for IPv6 BGP.
2010-07-28 11:45:35 +02:00
Ondrej Zajicek
c477f48916
Hostcache should use trie to filter relevant route changes.
2010-07-27 18:20:12 +02:00
Ondrej Zajicek
f2b76f2c45
For hostentry cache, replace FIB with a hash table using (IP, dep table) as a key.
2010-07-26 16:39:27 +02:00
Ondrej Zajicek
852b7062e3
Fixes a buffer overflow in TX code of IPv6 BGP.
2010-07-22 15:09:35 +02:00
Ondrej Zajicek
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
Ondrej Zajicek
acb60628f5
Implements command that shows memory usage.
2010-06-02 22:20:40 +02:00
Ondrej Zajicek
0267f49fb2
Do not add community if it is already in clist.
2010-05-14 15:24:53 +02:00
Ondrej Zajicek
ba32170657
Better support for /31 networks.
2010-04-28 00:39:57 +02:00
Ondrej Filip
ba13017254
Avoid warning if not compiled with pipes.
2010-04-27 11:27:54 +02:00
Ondrej Zajicek
b8113a5e92
Implements BGP 'show protocols' info details.
2010-04-07 00:19:23 +02:00
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
eb0f129fce
Merge branch 'socket2' into new
2010-03-26 18:53:31 +01:00
Ondrej Zajicek
4d9a0d1f02
Update lastmod in 'ignored' case only for RIP routes.
2010-03-24 10:42:25 +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
1528d30aeb
Fixes unterminated string for atomic_aggr attribute formatting.
2010-03-17 23:17:55 +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
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
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
e0a45fb421
Restricted read-only CLI.
...
Also adds support for executing commands using birdc <cmd>.
2010-02-21 09:57:26 +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