Ondrej Zajicek
330aecead8
Bugfix in interpret
...
Missing cases in filter code interpret leads to crash
when bgp_next_hop attr was queried.
2008-12-25 17:49:57 +01:00
Ondrej Zajicek
083c43e22e
fixes some 64-bit related bugs.
...
Filter code used 'aux' integer field of 'symbol' struct to store ptr
to next symbol and both 'aux2' and 'def' fields for value.
Changed to just 'def' for value and 'aux2' for ptr to next symbol.
Also another minor bugfix.
2008-12-25 11:55:27 +01:00
Ondrej Zajicek
44711e0ca2
Fix some bugs in filter interpret.
2008-11-16 22:16:04 +01:00
Ondrej Zajicek
e29fa06ece
New read-only route attribute 'proto' added. It returns a string
...
representing a name of the protocol that originated the route.
Strings can be compared using = or matched using ~. Routes can
be filtered, for example:
show route where proto ~ "bgp1*"
2008-11-14 14:50:37 +01:00
Ondrej Zajicek
aebe06b40c
Proper format functions for ORIGINATOR_ID, CLUSTER_LIST
2008-11-08 23:33:22 +01:00
Ondrej Zajicek
4847a894bf
Implementation of route reflection for BGP
2008-10-26 22:45:09 +01:00
Ondrej Zajicek
11cb620266
Implementation of 4B ASN support for BGP
2008-10-26 22:36:08 +01:00
Martin Mares
9831e5916f
Staticized lots of local functions.
2004-06-05 09:58:23 +00:00
Martin Mares
6ecd20605c
... and in the filter.
2004-06-05 09:26:55 +00:00
Martin Mares
6a57bb3110
Killed a couple of unused variables.
...
We really should compile with warnings enabled.
2004-05-31 20:57:38 +00:00
Martin Mares
03e3d184b2
Fix bison input for current build tools, otherwise bison or the compiler
...
will abort the build.
(by Andreas)
2004-05-31 17:44:39 +00:00
Martin Mares
d85e1f0e2f
Prefix comparison bug (hopefully) fixed.
2003-02-27 10:48:30 +00:00
Martin Mares
de10a974f2
Added missing semicolons.
2002-11-13 08:46:12 +00:00
Pavel Machek
4bb18dd2da
Fix i_same for 'c' instruction.
2000-06-08 16:57:41 +00:00
Martin Mares
725270cb1d
Fixes for the programmer's manual.
2000-06-08 12:37:21 +00:00
Pavel Machek
a5a947d4d8
Fixing error messages.
2000-06-08 10:26:19 +00:00
Pavel Machek
b178d92a0b
Better messages
2000-06-08 08:24:32 +00:00
Pavel Machek
3e82b32d36
Progdocs updates
2000-06-07 14:45:55 +00:00
Pavel Machek
8dcf254499
Even better documentation of filters.
2000-06-07 14:16:11 +00:00
Pavel Machek
907503adb6
Comment fix.
2000-06-07 14:00:17 +00:00
Pavel Machek
771ae456a5
Better progdocs for filters
2000-06-07 13:54:06 +00:00
Martin Mares
2e9b24211a
Spelling fixes to progdoc.
2000-06-07 12:29:08 +00:00
Pavel Machek
4c5f93d76b
Better documentation. There are functions whose description is good when
...
reading source but whose documentation does not belong to progdocs.
2000-06-05 17:13:36 +00:00
Pavel Machek
8798c81176
Docs updates:
...
make prog.dvi
do not overflow in .dvi
include filter documentation in the system
2000-06-05 16:36:16 +00:00
Pavel Machek
98da26a0a0
Better error messages
2000-06-05 15:41:29 +00:00
Ondrej Filip
49222defff
Bug in comment. It didn't compile.
2000-06-05 15:06:26 +00:00
Pavel Machek
b093c328f5
Updates to both programmers and users doc
2000-06-05 12:52:57 +00:00
Martin Mares
bf3eb98eb8
Use nested scopes properly. Updated according to cf_define_symbol() changes.
...
The rest of code doesn't need changing since it doesn't use nesting.
2000-06-04 19:30:55 +00:00
Martin Mares
f7667ba1c4
When cloning a rte and replacing its rta, remember to free the old one
...
so that we don't leak memory. Thanks go to the resource tracking system
for quickly discovering the source of leakages.
2000-06-04 18:46:30 +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
1877dab217
Allow
...
case net {
62.0.0.0/8+:
10.0.0.0/8+:
else: reject;
}
2000-06-01 08:34:30 +00:00
Pavel Machek
1895e81e05
Allow matching on enums:
...
if !(scope ~ [ SCOPE_HOST, SCOPE_SITE ]) then {
print "Failed in test";
quitbird;
}
2000-06-01 08:32:49 +00:00
Pavel Machek
0b1cad8162
Complain when filter does not end in accept nor reject.
2000-05-31 21:50:13 +00:00
Pavel Machek
24e1e2005b
Another testbed for filters.
2000-05-30 11:09:09 +00:00
Pavel Machek
0dc4431cde
Access to all attributes we should be able to access seems to work.
2000-05-30 11:07:22 +00:00
Pavel Machek
26c09e1d25
Added read-only access to all required fields in rta.
2000-05-30 10:42:39 +00:00
Pavel Machek
2bdb5e0083
Cleaning static attributes
2000-05-30 10:23:04 +00:00
Pavel Machek
fe613ecded
Access to few more attributes is needed.
2000-05-30 10:13:32 +00:00
Pavel Machek
ad9074e9ba
Cleaned up warnings.
2000-05-25 15:20:40 +00:00
Pavel Machek
9a09a64bb4
Use ? in path matching to avoid /* trap.
2000-05-25 14:58:38 +00:00
Pavel Machek
72282e2a1b
Fixed comment not to be misleading.
2000-05-25 12:33:15 +00:00
Pavel Machek
e66e6c2119
If community list is not defined, act as it is empty.
2000-05-19 16:57:40 +00:00
Pavel Machek
9f0d45d634
Finished cleanng up mess: multiplication reinstalled.
2000-05-17 12:14:05 +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
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
Martin Mares
e3f2d5fce3
Cleanup of configuration.
...
o Use `expr' instead of `NUM' and `ipa' instead of `IPA',
so that defined symbols work everywhere.
o `define' now accepts both numbers and IP addresses.
o Renamed `ipa' in filters to `fipa'.
Pavel, please update filters to accept define'd symbols as well.
2000-05-15 11:48:23 +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
Martin Mares
ab1129c1bd
Added skeleton Doc files for the whole developer's documentation.
2000-05-05 17:17:42 +00:00
Martin Mares
9a220cabbc
#ifdef out lots of debugging information.
...
The long resource/routing table dump printed upon startup is gone now
and if you wish to see it, just send bird SIGUSR1 or use the `debug'
commands.
2000-05-04 20:52:28 +00:00
Pavel Machek
2337ade754
Moved documentation to top of file, where it belongs.
2000-04-30 18:47:48 +00:00
Pavel Machek
8c62d6e3b6
Minor documentation update.
2000-04-29 17:48:38 +00:00
Martin Mares
2edb31b097
Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
...
C declarations etc.).
2000-04-28 15:11:10 +00:00
Pavel Machek
ff95080f92
Cleanup of dead code + example documentation for two functions.
2000-04-28 09:48:28 +00:00
Pavel Machek
b0c9c21c29
Small cleanup.
2000-04-26 09:38:07 +00:00
Pavel Machek
2e5a8735f4
filter_same should now work with path masks.
2000-04-26 09:36:47 +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
471bd6c30b
Marked place where new enums belong.
2000-04-26 07:47:47 +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
7d6eebae3b
Create syntax sugar for add/delete/prepend, so xyzzy.prepend(123) is
...
possible. That means that milestone 3 was reached.
2000-04-20 10:25:51 +00:00
Pavel Machek
0150e5211a
Cleaned up mess with types in e,a and e,S. Dynamic attributes should
...
now work.
2000-04-17 14:12:02 +00:00
Martin Mares
74a7da482b
Adding of dynamic attributes is hopefully correct now.
2000-04-17 13:41:50 +00:00
Pavel Machek
3bbc4ad6ad
Special hack for atomic_aggr.
2000-04-17 12:40:38 +00:00
Pavel Machek
708711c373
Community lists can be now accessed as dynamical attributes. Mj:
...
please create such dynamic atribute for bgp.
2000-04-17 12:38:24 +00:00
Pavel Machek
913ce95b08
EAF_ORIGINATED done right.
2000-04-17 11:52:32 +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
991c36b509
Use EAF_ORIGINATED as mj wanted. mj: check this!
2000-04-17 11:37:05 +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
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
2a40efa5e6
as_path_match moved to a-path.c
2000-04-17 11:11:33 +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
ecd25633bd
Use printing routine from nest/ instead of our own.
2000-04-17 10:54:01 +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
afc54517db
Prepend and creation of empty path should work, but it has strange
...
syntax for now.
2000-04-17 10:16:47 +00:00
Pavel Machek
0a40e97328
as_path_prepend is usable outside bgp.
2000-04-12 14:12:37 +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
Martin Mares
2803c9ddbe
Minor updates by Pavel.
2000-04-12 13:55:53 +00:00
Martin Mares
66d573d490
Attribute type hack.
2000-04-12 13:55:30 +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
Pavel Machek
78c6217c1e
Path printing is now much nicer: not having to put it backward
...
simplifies it. (Sorry for previous commit, cvs is naughty).
2000-04-12 10:34:45 +00:00
Pavel Machek
9196e9f8f9
Commit fixes.
2000-04-10 16:36:40 +00:00
Pavel Machek
7f77e25002
Functions for matching paths added, tested lightly.
...
Functions for working with community lists added, they compile.
This should not be definitive place for this stuff.
2000-04-10 15:07:43 +00:00
Martin Mares
798df5b1ab
When processing ACCEPT/REJECT carrying no message, don't print
...
trailing newline.
I hope the fix is correct, but please check.
2000-04-01 09:15:55 +00:00
Martin Mares
b157361533
SOURCE should really refer to rta->source, not rta->gw.
...
Please check that all rta attributes are available, I guess that at
least rta->dest is missing.
2000-04-01 09:15:10 +00:00
Martin Mares
3cf4a2e2b0
Removed lots of superfluous includes.
...
Use debug() instead of printf().
2000-03-31 23:35:59 +00:00
Martin Mares
221135d6bf
Include "lib/string.h" instead of <string.h>. It should give us bzero()
...
and other non-portable functions on all systems.
2000-03-31 23:30:21 +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