Ondrej Filip
a6c9f0648d
Missing boolean comparison added.
2009-05-28 13:37:04 +02:00
Ondrej Zajicek
c8a6b9a3d1
Rewrite of buggy AS path matching.
...
Old AS path maching supposes thath AS number appears
only once in AS path, but that is not true. It also
contains some bugs related to AS path sets.
New code does not use any assumptions about semantic
structure of AS path. It is asymptotically slower than
the old code, but on real paths it is not significant.
It also allows '?' for matching one arbitrary AS number.
2009-04-17 01:48:36 +02:00
Ondrej Zajicek
c60cdd8c39
Cleanup changes
2009-03-31 21:17:00 +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
Ondrej Zajicek
cb53039271
Rate limit for most abundant log messages
2009-02-26 14:23:54 +01:00
Ondrej Zajicek
82ba9032be
Fixes crash during some expressions
...
Bird crashed when 'bgp_path.len' was used for routes that does
not came from BGP.
2009-02-21 22:46:50 +01:00
Ondrej Zajicek
cd17c651a6
Add format for BGP_AGGREGATOR attribute
2009-02-21 17:47:56 +01:00
Ondrej Zajicek
f949163039
New syntax for bgp_path
2009-01-27 17:35:00 +01:00
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