| Branch: | Revision:

iof-bird-daemon / filter / config.Y @ c8cafc8e

History | View | Annotate | Download (27.3 KB)

# Date Author Comment
c8cafc8e 11/08/2016 04:46 PM Ondrej Zajicek (work)

Minor code cleanups

60566c5c 10/03/2016 11:47 AM Ondrej Zajicek (work)

Filter: large community sets

Add support for lc sets to filter code. Grammar of (small) community sets
has to be updated to avoid parser collisions.

66dbdbd9 10/03/2016 10:48 AM Ondrej Zajicek (work)

BGP: Support for large communities

Add support for large communities (draft-ietf-idr-large-community),
96bit alternative to RFC 1997 communities.

Thanks to Matt Griswold for the original patch.

768d5e10 09/21/2016 11:35 AM Pavel Tvrdik

Add !~ operator to filter grammar

122deb6d 06/08/2016 10:30 PM Ondrej Zajicek (work)

Filters: Fixes pm_same() w.r.t. ASN ranges and ASN expressions

This is necessary for proper detection of filter changes during

a0fe1944 06/08/2016 02:22 PM Ondrej Filip

Add AS# ranges to bgpmask.

9c9cc35c 02/16/2016 04:33 PM Ondrej Zajicek (work)

Filter: Implement last_nonaggregated operator on bgp_path

51762a45 02/21/2015 01:05 PM Ondrej Zajicek

Allows user data attached to f_trie_node structure.

Thanks to Alexander Chernikov for the patch.

b2f00837 10/02/2014 10:52 AM Ondrej Zajicek

Allows more constants in set literals.

Thanks to Michael Fincham for the bugreport.

a5fc5958 09/26/2013 08:08 PM Ondrej Zajicek

Rewrites static attribute filter code and adds ifname/ifindex attributes.

Thanks to Sergey Popovich for the original ifname/ifindex patch.

00192d5a 08/13/2013 06:32 PM Ondrej Zajicek

Implements proper setting of 'gw' route attribute.

Thanks to Sergey Popovich for the bugreport.

4ee39ff2 07/26/2013 09:08 AM Ondrej Zajicek

Fixes initial random values for function arguments.

Thanks to Javor Kliachev for the bugreport.

1103b32e 07/25/2013 08:33 PM Ondrej Zajicek

Allows to define constants of all filter types.

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

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.

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

BGP Extended communities.

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.

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

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

Fixes scope of filter symbols.

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.

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

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.

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

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

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.

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

First and last accessors to as_paths.

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.

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

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

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

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

New syntax for bgp_path

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.

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

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

Implementation of 4B ASN support for BGP

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)

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

Added missing semicolons.

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

Fixing error messages.

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.

5f4aee76 06/01/2000 08:43 AM Pavel Machek

Added && and ||.

1877dab2 06/01/2000 08:34 AM Pavel Machek

case net {
else: reject;

1895e81e 06/01/2000 08:32 AM Pavel Machek

Allow matching on enums:

if !(scope ~ [ SCOPE_HOST, SCOPE_SITE ]) then {
print "Failed in test";
0dc4431c 05/30/2000 11:07 AM Pavel Machek

Access to all attributes we should be able to access seems to work.

26c09e1d 05/30/2000 10:42 AM Pavel Machek

Added read-only access to all required fields in rta.

2bdb5e00 05/30/2000 10:23 AM Pavel Machek

Cleaning static attributes

fe613ecd 05/30/2000 10:13 AM Pavel Machek

Access to few more attributes is needed.

ad9074e9 05/25/2000 03:20 PM Pavel Machek

Cleaned up warnings.

9a09a64b 05/25/2000 02:58 PM Pavel Machek

Use ? in path matching to avoid /* trap.

72282e2a 05/25/2000 12:33 PM Pavel Machek

Fixed comment not to be misleading.

60de3356 05/16/2000 02:24 PM Pavel Machek

Resolved shift/reduce conflict

c5a06f65 05/15/2000 12:27 PM Pavel Machek

Allow other operations than +.

cbfd671f 05/15/2000 12:19 PM Pavel Machek

Allow accessing defined symbols.

e3f2d5fc 05/15/2000 11:48 AM Martin Mares

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.

3b1c523d 05/15/2000 10:53 AM Martin Mares

Got rid of startup functions and filters_postconfig().

By the way, how do you expect pointers to fit in an int?

1c20608e 05/15/2000 10:49 AM Martin Mares

Added f_eval_int() and EVAL configuration command.

758458be 05/13/2000 11:17 AM Martin Mares

Unified parsing of prefixes.

Had to rename `prefix' in filters to `fprefix'.

2edb31b0 04/28/2000 03:11 PM Martin Mares

Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
C declarations etc.).

b0c9c21c 04/26/2000 09:38 AM Pavel Machek

Small cleanup.

f71bded6 04/26/2000 09:30 AM Pavel Machek

Bugfix in i_same (comparing of paths still does not work).

7a86a8b0 04/26/2000 08:03 AM Pavel Machek

Added code for testing filters.

94d9dfa4 04/26/2000 07:31 AM Pavel Machek

Startup renamed to __startup: it is internal function and mj already
uses word startup in other context.

7d6eebae 04/20/2000 10:25 AM Pavel Machek

Create syntax sugar for add/delete/prepend, so xyzzy.prepend(123) is
possible. That means that milestone 3 was reached.

4444ed2b 04/17/2000 11:42 AM Pavel Machek

It is good idea to separate entries in list somehow. Adding/deleting
to community lists from filters now works.

9c400ec9 04/17/2000 11:34 AM Pavel Machek

Int sets moved to core. It is now possible to have variable of type clist.

684c6f5a 04/17/2000 11:06 AM Pavel Machek

Path_getlen moved to nest and length was made callable from filters.

4b641bab 04/17/2000 10:50 AM Pavel Machek

Path matching now actually works, including / * 1 2 3 * /.

e399b6f6 04/17/2000 10:42 AM Pavel Machek

Path and path matching seem to work, now.

afc54517 04/17/2000 10:16 AM Pavel Machek

Prepend and creation of empty path should work, but it has strange
syntax for now.

a2d15746 04/12/2000 02:05 PM Pavel Machek

One less shift/reduce conflict.

10a53608 04/12/2000 01:31 PM Pavel Machek

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.

dcab7890 04/12/2000 01:07 PM Pavel Machek

Renamed f_path to f_path_mask -- which is what it really is. Use
linklist instead of array of signed integers for path mask.

77de6882 04/12/2000 12:10 PM Pavel Machek

BGP_PATH masks now actually work as data type.

7f77e250 04/10/2000 03:07 PM Pavel Machek

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.

b1573615 04/01/2000 09:15 AM Martin Mares

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.

221135d6 03/31/2000 11:30 PM Martin Mares

Include "lib/string.h" instead of <string.h>. It should give us bzero()
and other non-portable functions on all systems.

0a06a9b8 03/29/2000 09:02 AM Pavel Machek

f_run gets one more parameter to distinguish between in and out modes.

995e5894 03/09/2000 02:47 PM Pavel Machek

1 less shift/reduce conflict

print now takes arguments separated by ,

[ .. ] is now forbidden

[ ] now actually works

e4a73dbf 03/09/2000 01:21 PM Pavel Machek

CONST is now gone

9f4929e7 03/04/2000 10:30 PM Martin Mares

Renamed EAF_INLINE to EAF_TEMP to make the name reflect the real meaning.

a58dad62 03/04/2000 09:19 PM Martin Mares

Please think when defining operator priorities.

(: num_of_parser_conflicts -= 42 :)

d4d75628 03/02/2000 10:23 PM Pavel Machek

Avoid being exponential, do not allow ! =

31e79264 03/01/2000 02:31 PM Pavel Machek

tmp_attrs fixed.

I do not know if it is right since mj ingores talk once started :-(.

db1326aa 03/01/2000 11:32 AM Martin Mares

Dynamic attributes are now declared in per-protocol grammar files instead
of filter/config.Y. Bird now compiles even if you disable RIP.

Removed RTA and IMPOSSIBLE tokens (unused).

Removed superfluous comment in filter.h.

I've tried to do my best, but Pavel, please check these changes.

2d496d20 02/25/2000 11:15 AM Pavel Machek

Get rid of 'ab'-s, added return to functions.

70844a6a 01/26/2000 09:28 PM Pavel Machek

Updated docs about filters, and added fixme.

60d7d10e 12/18/1999 08:39 PM Pavel Machek

Added fixme.

2e18b87d 12/08/1999 12:51 PM Pavel Machek

Disallow syntax.

6c14255d 12/08/1999 10:15 AM Pavel Machek

Make rta. syntax optional.

430da60f 12/02/1999 02:04 PM Martin Mares

Implemented `show route where <condition>' command.

Pavel, please check my addition to filter/config.Y.

6781e521 12/01/1999 11:39 AM Pavel Machek

FIXME's cleaned up: I have actually fixed things without killing

There are no urgent FIXME's in filters. Perhaps we should start with