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
Pavel Machek
9c400ec9dd
Int sets moved to core. It is now possible to have variable of type clist.
2000-04-17 11:34:38 +00:00
Pavel Machek
684c6f5a0e
Path_getlen moved to nest and length was made callable from filters.
2000-04-17 11:06:39 +00:00
Pavel Machek
4b641bab52
Path matching now actually works, including / * 1 2 3 * /.
2000-04-17 10:50:03 +00:00
Pavel Machek
e399b6f6ad
Path and path matching seem to work, now.
2000-04-17 10:42:28 +00:00
Pavel Machek
10a5360886
Filters now know type path. It is possible to declare variable of type
...
path, but it is not possible to write constant of type path.
It should be possible to print paths and match them.
2000-04-12 13:31:39 +00:00
Pavel Machek
77de68825c
BGP_PATH masks now actually work as data type.
2000-04-12 12:10:37 +00:00
Pavel Machek
995e5894cd
1 less shift/reduce conflict
...
print now takes arguments separated by ,
[ 1.2.3.0/24 .. 3.4.5.0/8 ] is now forbidden
[ 1.2.3.0/8 ] now actually works
2000-03-09 14:47:43 +00:00
Pavel Machek
d4d7562806
Avoid being exponential, do not allow ! =
2000-03-02 22:23:18 +00:00
Pavel Machek
2d496d2028
Get rid of 'ab'-s, added return to functions.
2000-02-25 11:15:26 +00:00
Pavel Machek
9a4037d408
filter_same() implemented. Don't bet on it, yet.
2000-01-31 17:44:22 +00:00
Pavel Machek
2e18b87dcf
Disallow rta.net syntax.
1999-12-08 12:51:26 +00:00
Pavel Machek
455ca441d9
Check that prefixes are really prefixes + fix config file to
...
comply. (:-( 1.2.3.4/8 looks nicer than 1.0.0.0/8).
1999-11-24 12:16:31 +00:00
Pavel Machek
48f9e01954
Filters: write access to dynamic attributes should actually work. It
...
would be nice to find method of testing such beasts.
1999-11-24 12:04:32 +00:00
Pavel Machek
c7b43f33ae
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.
1999-11-18 14:01:36 +00:00
Pavel Machek
346a12c210
You can now print enum.
1999-11-18 13:21:52 +00:00
Pavel Machek
4515bdba4f
Fixed order of arguments for function call.
...
Enumeration types should work once CF_ENUM() is ready.
Created test.conf for testing of filters. (I'm currently thinking
about ./tests in root directory which will just fire all available
tests...)
1999-11-11 13:55:39 +00:00