Ondrej Zajicek
a5fc59587f
Rewrites static attribute filter code and adds ifname/ifindex attributes.
...
Thanks to Sergey Popovich for the original ifname/ifindex patch.
2013-09-26 22:08:21 +02:00
Ondrej Zajicek
508d936078
Implements eval command and minor CLI cleanups.
...
Implemented eval command can be used to evaluate expressions.
The patch also documents echo command and allows to use log classes
instead of integer as a mask for echo.
2013-07-25 13:15:32 +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
42a0c05408
BGP Extended communities.
2011-08-14 13:55:02 +02: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 Zajicek
7f0d245a5e
Minor changes in prefix trie.
2010-07-27 17:17:11 +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
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 Zajicek
3f22fa9e74
Merge branch 'dev' into ospf3
2009-11-09 22:54:39 +01:00
Ondrej Zajicek
05198c12f4
Some cleanups.
2009-08-27 19:01:04 +02:00
Ondrej Zajicek
b49e6f5a65
Temporary OSPFv3 development commit
2009-08-25 16:42:14 +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
4847a894bf
Implementation of route reflection for BGP
2008-10-26 22:45:09 +01:00
Pavel Machek
26c09e1d25
Added read-only access to all required fields in rta.
2000-05-30 10:42:39 +00:00
Pavel Machek
ad9074e9ba
Cleaned up warnings.
2000-05-25 15:20:40 +00:00
Martin Mares
b1c9d87161
Fixed the horrible mess Pavel has created with his last commit.
2000-05-16 22:37:53 +00:00
Pavel Machek
a96a979d5b
Line numbers for runtime errors (what's wrong with cvs? I could not
...
commit this from home)
2000-05-16 18:50:51 +00:00
Martin Mares
3b1c523d79
Got rid of startup functions and filters_postconfig().
...
By the way, how do you expect pointers to fit in an int?
2000-05-15 10:53:56 +00:00
Martin Mares
1c20608e02
Added f_eval_int() and EVAL configuration command.
2000-05-15 10:49:38 +00:00
Martin Mares
758458be05
Unified parsing of prefixes.
...
Had to rename `prefix' in filters to `fprefix'.
2000-05-13 11:17:49 +00:00
Pavel Machek
7a86a8b08d
Added code for testing filters.
2000-04-26 08:03:50 +00:00
Pavel Machek
471bd6c30b
Marked place where new enums belong.
2000-04-26 07:47:47 +00:00
Pavel Machek
3bbc4ad6ad
Special hack for atomic_aggr.
2000-04-17 12:40:38 +00:00
Pavel Machek
159fa4cea9
Finish moving of path matching. Use int_set_print from core for
...
printing community lists.
2000-04-17 11:20:00 +00:00
Pavel Machek
4b641bab52
Path matching now actually works, including / * 1 2 3 * /.
2000-04-17 10:50:03 +00:00
Pavel Machek
a2d157463a
One less shift/reduce conflict.
2000-04-12 14:05:37 +00:00
Pavel Machek
ac7a2145cc
f_new_dynamic_attr gets third argument, type as filters know it.
2000-04-12 14:02:04 +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
dcab789047
Renamed f_path to f_path_mask -- which is what it really is. Use
...
linklist instead of array of signed integers for path mask.
2000-04-12 13:07:53 +00:00
Pavel Machek
77de68825c
BGP_PATH masks now actually work as data type.
2000-04-12 12:10:37 +00:00
Martin Mares
3076b5aedc
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.
2000-03-30 08:50:30 +00:00
Pavel Machek
0a06a9b8b3
f_run gets one more parameter to distinguish between in and out modes.
2000-03-29 09:02:00 +00:00
Pavel Machek
62ab789de5
Added type parameter to f_new_dynamic_attr.
2000-03-01 14:42:59 +00:00
Martin Mares
db1326aa5e
Dynamic attributes are now declared in per-protocol grammar files instead
...
of 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.
2000-03-01 11:32:23 +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
Martin Mares
30a6108ccc
Added filter_same() for comparision of two filters.
...
Pavel, please implement this as soon as possible.
2000-01-16 17:49:32 +00:00
Martin Mares
d46ffc97ff
Kicked off F_MODIFY (not generated nor used)
1999-12-16 12:18:19 +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
cb8034f42c
First try on enumerational types.
...
Mj's noassoc removed: this brings back shift/reduce conflict but
it makes parser actually work. Mj please check it. IF/THEN/ELSE still
will not work.
1999-11-10 13:44:29 +00:00
Pavel Machek
f453665704
Enumerational types, defined keyword added.
1999-11-10 12:44:07 +00:00
Pavel Machek
6dc7a0cb39
Filters now do not allow function (int arg; int arg2; ).
1999-11-03 22:23:01 +00:00
Pavel Machek
d3dd620b96
Filters: permit variables of prefix types, cleanup around
...
variables. TODO list added, hopefully complete. Use new features of
filters in bird.conf
1999-10-12 06:27:42 +00:00
Martin Mares
9a706f32af
Added missing structure declarations.
1999-08-03 19:31:11 +00:00
Pavel Machek
38506f71b0
Sets of integers now actually work. Sets of IP will work as soon as
...
compare function is ready.
1999-04-12 19:58:18 +00:00
Pavel Machek
2db3b2887e
Decrease number of warnings.
1999-04-10 09:45:08 +00:00
Pavel Machek
23b1539bf9
Filters upgraded - a bit. Moved code to filter.c because it is where
...
it belongs. (f-util.c stays there for auxiliary and non-important things.)
1999-04-07 12:11:08 +00:00
Martin Mares
63a381dbf5
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
temporary data (new ea_lists's, temporary rta's etc.).
o Re-ordered result codes, so that all accepts come before all rejects.
o Introduced FILTER_ACCEPT and FILTER_REJECT dummy values (will be
used in protocol configurations).
o Added filter_name() which returns name of a filter or ACCEPT/REJECT
for the dummies.
1999-04-05 20:10:31 +00:00
Pavel Machek
ba92164871
Update of filters towards new interface.
1999-03-29 20:21:28 +00:00
Martin Mares
e0f2e42f4f
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.
o Implemented config rule 'filter' which matches either named filter
or an embedded unnamed filter (`{ <filter> }').
o Fixed totally bogus comment at the top of filter.h.
o Added a missing prototype for f_run() to filter.h.
1999-03-17 14:29:39 +00:00