Ondrej Zajicek
b2f008378a
Allows more constants in set literals.
...
Thanks to Michael Fincham for the bugreport.
2014-10-02 12:52:50 +02:00
Ondrej Zajicek
6285793f18
Replaces function name in test.conf as it collided with new keyword.
2014-07-07 22:23:37 +02:00
Ondrej Zajicek
56027b5cbd
Minor fix in log_commit() w.r.t. changes in BFD branch.
2013-11-22 21:58:43 +01:00
Ondrej Zajicek
0aeac9cb7f
Merge commit 'origin/bfd'
2013-11-22 02:48:44 +01:00
Ondrej Zajicek
f8f2419d4c
Additional filter test case.
2013-11-20 13:30:11 +01:00
Ondrej Zajicek
0e175f9f0f
Fixes some BFD bugs and makes logging thread-safe.
2013-10-05 20:12:28 +02:00
Ondrej Zajicek
7ccb36d330
Implements C.len operator for clist and eclist types.
...
Thanks to Sergey Popovich for the original patch.
2013-10-02 14:57:29 +02:00
Ondrej Zajicek
28a10f84cb
Some fixes in filter code.
...
Thanks to Sergey Popovich for original patches.
2013-10-02 14:41:37 +02:00
Ondrej Zajicek
bff9ce5130
Extends delete/filter operators to work no bgp_paths.
2013-08-15 01:06:47 +02:00
Ondrej Zajicek
1103b32e83
Allows to define constants of all filter types.
2013-07-25 22:33:57 +02:00
Ondrej Zajicek
cc31b75a8f
Implements 'bgppath ~ int set' filter op.
2013-07-09 23:27:10 +02:00
Ondrej Zajicek
af582c4811
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.
2012-03-18 17:32:30 +01:00
Ondrej Zajicek
0888a737b0
Extends set operations in filters.
...
Allows add/filter/delete clist on clist (set algebra on clists).
Allows number ~ bgppath match.
2012-03-15 21:07:58 +01:00
Ondrej Filip
48ec367aab
Configuration can include other files.
2011-09-11 21:21:47 +02:00
Ondrej Zajicek
42a0c05408
BGP Extended communities.
2011-08-14 13:55:02 +02:00
Ondrej Zajicek
e08d2ff08e
Adds filter clist operation.
2011-06-26 17:09:24 +02:00
Ondrej Zajicek
b8cc390e7e
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.
2011-05-06 22:00:54 +02:00
Ondrej Filip
4fc36f394e
This adds (*,x) functionality.
2011-03-26 14:18:56 +01:00
Ondrej Zajicek
0aa88530ad
Convert && and || to shortcut boolean operators.
2011-03-23 13:40:46 +01:00
Ondrej Zajicek
26d92bb892
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
that.
2011-03-23 12:49:53 +01:00
Ondrej Zajicek
0d1b3c4c0e
Changes print-like filter commands to use a log instead of a stderr.
...
And extends the log subsystem to better handle that.
2010-09-20 13:01:01 +02:00
Ondrej Filip
946dc15c92
Documentation update and improvement of tests related to expressions in sets.
2010-08-03 17:35:34 +02:00
Ondrej Filip
4733b49ed6
Syntax of sets improved.
2010-08-03 15:16:25 +02:00
Ondrej Zajicek
ba5c0057ed
Extends pair set syntax, matching and deleting against clist.
...
Expressions like (123,*) can be used in pair set literals, clists can be
matched against pair sets (community ~ pairset) and pair sets can be
used to specify items to delete from clists (community.delete(pairset)).
2010-05-22 22:47:24 +02:00
Ondrej Zajicek
d759c1a6f8
NEWS and version update.
2010-04-09 17:42:39 +02:00
Ondrej Zajicek
126683feed
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.
- Documentation updates.
2010-03-29 19:29:03 +02:00
Ondrej Zajicek
aa46124804
Clear local variables in filters and functions.
...
Fixes crash when used uninitialized variables.
This problem was surprisingly tricky to fix.
2010-03-19 09:41:18 +01:00
Ondrej Zajicek
dfd48621d1
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 also
makes the code significantly simpler.
2010-02-17 22:11:42 +01:00
Ondrej Filip
0efd646278
Define symbols as text between ''.
2010-02-10 12:30:14 +01:00
Ondrej Filip
1960d20350
Priority for '||' and '&&' fixed.
2010-01-27 23:45:36 +01:00
Ondrej Filip
7515dafc00
Allow multiple || and && statements.
2010-01-27 22:26:45 +01:00
Ondrej Zajicek
4cdd078453
Implements protocol-specific router id and updates documentation.
2009-10-12 23:31:42 +02:00
Ondrej Zajicek
5004d02cb9
Merge branch 'master' into dev
2009-06-26 01:06:12 +02:00
Ondrej Zajicek
92a72a4cbd
Adds support for dynamic pair and bgp mask expressions.
2009-06-01 19:32:41 +02:00
Ondrej Filip
a6c9f0648d
Missing boolean comparison added.
2009-05-28 13:37:04 +02:00
Ondrej Zajicek
b1a597e0c3
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
the documentation and broken.
There is also some bugfixes in filter code related to set variables.
2009-03-31 12:55:57 +02:00
Ondrej Zajicek
cf18603491
New syntax for bgp_path
2009-03-14 12:43:10 +01:00
Pavel Machek
4bb18dd2da
Fix i_same for 'c' instruction.
2000-06-08 16:57:41 +00:00
Pavel Machek
64ba9f7bcc
Do not try to divide by zero.
2000-06-02 08:01:12 +00:00
Pavel Machek
5f4aee76a2
Added && and ||.
2000-06-01 08:43:29 +00:00
Pavel Machek
9a09a64bb4
Use ? in path matching to avoid /* trap.
2000-05-25 14:58:38 +00:00
Pavel Machek
60de3356ab
Resolved shift/reduce conflict
2000-05-16 14:24:33 +00:00
Pavel Machek
c5a06f65ee
Allow other operations than +.
2000-05-15 12:27:45 +00:00
Pavel Machek
cbfd671f11
Allow accessing defined symbols.
2000-05-15 12:19:26 +00:00
Pavel Machek
6be662d917
Use new eval mechanism for testing filters.
2000-05-15 12:07:09 +00:00
Pavel Machek
f71bded6e9
Bugfix in i_same (comparing of paths still does not work).
2000-04-26 09:30:12 +00:00
Pavel Machek
7a86a8b08d
Added code for testing filters.
2000-04-26 08:03:50 +00:00
Pavel Machek
94d9dfa47a
Startup renamed to __startup: it is internal function and mj already
...
uses word startup in other context.
2000-04-26 07:31:45 +00:00
Pavel Machek
2bd2de0188
pair ~ community list matching works.
2000-04-17 11:49:21 +00:00
Pavel Machek
4444ed2b26
It is good idea to separate entries in list _somehow_. Adding/deleting
...
to community lists from filters now works.
2000-04-17 11:42:08 +00:00