summaryrefslogtreecommitdiffstats
path: root/filter/config.Y
AgeCommit message (Collapse)Author
2011-05-06Fixes several problems in filter syntax.Ondrej Zajicek
- 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-03-27Avoid using stack.Ondrej Filip
2011-03-26This adds (*,x) functionality.Ondrej Filip
2011-03-23A hack to distinguish if..else from else: in case.Ondrej Zajicek
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.
2010-10-04Fixes scope of filter symbols.Ondrej Zajicek
2010-08-03Even set of number can be made by expressions.Ondrej Filip
2010-08-03Syntax of sets improved.Ondrej Filip
2010-07-27Minor changes in prefix trie.Ondrej Zajicek
2010-05-22Extends pair set syntax, matching and deleting against clist.Ondrej Zajicek
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-03-29Filter language updates; new route attributes and datatype.Ondrej Zajicek
- 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-19Clear local variables in filters and functions.Ondrej Zajicek
Fixes crash when used uninitialized variables. This problem was surprisingly tricky to fix.
2010-02-17Changes right recursion to left in the grammar of the case expression.Ondrej Zajicek
2010-02-02Changes right-recursion to left-recursion in a filter grammar.Ondrej Zajicek
Because we don't want to have a limit on a function/filter length.
2009-10-08First and last accessors to as_paths.Ondrej Zajicek
2009-06-26Merge branch 'master' into devOndrej Zajicek
2009-06-01Adds support for dynamic pair and bgp mask expressions.Ondrej Zajicek
2009-06-01Removes some remnant of '|' bgp path separator.Ondrej Zajicek
2009-05-29New type variable 'V' defined in filters. This type is checkedOndrej Filip
only for name, never for value in function filter_same()
2009-04-17Rewrite of buggy AS path matching.Ondrej Zajicek
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-03-31Reimplementation of prefix sets.Ondrej Zajicek
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-14New syntax for bgp_pathOndrej Zajicek
2009-01-27New syntax for bgp_pathOndrej Zajicek
2008-12-25fixes some 64-bit related bugs.Ondrej Zajicek
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-11-14New read-only route attribute 'proto' added. It returns a stringOndrej Zajicek
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-10-26Implementation of 4B ASN support for BGPOndrej Zajicek
2004-05-31Fix bison input for current build tools, otherwise bison or the compilerMartin Mares
will abort the build. (by Andreas)
2002-11-13Added missing semicolons.Martin Mares
2000-06-08Fixing error messages.Pavel Machek
2000-06-04Use nested scopes properly. Updated according to cf_define_symbol() changes.Martin Mares
The rest of code doesn't need changing since it doesn't use nesting.
2000-06-01Added && and ||.Pavel Machek
2000-06-01AllowPavel Machek
case net { 62.0.0.0/8+: 10.0.0.0/8+: else: reject; }
2000-06-01Allow matching on enums:Pavel Machek
if !(scope ~ [ SCOPE_HOST, SCOPE_SITE ]) then { print "Failed in test"; quitbird; }
2000-05-30Access to all attributes we should be able to access seems to work.Pavel Machek
2000-05-30Added read-only access to all required fields in rta.Pavel Machek
2000-05-30Cleaning static attributesPavel Machek
2000-05-30Access to few more attributes is needed.Pavel Machek
2000-05-25Cleaned up warnings.Pavel Machek
2000-05-25Use ? in path matching to avoid /* trap.Pavel Machek
2000-05-25Fixed comment not to be misleading.Pavel Machek
2000-05-16Resolved shift/reduce conflictPavel Machek
2000-05-15Allow other operations than +.Pavel Machek
2000-05-15Allow accessing defined symbols.Pavel Machek
2000-05-15Cleanup of configuration.Martin Mares
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-15Got rid of startup functions and filters_postconfig().Martin Mares
By the way, how do you expect pointers to fit in an int?
2000-05-15Added f_eval_int() and EVAL configuration command.Martin Mares
2000-05-13Unified parsing of prefixes.Martin Mares
Had to rename `prefix' in filters to `fprefix'.
2000-04-28Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,Martin Mares
C declarations etc.).
2000-04-26Small cleanup.Pavel Machek
2000-04-26Bugfix in i_same (comparing of paths still does not work).Pavel Machek
2000-04-26Added code for testing filters.Pavel Machek