summaryrefslogtreecommitdiffstats
path: root/filter/filter.c
AgeCommit message (Collapse)Author
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-04-08Revert "Fixes behavior of defined() on bgp_community attribute."Ondrej Zajicek
This reverts commit 74e9331fe0892c4c96b4c4d7db3f14bb7e9d928e.
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-03-18Fixes behavior of defined() on bgp_community attribute.Ondrej Zajicek
2010-03-15Fixes missing cases in filters.Ondrej Zajicek
2010-02-17Replaces the algorithm for building balanced trees.Ondrej Zajicek
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.
2009-11-15Fixes bug related to reconfiguration with bgp_path first/last operators.Ondrej Zajicek
2009-10-12Rename as_path_get_last/as_path_get_first to be consistent.Ondrej Zajicek
2009-10-08First and last accessors to as_paths.Ondrej Zajicek
2009-09-18Fixes setting of IP addresses to route attributes (NEXT_HOP).Ondrej Zajicek
2009-09-18Fixes bug in filter rta copy-on-write.Ondrej Zajicek
Filters should try to copy-on-write just cached rtas.
2009-09-17Fixes preference bounds.Ondrej Zajicek
2009-06-26Merge branch 'master' into devOndrej Zajicek
2009-06-01Adds support for dynamic pair and bgp mask expressions.Ondrej Zajicek
2009-05-30Fixes buggy prefix ~ prefix matching.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-05-29Function pm_path_compare() checked just length of the bgpmasksOndrej Filip
2009-05-29Typo in warning fixed.Ondrej Filip
2009-05-28Missing boolean comparison added.Ondrej Filip
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-02-26Rate limit for most abundant log messagesOndrej Zajicek
2009-02-21Fixes crash during some expressionsOndrej Zajicek
Bird crashed when 'bgp_path.len' was used for routes that does not came from BGP.
2009-02-21Add format for BGP_AGGREGATOR attributeOndrej Zajicek
2008-12-25Bugfix in interpretOndrej Zajicek
Missing cases in filter code interpret leads to crash when bgp_next_hop attr was queried.
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-16Fix some bugs in filter interpret.Ondrej Zajicek
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-11-08Proper format functions for ORIGINATOR_ID, CLUSTER_LISTOndrej Zajicek
2008-10-26Implementation of 4B ASN support for BGPOndrej Zajicek
2004-06-05Staticized lots of local functions.Martin Mares
2004-05-31Killed a couple of unused variables.Martin Mares
We really should compile with warnings enabled.
2003-02-27Prefix comparison bug (hopefully) fixed.Martin Mares
2000-06-08Fix i_same for 'c' instruction.Pavel Machek
2000-06-08Fixes for the programmer's manual.Martin Mares
2000-06-08Better messagesPavel Machek
2000-06-07Progdocs updatesPavel Machek
2000-06-07Even better documentation of filters.Pavel Machek
2000-06-07Better progdocs for filtersPavel Machek
2000-06-07Spelling fixes to progdoc.Martin Mares
2000-06-05Better documentation. There are functions whose description is good whenPavel Machek
reading source but whose documentation does not belong to progdocs.
2000-06-05Better error messagesPavel Machek
2000-06-05Bug in comment. It didn't compile.Ondrej Filip
2000-06-05Updates to both programmers and users docPavel Machek
2000-06-04When cloning a rte and replacing its rta, remember to free the old oneMartin Mares
so that we don't leak memory. Thanks go to the resource tracking system for quickly discovering the source of leakages.
2000-06-02Do not try to divide by zero.Pavel Machek
2000-06-01Added && and ||.Pavel Machek
2000-06-01AllowPavel Machek
case net { 62.0.0.0/8+: 10.0.0.0/8+: else: reject; }