| Branch: | Revision:

iof-bird-daemon / filter @ 094d2bdb

# Date Author Comment
094d2bdb 08/14/2012 02:46 PM Ondrej Zajicek

Implements ADD-PATH extension for BGP.

Allows to send and receive multiple routes for one network by one BGP
session. Also contains necessary core changes to support this (routing
tables accepting several routes for one network from one protocol).
It needs some more cleanup before merging to the master branch.

4be266a9 07/18/2012 05:29 PM Ondrej Zajicek

Implements wildcard matching in config file include.

Also fixes some minor bugs in include.

Thanks Kelly Cochran for suggestion and draft patch.

182a7895 04/28/2012 11:35 PM Ondrej Zajicek

Allows some modifications of dest attribute in filters.

af582c48 03/18/2012 04:32 PM Ondrej Zajicek

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.
0888a737 03/15/2012 08:07 PM Ondrej Zajicek

Extends set operations in filters.

Allows add/filter/delete clist on clist (set algebra on clists).

Allows number ~ bgppath match.

8796a8a5 03/15/2012 11:50 AM Ondrej Zajicek

Fixes name for unnamed filters.

Thanks to Alexander V. Chernikov for the suggestion.

117e3c4b 03/15/2012 11:18 AM Ondrej Zajicek

Fixes a bug in pair set intervals.

Pair intervals in form (a,b)..(c,d) were mishanded.

Thanks to Alexander Shikoff for the bugreport.

a03ede64 01/02/2012 11:42 PM Ondrej Zajicek

Fixes a tricky bug in route filtering.

Route attributes was used after rta was freed during copy-on-write in
filter code. This causes some random crashes, esp. with multipath

78e33c29 10/26/2011 06:06 PM Ondrej Zajicek

Some minor fixes in parser.

736fd730 09/27/2011 11:49 AM Ondrej Zajicek

Fixes a bug with multiple function arguments.

4271f2b7 09/18/2011 11:52 AM Ondrej Filip

Fixed problem during 'configure' with EC

48ec367a 09/11/2011 07:21 PM Ondrej Filip

Configuration can include other files.

42a0c054 08/14/2011 11:55 AM Ondrej Zajicek

BGP Extended communities.

fdf16eb6 07/03/2011 05:43 PM Ondrej Zajicek

Prints full community lists during 'show route all'.

e08d2ff0 06/26/2011 03:09 PM Ondrej Zajicek

Adds filter clist operation.

b8cc390e 05/06/2011 08:00 PM Ondrej Zajicek

Fixes several problems in filter syntax.

- 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.
c454872f 03/27/2011 09:27 PM Ondrej Filip

Avoid using stack.

4fc36f39 03/26/2011 01:18 PM Ondrej Filip

This adds (*,x) functionality.

0aa88530 03/23/2011 12:40 PM Ondrej Zajicek

Convert && and || to shortcut boolean operators.

26d92bb8 03/23/2011 11:49 AM Ondrej Zajicek

A hack to distinguish if..else from else: in case.

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...

938b191b 10/08/2010 11:00 PM Ondrej Zajicek

Fixes error handling in ASN expressions.

b2b7bbfc 10/04/2010 05:55 PM Ondrej Zajicek

Fixes scope of filter symbols.

0d1b3c4c 09/20/2010 11:01 AM Ondrej Zajicek

Changes print-like filter commands to use a log instead of a stderr.

And extends the log subsystem to better handle that.

2dec1e34 09/15/2010 12:01 AM Ondrej Zajicek

Fixes a bug in pair sets.

a58022a6 09/11/2010 06:14 PM Ondrej Zajicek

Fixes a bug in community set delete.

946dc15c 08/03/2010 03:35 PM Ondrej Filip

Documentation update and improvement of tests related to expressions in sets.

edaec901 08/03/2010 01:22 PM Ondrej Filip

Even set of number can be made by expressions.

4733b49e 08/03/2010 01:16 PM Ondrej Filip

Syntax of sets improved.

c477f489 07/27/2010 04:20 PM Ondrej Zajicek

Hostcache should use trie to filter relevant route changes.

7f0d245a 07/27/2010 03:17 PM Ondrej Zajicek

Minor changes in prefix trie.

ba5c0057 05/22/2010 08:47 PM Ondrej Zajicek

Extends pair set syntax, matching and deleting against clist.

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)).

d759c1a6 04/09/2010 03:42 PM Ondrej Zajicek

NEWS and version update.

0277cc0b 04/08/2010 03:47 PM Ondrej Zajicek

Revert "Fixes behavior of defined() on bgp_community attribute."

This reverts commit 74e9331fe0892c4c96b4c4d7db3f14bb7e9d928e.

126683fe 03/29/2010 05:29 PM Ondrej Zajicek

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....
aa461248 03/19/2010 08:41 AM Ondrej Zajicek

Clear local variables in filters and functions.

Fixes crash when used uninitialized variables.
This problem was surprisingly tricky to fix.

74e9331f 03/17/2010 11:10 PM Ondrej Zajicek

Fixes behavior of defined() on bgp_community attribute.

e8da1bd0 03/14/2010 11:34 PM Ondrej Zajicek

Fixes missing cases in filters.

dfd48621 02/17/2010 09:11 PM Ondrej Zajicek

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.

14f6aca4 02/17/2010 10:29 AM Ondrej Zajicek

Changes right recursion to left in the grammar of the case expression.

0efd6462 02/10/2010 11:30 AM Ondrej Filip

Define symbols as text between ''.

5f47c4c1 02/01/2010 11:03 PM Ondrej Zajicek

Changes right-recursion to left-recursion in a filter grammar.

Because we don't want to have a limit on a function/filter length.

1960d203 01/27/2010 10:45 PM Ondrej Filip

Priority for '||' and '&&' fixed.

7515dafc 01/27/2010 09:26 PM Ondrej Filip

Allow multiple || and && statements.

63542845 12/14/2009 07:37 PM Ondrej Zajicek

Merge branch 'dev' into ospf3


2eece54a 11/15/2009 01:24 PM Ondrej Zajicek

Fixes bug related to reconfiguration with bgp_path first/last operators.

3f22fa9e 11/09/2009 09:54 PM Ondrej Zajicek

Merge branch 'dev' into ospf3

4cdd0784 10/12/2009 09:31 PM Ondrej Zajicek

Implements protocol-specific router id and updates documentation.

52b9b2a1 10/12/2009 06:44 PM Ondrej Zajicek

Rename as_path_get_last/as_path_get_first to be consistent.

7ea5b00f 10/08/2009 02:23 PM Ondrej Zajicek

First and last accessors to as_paths.

54fe0d92 09/18/2009 11:59 AM Ondrej Zajicek

Fixes setting of IP addresses to route attributes (NEXT_HOP).

db96fccb 09/17/2009 11:11 PM Ondrej Zajicek

Fixes bug in filter rta copy-on-write.

Filters should try to copy-on-write just cached rtas.

f4c6ca8c 09/17/2009 11:35 AM Ondrej Zajicek

Fixes preference bounds.

05198c12 08/27/2009 05:01 PM Ondrej Zajicek

Some cleanups.

b49e6f5a 08/25/2009 02:42 PM Ondrej Zajicek

Temporary OSPFv3 development commit

5004d02c 06/25/2009 11:06 PM Ondrej Zajicek

Merge branch 'master' into dev

92a72a4c 06/01/2009 05:32 PM Ondrej Zajicek

Adds support for dynamic pair and bgp mask expressions.

f429d434 06/01/2009 02:20 PM Ondrej Zajicek

Removes some remnant of '|' bgp path separator.

23e563d8 05/29/2009 10:35 PM Ondrej Zajicek

Fixes buggy prefix ~ prefix matching.

9be1086d 05/29/2009 09:08 PM Ondrej Filip

New type variable 'V' defined in filters. This type is checked
only for name, never for value in function filter_same()

43de796b 05/29/2009 09:04 PM Ondrej Filip

Function pm_path_compare() checked just length of the bgpmasks

d59405ec 05/29/2009 09:02 PM Ondrej Filip

Typo in warning fixed.

a6c9f064 05/28/2009 11:37 AM Ondrej Filip

Missing boolean comparison added.

c8a6b9a3 04/16/2009 11:48 PM Ondrej Zajicek

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...

c60cdd8c 03/31/2009 07:17 PM Ondrej Zajicek

Cleanup changes

b1a597e0 03/31/2009 10:55 AM Ondrej Zajicek

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...

cf186034 03/14/2009 11:43 AM Ondrej Zajicek

New syntax for bgp_path

cb530392 02/26/2009 01:23 PM Ondrej Zajicek

Rate limit for most abundant log messages

82ba9032 02/21/2009 09:46 PM Ondrej Zajicek

Fixes crash during some expressions

Bird crashed when 'bgp_path.len' was used for routes that does
not came from BGP.

cd17c651 02/21/2009 04:47 PM Ondrej Zajicek

Add format for BGP_AGGREGATOR attribute

f9491630 01/27/2009 04:35 PM Ondrej Zajicek

New syntax for bgp_path

330aecea 12/25/2008 04:49 PM Ondrej Zajicek

Bugfix in interpret

Missing cases in filter code interpret leads to crash
when bgp_next_hop attr was queried.

083c43e2 12/25/2008 10:55 AM Ondrej Zajicek

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.

44711e0c 11/16/2008 09:16 PM Ondrej Zajicek

Fix some bugs in filter interpret.

e29fa06e 11/14/2008 01:50 PM Ondrej Zajicek

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*"

aebe06b4 11/08/2008 10:33 PM Ondrej Zajicek

Proper format functions for ORIGINATOR_ID, CLUSTER_LIST

4847a894 10/26/2008 09:45 PM Ondrej Zajicek

Implementation of route reflection for BGP

11cb6202 10/26/2008 09:36 PM Ondrej Zajicek

Implementation of 4B ASN support for BGP

9831e591 06/05/2004 09:58 AM Martin Mares

Staticized lots of local functions.

6ecd2060 06/05/2004 09:26 AM Martin Mares

... and in the filter.

6a57bb31 05/31/2004 08:57 PM Martin Mares

Killed a couple of unused variables.

We really should compile with warnings enabled.

03e3d184 05/31/2004 05:44 PM Martin Mares

Fix bison input for current build tools, otherwise bison or the compiler
will abort the build.

(by Andreas)

d85e1f0e 02/27/2003 10:48 AM Martin Mares

Prefix comparison bug (hopefully) fixed.

de10a974 11/13/2002 08:46 AM Martin Mares

Added missing semicolons.

4bb18dd2 06/08/2000 04:57 PM Pavel Machek

Fix i_same for 'c' instruction.

725270cb 06/08/2000 12:37 PM Martin Mares

Fixes for the programmer's manual.

a5a947d4 06/08/2000 10:26 AM Pavel Machek

Fixing error messages.

b178d92a 06/08/2000 08:24 AM Pavel Machek

Better messages

3e82b32d 06/07/2000 02:45 PM Pavel Machek

Progdocs updates

8dcf2544 06/07/2000 02:16 PM Pavel Machek

Even better documentation of filters.

907503ad 06/07/2000 02:00 PM Pavel Machek

Comment fix.

771ae456 06/07/2000 01:54 PM Pavel Machek

Better progdocs for filters

2e9b2421 06/07/2000 12:29 PM Martin Mares

Spelling fixes to progdoc.

4c5f93d7 06/05/2000 05:13 PM Pavel Machek

Better documentation. There are functions whose description is good when
reading source but whose documentation does not belong to progdocs.

8798c811 06/05/2000 04:36 PM Pavel Machek

Docs updates:

make prog.dvi

do not overflow in .dvi

include filter documentation in the system

98da26a0 06/05/2000 03:41 PM Pavel Machek

Better error messages

49222def 06/05/2000 03:06 PM Ondrej Filip

Bug in comment. It didn't compile.

b093c328 06/05/2000 12:52 PM Pavel Machek

Updates to both programmers and users doc

bf3eb98e 06/04/2000 07:30 PM Martin Mares

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.

f7667ba1 06/04/2000 06:46 PM Martin Mares

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.

64ba9f7b 06/02/2000 08:01 AM Pavel Machek

Do not try to divide by zero.