| Branch: | Revision:

iof-bird-daemon / conf / conf.h @ c8cafc8e

History | View | Annotate | Download (5.75 KB)

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

Minor code cleanups

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

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.

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

Allows more constants in set literals.

Thanks to Michael Fincham for the bugreport.

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.

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

Allows to define constants of all filter types.

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

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

Configurable syslog name.

Also fixes a bug in syslog initialization.

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

Makes date/time formats configurable.

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

Implements MRTdump feature.

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.

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.

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

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

cf_symbol_class_name now recognizes SYM_IPA.

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.

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.

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

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

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

Added configuration of default protocol debugging flags.

4b87e256 01/19/2000 12:30 PM Martin Mares

Split off general commands to cmds.c.

Added `show symbols' command which dumps whole symbol table together
with symbol types etc.

d272fe22 01/17/2000 11:52 AM Martin Mares

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

bf8558bc 01/16/2000 05:40 PM Martin Mares

Converted shutdown to a kind of reconfiguration, it's no more handled
as a exception in protocol state machines. Introduced a `shutdown'
CLI command. Killed few reconfiguration bugs.

50fe90ed 01/16/2000 04:44 PM Martin Mares

First attempt on dynamic reconfiguration. There are still lots of bugs
and problems to solve, but the hardest part works.

7c0cc76e 12/06/1999 01:44 PM Martin Mares

Moved initialization of protocol list to proto.c.

Added sysdep configuration hooks.

c9aae7f4 11/30/1999 02:03 PM Martin Mares

Lexer supports fallback symbol tables and uses them to recognize
symbols from global config when parsing CLI commands.

cf_lex_init_tables() is now called automatically inside the lexer.

cbc31830 11/15/1999 11:34 AM Martin Mares

SYM_STAT is gone.

df8b85e3 11/04/1999 01:53 PM Martin Mares

Silly bug.

c8f61a01 11/04/1999 01:51 PM Martin Mares

Symbols are not scoped.

bc2fb680 10/31/1999 05:47 PM Martin Mares

Parse CLI commands. We use the same parser as for configuration files (because
we want to allow filter and similar complex constructs to be used in commands
and we should avoid code duplication), only with CLI_MARKER token prepended
before the whole input....

6542ece9 07/01/1999 09:11 AM Pavel Machek

Function calling in filters works - somehow. Calling syntax is
currently very ugly, beware. Variables are not really local - that
needs to be fixed.

4107df1d 05/17/1999 08:06 PM Martin Mares

Implemented two new symbol handling functions:

o  cf_define_symbol() -- it assigns a meaning to a symbol, bailing
out if it already has one.
o cf_find_symbol() -- finds symbol by name and creates it if not found.

Also modified filter/config.Y to make use of the first function.

ba921648 03/29/1999 08:21 PM Pavel Machek

Update of filters towards new interface.

4ba84ebc 03/26/1999 09:37 PM Martin Mares

Slightly better generator of default protocol instance names.

4e9498cb 02/13/1999 06:42 PM Martin Mares

config->router_id works again.

31b3e1bb 02/05/1999 09:37 PM Martin Mares

Implemented new configuration/reconfiguration interface and defined protocol
state machines. Full explanation will follow soon.

72380a34 01/15/1999 02:41 PM Pavel Machek

Filters added. They are unable to do anything interesting for now
(with exception of printing integers to screen), but they exist.

cc12cf05 12/06/1998 11:10 PM Martin Mares

cf_error() now accepts any format strings instead of just an error
message. Also added extra kludge to get rid of collisions of REJECT

b35d72ac 12/06/1998 11:59 AM Martin Mares

Name cleanups as suggested by Pavel:

- cfg_strcpy() > cfg_strdup()
mempool -> linpool, mp_* -> lp_* [to avoid confusion with memblock, mb_*]

Anyway, it might be better to stop ranting about names and do some real work.

49e4a4d1 11/29/1998 09:59 PM Martin Mares

Created new functions for allocating configuration data:

o  cfg_alloc(size) -- generic memory allocation
o cfg_allocu(size) -- unaligned memory allocation
o cfg_allocz(size) -- zeroed memory allocation
o cfg_strcpy(str) -- allocate a copy of a string...
0b62c3a7 11/27/1998 09:32 PM Martin Mares

Trivial 15-line bison excercise: Implemented expressions including
user-defined numeric symbols. Whenever possible, use `expr' instead
of `NUM' to get full express ion power :-)

8450be97 11/27/1998 09:07 PM Martin Mares

Added generator of default names.

fe7cec12 11/27/1998 07:35 PM Martin Mares

Replaced nest/confile.h by conf/conf.h, added a lot of new definitions.