| Branch: | Revision:

iof-bird-daemon / conf @ c8cafc8e

# Date Author Comment
c8cafc8e 11/08/2016 04:46 PM Ondrej Zajicek (work)

Minor code cleanups

3e236955 11/01/2016 01:52 PM Jan Moskyto Matejka

Build: switch on -Wextra, get rid of most of the warnings

There are several unresolved -Wmissing-field-initializers on older
versions of GCC than 5.1, all of them false positive.

768d5e10 09/21/2016 11:35 AM Pavel Tvrdik

Add !~ operator to filter grammar

61e67253 08/16/2016 07:23 AM Ondřej Surý

Include <stdint.h> in cf-lex.l to avoid UINTx_MAX redefinition

8f01879c 06/27/2016 01:07 PM Pavel Tvrdík

cppcheck: fix va_end() functions

8e433d6a 05/12/2016 01:49 PM Pavel Tvrdik

Prog Doc: Complete several missing parameters

9b9a7143 11/08/2015 11:42 PM Ondrej Zajicek (work)

Conf: Fixes bug in symbol lookup during reconfiguration

Symbol lookup by cf_find_symbol() not only did the lookup but also added
new void symbols allocated from cfg_mem linpool, which gets broken when
lookups are done outside of config parsing, which may lead to crashes...

ae80a2de 06/08/2015 12:24 AM Pavel Tvrdík

unsigned [int] -> uint

8bcb5fb1 03/02/2015 08:41 AM Ondrej Zajicek

Implement latency tracking, internal event log and watchdog

a1beb8f3 02/22/2015 12:50 PM Ondrej Zajicek

Relax BGP neighbor parameter

Permit specifying neighbor address, AS number and port independently.
Add 'interface' parameter for specifying interface for link-local
sessions independently.

Thanks to Alexander V. Chernikov for the original patch.

bc7f4e0e 02/21/2015 11:42 AM Ondrej Zajicek

Bump max symbol length to 64.

And move the constant to conf.h header.

Thanks to Alexander Chernikov for the patch.

88a183c6 10/24/2014 09:11 AM Ondrej Zajicek

Integrated IP functions.

dcde7ae5 10/02/2014 10:52 AM Ondrej Zajicek

Allows to configure different remote port for BGP sessions.

Thanks to João Taveira Araújo for the original patch.

b2f00837 10/02/2014 10:52 AM Ondrej Zajicek

Allows more constants in set literals.

Thanks to Michael Fincham for the bugreport.

9eceab33 05/29/2014 09:05 PM Ondrej Zajicek

String constants could be used for string option values.

Thanks to Frederik Kriewitz for the patch.

0c3d9dac 03/25/2014 01:58 PM Ondrej Zajicek

Fixes file descriptor leak when parser ends with error.

Thanks to MrBr for the bugreport.

0c791f87 03/20/2014 01:07 PM Ondrej Zajicek

BGP graceful restart support.

Also significant core protocol state changes needed for that,
global graceful restart recovery state and kernel proto support
for recovery.

90eb5e7a 11/25/2013 12:44 PM Ondrej Zajicek

Use ISO 8601 timeformats by default.

0aeac9cb 11/22/2013 01:48 AM Ondrej Zajicek

Merge commit 'origin/bfd'

0e175f9f 10/05/2013 06:12 PM Ondrej Zajicek

Fixes some BFD bugs and makes logging thread-safe.

6a8d3f1c 09/16/2013 09:57 PM Ondrej Zajicek

BFD work in progress.

Now it compiles and mostly works.

1f64a487 08/15/2013 11:29 AM Ondrej Filip

Symbol names enclosed by apostrophes can contain colons.

1103b32e 07/25/2013 08:33 PM Ondrej Zajicek

Allows to define constants of all filter types.

8c4da7e0 02/10/2013 06:17 PM Ondrej Filip

Symbol names enclosed by apostrophes can contain DOTs.

79b4e12e 12/27/2012 11:56 AM Ondrej Zajicek

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.

a92cf57d 12/26/2012 11:40 AM Ondrej Zajicek

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...

4be266a9 07/18/2012 05:29 PM Ondrej Zajicek

Implements wildcard matching in config file include.

Also fixes some minor bugs in include.

Thanks Kelly Cochran for suggestion and draft patch.

af582c48 03/18/2012 04:32 PM Ondrej Zajicek

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.
0f808c06 03/16/2012 11:47 AM Ondrej Zajicek

Adds filtering to 'show symbols' command.

Thanks Alexander V. Chernikov for the original patch.

20ab192b 03/16/2012 11:12 AM Ondrej Zajicek

Adds filtering to 'show ospf lsadb' command.

Thanks Alexander V. Chernikov for the original patch.

69a8259c 01/01/2012 11:14 AM Ondrej Zajicek

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

c32c3f88 12/22/2011 12:44 PM Ondrej Zajicek

Fixes parsing larger numbers on 64bit platforms.

60fd666b 11/10/2011 08:22 AM Ondrej Zajicek

Fixes missing header.

a7f23f58 11/06/2011 11:31 PM Ondrej Zajicek

Implements protocol templates.

Based on the patch from Alexander V. Chernikov.
Extended to support almost all protocols.
Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.

9b7fdfc8 10/09/2011 11:41 PM Ondrej Zajicek

Fixes for include.

48ec367a 09/11/2011 07:21 PM Ondrej Filip

Configuration can include other files.

b8cc390e 05/06/2011 08:00 PM Ondrej Zajicek

Fixes several problems in filter syntax.

- Fixes several conflicts in the grammar.
- Fixes a bug in (a..b, c) pair patterns.
- Makes pair patterns orthogonal.
- Allows term expressions in pair patterns without additional ( ).
- Allows several comma separated values in switch cases.
26d92bb8 03/23/2011 11:49 AM Ondrej Zajicek

A hack to distinguish if..else from else: in case.

The old BIRD grammar needs two lookaheads to distinguish if..else from
else: in case, which caused the parser to fail on some combinations of
both expressions.

This patch replaces two tokens 'else' ':' by one token 'else:' to fix...

93e868c7 03/13/2011 10:33 AM Ondrej Zajicek

Implements Router Advertisement protocol.

112d71a7 10/08/2010 12:25 PM Ondrej Zajicek

Fixes syntactic priority of '.' .

Dot in expressions like net.len definitely should have the highhest

506fa1a7 05/02/2010 08:41 PM Ondrej Zajicek

Merge several fixes suggested by Joakim Tjernlund.

44d4ab7a 04/07/2010 01:34 PM Ondrej Zajicek

Configurable syslog name.

Also fixes a bug in syslog initialization.

97e46d28 03/17/2010 11:19 AM Ondrej Zajicek

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....

e81b440f 02/21/2010 01:34 PM Ondrej Zajicek

Fix configure to enable warnings and fix most of them.

e304fd4b 02/19/2010 11:08 PM Ondrej Zajicek

Implements pattern match for 'show protocols' command.

And generally consolidates protocol commands.

0efd6462 02/10/2010 11:30 AM Ondrej Filip

Define symbols as text between ''.

76b53a4e 02/06/2010 09:57 PM Ondrej Zajicek

Adds some log messages related to configure.

Also fixes a bug in the previous patch.

c37e7851 02/02/2010 11:19 PM Ondrej Zajicek

Makes date/time formats configurable.

1960d203 01/27/2010 10:45 PM Ondrej Filip

Priority for '||' and '&&' fixed.

7515dafc 01/27/2010 09:26 PM Ondrej Filip

Allow multiple || and && statements.

cf31112f 01/03/2010 11:17 AM Ondrej Zajicek

Implements MRTdump feature.

e75d3c74 08/10/2009 12:36 PM Ondrej Zajicek

Flex does not need the output of Bison.

ea9097ea 08/10/2009 12:13 PM Ondrej Zajicek

Fixes parallel runs of Bison.

Previous version of Makefile executed Bison two times (in parallel),
because of two specified targets. I am not sure wheter this is the best


5b1f877e 08/10/2009 10:04 AM Ondrej Zajicek

Fixes typo in Makefile

0ac39033 08/09/2009 05:43 PM Ondrej Filip

Missing dependency added.

d72cdff4 06/23/2009 09:08 AM Ondrej Zajicek

Replace 'bind' option with 'listen' option.

To be consistent with other daemons.

bf1aec97 06/19/2009 09:49 PM Ondrej Zajicek

Adds support for soft reconfiguration.

789772ed 06/18/2009 05:20 PM Ondrej Zajicek

Implements option that changes BGP listening socket parametres.

874b8685 05/29/2009 08:49 PM Ondrej Zajicek

Implements primary address selection base on 'primary' option.

b1a597e0 03/31/2009 10:55 AM Ondrej Zajicek

Reimplementation of prefix sets.

Prefix sets were broken beyond any repair and have to be reimplemented.
They are reimplemented using a trie with bitmasks in nodes.
There is also change in the interpretation of minus prefix pattern,
but the old interpretation was already inconsistent with...

cf186034 03/14/2009 11:43 AM Ondrej Zajicek

New syntax for bgp_path

f9491630 01/27/2009 04:35 PM Ondrej Zajicek

New syntax for bgp_path

083c43e2 12/25/2008 10:55 AM Ondrej Zajicek

fixes some 64-bit related bugs.

Filter code used 'aux' integer field of 'symbol' struct to store ptr
to next symbol and both 'aux2' and 'def' fields for value.
Changed to just 'def' for value and 'aux2' for ptr to next symbol.
Also another minor bugfix.

1567edea 10/26/2008 10:09 PM Ondrej Zajicek

Bugfix for routing table breaking bug.

Here is a patch fixing a bug that causes breakage of a local routing
table during shutdown of Bird. The problem was caused by shutdown
of 'device' protocol before shutdown of 'kernel' protocol. When
'device' protocol went down, the route (with local network prefix)...

a456788b 06/20/2007 12:32 PM Ondrej Filip

New version of flex needs argument separated.

0d3effcf 02/12/2005 10:27 PM Ondrej Filip

Time added in password management.

7c103b1e 06/05/2004 09:10 AM Martin Mares

Marked unused parameters in core code as such.

725270cb 06/08/2000 12:37 PM Martin Mares

Fixes for the programmer's manual.

58f7d004 06/07/2000 01:25 PM Martin Mares

Fixes to the progdoc.

2e9b2421 06/07/2000 12:29 PM Martin Mares

Spelling fixes to progdoc.

04dc62a0 06/04/2000 07:30 PM Martin Mares

Nested scopes could never have worked. My fault I wrote such a buggy code,
Pavel's fault that he's never tested shadowing of declarations in the filters.

cf_define_symbol() has been modified to check the scope of the symbol it's
given and it if it's an already defined symbol, but in a different scope,...

58f94537 06/04/2000 03:22 PM Martin Mares

Moved parser docs to cf-lex.l, so that the parser compiles.

06607335 06/03/2000 06:23 PM Martin Mares


c0b2f646 06/03/2000 04:56 PM Martin Mares

cf_symbol_class_name now recognizes SYM_IPA.

5f4aee76 06/01/2000 08:43 AM Pavel Machek

Added && and ||.

fcb5f4a7 05/31/2000 11:30 AM Martin Mares

Updated all the Doc files to new format.

69a20d2e 05/30/2000 09:46 PM Martin Mares

Recognize `!'.

4761efdb 05/29/2000 10:10 PM Martin Mares

Tracing of CLI connections/commands can be now controlled
by `debug commands <level>' in the configuration. Level 0 means
no tracing, 1 means connections only, 2 includes all commands.

9a09a64b 05/25/2000 02:58 PM Pavel Machek

Use ? in path matching to avoid /* trap.

60de3356 05/16/2000 02:24 PM Pavel Machek

Resolved shift/reduce conflict

cc590a11 05/15/2000 12:15 PM Martin Mares

Changed syntax of expressions. Each `expr' can be now either a numeric literal
or a symbol or parenthesised filter expression.

e3f2d5fc 05/15/2000 11:48 AM Martin Mares

Cleanup of configuration.

o Use `expr' instead of `NUM' and `ipa' instead of `IPA',
so that defined symbols work everywhere.
o `define' now accepts both numbers and IP addresses.
o Renamed `ipa' in filters to `fipa'.

Pavel, please update filters to accept define'd symbols as well.

3b1c523d 05/15/2000 10:53 AM Martin Mares

Got rid of startup functions and filters_postconfig().

By the way, how do you expect pointers to fit in an int?

d3abfbc6 05/13/2000 11:41 AM Martin Mares

Added prefix_or_ipa.

758458be 05/13/2000 11:17 AM Martin Mares

Unified parsing of prefixes.

Had to rename `prefix' in filters to `fprefix'.

ab1129c1 05/05/2000 05:17 PM Martin Mares

Added skeleton Doc files for the whole developer's documentation.

6db8c5a6 05/04/2000 08:02 PM Martin Mares

pxlen works even in IPv6 mode.

a412f01e 04/28/2000 03:12 PM Martin Mares

Include CF_HDR section in keywords.h as well, so that protocol symbols
can be used in definition of ENUM's.

2edb31b0 04/28/2000 03:11 PM Martin Mares

Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
C declarations etc.).

8f6accb5 04/27/2000 10:28 PM Martin Mares

Event handlers no longer return re-queue flag. Instead of using it, just
call ev_schedule() on the same handler which should work perfectly now.

dcab7890 04/12/2000 01:07 PM Pavel Machek

Renamed f_path to f_path_mask -- which is what it really is. Use
linklist instead of array of signed integers for path mask.

c3edb89e 04/12/2000 12:49 PM Pavel Machek

Path masks are needed for filters.

221135d6 03/31/2000 11:30 PM Martin Mares

Include "lib/string.h" instead of <string.h>. It should give us bzero()
and other non-portable functions on all systems.

abf2be7d 03/12/2000 11:04 PM Martin Mares

Add internal commands of the client to the command list.

43270902 03/12/2000 10:44 PM Martin Mares

Made `show status' show uptime and time of last reconfiguration.

6b9fa320 03/12/2000 09:01 PM Martin Mares

Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
several debug() calls converted to DBG.

c8d5ffaf 03/10/2000 08:21 PM Pavel Machek

Fix <=, >=, !=

f30b86f9 03/07/2000 09:50 PM Martin Mares

Added configuration of default protocol debugging flags.

16c07e3d 03/04/2000 09:27 PM Martin Mares

Removed bogus comment.

a58dad62 03/04/2000 09:19 PM Martin Mares

Please think when defining operator priorities.

(: num_of_parser_conflicts -= 42 :)