Age | Commit message (Collapse) | Author |
|
The old hash table had fixed size, which makes it slow for config files
with large number of symbols and symbol lookups. The new one is growing
according to needs.
|
|
|
|
There are several unresolved -Wmissing-field-initializers on older
versions of GCC than 5.1, all of them false positive.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
And move the constant to conf.h header.
Thanks to Alexander Chernikov for the patch.
|
|
|
|
Thanks to João Taveira Araújo for the original patch.
|
|
Thanks to Michael Fincham for the bugreport.
|
|
Thanks to Frederik Kriewitz for the patch.
|
|
Thanks to MrBr for the bugreport.
|
|
Also significant core protocol state changes needed for that,
global graceful restart recovery state and kernel proto support
for recovery.
|
|
|
|
|
|
|
|
Now it compiles and mostly works.
|
|
|
|
|
|
|
|
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.
|
|
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
|
|
Also fixes some minor bugs in include.
Thanks Kelly Cochran for suggestion and draft patch.
|
|
- 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.
|
|
Thanks Alexander V. Chernikov for the original patch.
|
|
Thanks Alexander V. Chernikov for the original patch.
|
|
Allows using NEF_STICKY neighbors with link-local addresses. This is
used for static route nexthops, they can be specified like fe80::1%eth0
.
|
|
|
|
|
|
Based on the patch from Alexander V. Chernikov.
Extended to support almost all protocols.
Uses 'protocol bgp NAME from TEMPLATE { ... }' 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.
|
|
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
that.
|
|
|
|
Dot in expressions like net.len definitely should have the highhest
priority.
|
|
|
|
Also fixes a bug in syslog initialization.
|
|
- 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.
- Fixes socket name path check and other error handling in CLI init.
|
|
|
|
And generally consolidates protocol commands.
|
|
|
|
Also fixes a bug in the previous patch.
|
|
|
|
|