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.
BGP Extended communities.
Changes print-like filter commands to use a log instead of a stderr.
And extends the log subsystem to better handle that.
Minor changes in prefix trie.
Filter language updates; new route attributes and datatype.
- Adds bgp_originator_id and bgp_cluster_list route attributes. - Adds dotted quad filter datatype (for router IDs, used by bgp_originator_id and ospf_router_id route attributes). - Fixes pair ~ pair set matching....
Replaces the algorithm for building balanced trees.
Changes the time complexity of the algorithm from O(n^2) to O(n*log(n)).This speeds up loading of huge DEC-IX config from 128 s to 15 s. It alsomakes the code significantly simpler.
Merge branch 'dev' into ospf3
Temporary OSPFv3 development commit
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...
Implementation of route reflection for BGP
Added read-only access to all required fields in rta.
Cleaned up warnings.
Fixed the horrible mess Pavel has created with his last commit.
Line numbers for runtime errors (what's wrong with cvs? I could notcommit this from home)
Got rid of startup functions and filters_postconfig().
By the way, how do you expect pointers to fit in an int?
Added f_eval_int() and EVAL configuration command.
Unified parsing of prefixes.
Had to rename `prefix' in filters to `fprefix'.
Added code for testing filters.
Marked place where new enums belong.
Special hack for atomic_aggr.
Finish moving of path matching. Use int_set_print from core forprinting community lists.
Path matching now actually works, including / * 1 2 3 * /.
One less shift/reduce conflict.
f_new_dynamic_attr gets third argument, type as filters know it.
Filters now know type path. It is possible to declare variable of typepath, but it is not possible to write constant of type path.
It should be possible to print paths and match them.
Renamed f_path to f_path_mask -- which is what it really is. Uselinklist instead of array of signed integers for path mask.
BGP_PATH masks now actually work as data type.
Renamed FF_OUTGOING to FF_FORCE_TMPATTR which much better fits the semantics.
Call rte_cow() instead of rte_do_cow(), so that COW works properly.
Stripped "\n" off several (de)bug messages.
f_run gets one more parameter to distinguish between in and out modes.
Added type parameter to f_new_dynamic_attr.
Dynamic attributes are now declared in per-protocol grammar files insteadof filter/config.Y. Bird now compiles even if you disable RIP.
Removed RTA and IMPOSSIBLE tokens (unused).
Removed superfluous comment in filter.h.
I've tried to do my best, but Pavel, please check these changes.
Get rid of 'ab'-s, added return to functions.
filter_same() implemented. Don't bet on it, yet.
Added filter_same() for comparision of two filters.
Pavel, please implement this as soon as possible.
Kicked off F_MODIFY (not generated nor used)
Split inst->code into inst->code and inst->aux. Both are only 16 bit,so aux is suitable for storing type but not much more.
First try on enumerational types.
Mj's noassoc removed: this brings back shift/reduce conflict butit makes parser actually work. Mj please check it. IF/THEN/ELSE stillwill not work.
Enumerational types, defined keyword added.
Filters now do not allow function (int arg; int arg2; ).
Filters: permit variables of prefix types, cleanup aroundvariables. TODO list added, hopefully complete. Use new features offilters in bird.conf
Added missing structure declarations.
Sets of integers now actually work. Sets of IP will work as soon ascompare function is ready.
Decrease number of warnings.
Filters upgraded - a bit. Moved code to filter.c because it is whereit belongs. (f-util.c stays there for auxiliary and non-important things.)
Several filter changes. (Pavel, please check if they are OK.)
o Changed parameters of f_run. Changed rtein+rteout pair to rte pointer passed by reference, added ea_list of temporary attrs again passed by reference and finally added a pointer to memory pool for storing...
Update of filters towards new interface.
A couple of filter tweaks:
o Introduced struct filter which serves as an external reference to filter. Using struct symbol for this is unwise since it doesn't allow extra information attached to the filter and it also forces all filters to be named....
accept & reject should now work
Filters are now a tiny bit stronger (if is actually working ;-)
Add interface for running filters (please comment!), avoid bison warnings
filters_init() renamed to filters_postconfig().
Filters, second try. This time they have their own directory.