summaryrefslogtreecommitdiff
path: root/conf/conf.h
AgeCommit message (Collapse)Author
2016-11-08Minor code cleanupsOndrej Zajicek (work)
2015-11-09Conf: Fixes bug in symbol lookup during reconfigurationOndrej Zajicek (work)
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 during reconfiguration. The patch separates lookup-only cf_find_symbol() and config-modifying cf_get_symbol(), while the later is called only during parsing. Also new_config and cfg_mem global variables are NULLed outside of parsing.
2015-06-08unsigned [int] -> uintPavel TvrdĂ­k
2015-03-02Implement latency tracking, internal event log and watchdogOndrej Zajicek
2015-02-21Bump max symbol length to 64.Ondrej Zajicek
And move the constant to conf.h header. Thanks to Alexander Chernikov for the patch.
2014-10-02Allows more constants in set literals.Ondrej Zajicek
Thanks to Michael Fincham for the bugreport.
2014-03-25Fixes file descriptor leak when parser ends with error.Ondrej Zajicek
Thanks to MrBr for the bugreport.
2014-03-20BGP graceful restart support.Ondrej Zajicek
Also significant core protocol state changes needed for that, global graceful restart recovery state and kernel proto support for recovery.
2013-07-25Allows to define constants of all filter types.Ondrej Zajicek
2012-12-27Implements interface masks for choosing router id.Ondrej Zajicek
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-26Implements undo command and optional timeout for configurationOndrej Zajicek
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-07-18Implements wildcard matching in config file include.Ondrej Zajicek
Also fixes some minor bugs in include. Thanks Kelly Cochran for suggestion and draft patch.
2012-03-18Route Origin Authorization basics.Ondrej Zajicek
- 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.
2011-11-07Implements protocol templates.Ondrej Zajicek
Based on the patch from Alexander V. Chernikov. Extended to support almost all protocols. Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-10-10Fixes for include.Ondrej Zajicek
2011-09-11Configuration can include other files.Ondrej Filip
2010-04-07Configurable syslog name.Ondrej Zajicek
Also fixes a bug in syslog initialization.
2010-02-03Makes date/time formats configurable.Ondrej Zajicek
2010-01-03Implements MRTdump feature.Ondrej Zajicek
2009-06-23Replace 'bind' option with 'listen' option.Ondrej Zajicek
To be consistent with other daemons.
2009-06-19Adds support for soft reconfiguration.Ondrej Zajicek
2009-06-18Implements option that changes BGP listening socket parametres.Ondrej Zajicek
2008-12-25fixes some 64-bit related bugs.Ondrej Zajicek
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.
2000-06-04Nested scopes could never have worked. My fault I wrote such a buggy code,Martin Mares
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, a copy is created in the current scope and redefined to the new meaning, the consequence being that it cf_define_symbol() now returns the new symbol you need to use when assigning aux and aux2.
2000-06-03cf_symbol_class_name now recognizes SYM_IPA.Martin Mares
2000-05-29Tracing of CLI connections/commands can be now controlledMartin Mares
by `debug commands <level>' in the configuration. Level 0 means no tracing, 1 means connections only, 2 includes all commands.
2000-05-15Cleanup of configuration.Martin Mares
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.
2000-03-12Made `show status' show uptime and time of last reconfiguration.Martin Mares
2000-03-07Added configuration of default protocol debugging flags.Martin Mares
2000-01-19Split off general commands to cmds.c.Martin Mares
Added `show symbols' command which dumps whole symbol table together with symbol types etc.
2000-01-17Separated `official protocol names' used in status dumps from name templatesMartin Mares
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-16Converted shutdown to a kind of reconfiguration, it's no more handledMartin Mares
as a exception in protocol state machines. Introduced a `shutdown' CLI command. Killed few reconfiguration bugs.
2000-01-16First attempt on dynamic reconfiguration. There are still lots of bugsMartin Mares
and problems to solve, but the hardest part works.
1999-12-06Moved initialization of protocol list to proto.c.Martin Mares
Added sysdep configuration hooks.
1999-11-30Lexer supports fallback symbol tables and uses them to recognizeMartin Mares
symbols from global config when parsing CLI commands. cf_lex_init_tables() is now called automatically inside the lexer.
1999-11-15SYM_STAT is gone.Martin Mares
1999-11-04Silly bug.Martin Mares
1999-11-04Symbols are not scoped.Martin Mares
1999-10-31Parse CLI commands. We use the same parser as for configuration files (becauseMartin Mares
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. Defined macro CF_CLI(cmd, args, help) for defining CLI commands in .Y files. The first argument specifies the command itself, the remaining two arguments are copied to the help file (er, will be copied after the help file starts to exist). This macro automatically creates a skeleton rule for the command, you only need to append arguments as in: CF_CLI(STEAL MONEY, <$>, [[Steal <$> US dollars or equivalent in any other currency]]): NUM { cli_msg(0, "%d$ stolen", $3); } ; Also don't forget to reset lexer state between inputs.
1999-07-01Function calling in filters works - somehow. Calling syntax isPavel Machek
currently very ugly, beware. Variables are not really local - that needs to be fixed.
1999-05-17Implemented two new symbol handling functions:Martin Mares
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.
1999-03-29Update of filters towards new interface.Pavel Machek
1999-03-26Slightly better generator of default protocol instance names.Martin Mares
1999-02-13config->router_id works again.Martin Mares
1999-02-05Implemented new configuration/reconfiguration interface and defined protocolMartin Mares
state machines. Full explanation will follow soon.
1999-01-15Filters added. They are unable to do anything interesting for nowPavel Machek
(with exception of printing integers to screen), but they exist.
1998-12-06cf_error() now accepts any format strings instead of just an errorMartin Mares
message. Also added extra kludge to get rid of collisions of REJECT symbols.
1998-12-06Name cleanups as suggested by Pavel:Martin Mares
- 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.
1998-11-29Created new functions for allocating configuration data:Martin Mares
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 Also fixed a bug in lexing of string literals.
1998-11-27Trivial 15-line bison excercise: Implemented expressions includingMartin Mares
user-defined numeric symbols. Whenever possible, use `expr' instead of `NUM' to get full express ion power :-)