| Branch: | Revision:

iof-bird-daemon / filter / filter.c @ e29fa06e

History | View | Annotate | Download (23 KB)

# Date Author Comment
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

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.

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

Killed a couple of unused variables.

We really should compile with warnings enabled.

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

Prefix comparison bug (hopefully) fixed.

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.

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.

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.

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

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.

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";
0b1cad81 05/31/2000 09:50 PM Pavel Machek

Complain when filter does not end in accept nor reject.

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.

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.

e66e6c21 05/19/2000 04:57 PM Pavel Machek

If community list is not defined, act as it is empty.

9f0d45d6 05/17/2000 12:14 PM Pavel Machek

Finished cleanng up mess: multiplication reinstalled.

b1c9d871 05/16/2000 10:37 PM Martin Mares

Fixed the horrible mess Pavel has created with his last commit.

a96a979d 05/16/2000 06:50 PM Pavel Machek

Line numbers for runtime errors (what's wrong with cvs? I could not
commit this from home)

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

Allow other operations than +.

6be662d9 05/15/2000 12:07 PM Pavel Machek

Use new eval mechanism for testing filters.

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.

9a220cab 05/04/2000 08:52 PM Martin Mares

#ifdef out lots of debugging information.

The long resource/routing table dump printed upon startup is gone now
and if you wish to see it, just send bird SIGUSR1 or use the `debug'

2337ade7 04/30/2000 06:47 PM Pavel Machek

Moved documentation to top of file, where it belongs.

8c62d6e3 04/29/2000 05:48 PM Pavel Machek

Minor documentation update.

ff95080f 04/28/2000 09:48 AM Pavel Machek

Cleanup of dead code + example documentation for two functions.

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

Small cleanup.

2e5a8735 04/26/2000 09:36 AM Pavel Machek

filter_same should now work with path masks.

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.

0150e521 04/17/2000 02:12 PM Pavel Machek

Cleaned up mess with types in e,a and e,S. Dynamic attributes should
now work.

74a7da48 04/17/2000 01:41 PM Martin Mares

Adding of dynamic attributes is hopefully correct now.

708711c3 04/17/2000 12:38 PM Pavel Machek

Community lists can be now accessed as dynamical attributes. Mj:
please create such dynamic atribute for bgp.

913ce95b 04/17/2000 11:52 AM Pavel Machek

EAF_ORIGINATED done right.

2bd2de01 04/17/2000 11:49 AM Pavel Machek

pair ~ community list matching works.

991c36b5 04/17/2000 11:37 AM Pavel Machek

Use EAF_ORIGINATED as mj wanted. mj: check this!

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

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

159fa4ce 04/17/2000 11:20 AM Pavel Machek

Finish moving of path matching. Use int_set_print from core for
printing community lists.

2a40efa5 04/17/2000 11:11 AM Pavel Machek

as_path_match moved to a-path.c

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

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

ecd25633 04/17/2000 10:54 AM Pavel Machek

Use printing routine from nest/ instead of our own.

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.

0a40e973 04/12/2000 02:12 PM Pavel Machek

as_path_prepend is usable outside bgp.

2803c9dd 04/12/2000 01:55 PM Martin Mares

Minor updates by Pavel.

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.

78c6217c 04/12/2000 10:34 AM Pavel Machek

Path printing is now much nicer: not having to put it backward
simplifies it. (Sorry for previous commit, cvs is naughty).

9196e9f8 04/10/2000 04:36 PM Pavel Machek

Commit fixes.

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.

798df5b1 04/01/2000 09:15 AM Martin Mares

When processing ACCEPT/REJECT carrying no message, don't print
trailing newline.

I hope the fix is correct, but please check.

3cf4a2e2 03/31/2000 11:35 PM Martin Mares

Removed lots of superfluous includes.

Use debug() instead of printf().

3076b5ae 03/30/2000 08:50 AM Martin Mares

Renamed FF_OUTGOING to FF_FORCE_TMPATTR which much better fits the semantics.

Call rte_cow() instead of rte_do_cow(), so that COW works properly.

Stripped "\n" off several (de)bug messages.

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

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

81ce667b 03/12/2000 10:40 PM Martin Mares

Don't crash when filter_same() gets called on FILTER_ACCEPT or FILTER_REJECT.

6b9fa320 03/12/2000 09:01 PM Martin Mares

Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
several debug() calls converted to DBG.

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

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

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

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

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

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

9a4037d4 01/31/2000 05:44 PM Pavel Machek

filter_same() implemented. Don't bet on it, yet.

30a6108c 01/16/2000 05:49 PM Martin Mares

Added filter_same() for comparision of two filters.

Pavel, please implement this as soon as possible.

2ad6dcdb 12/01/1999 03:07 PM Martin Mares

Make ACCEPT/REJECT actually return the result...

7e1f9971 12/01/1999 12:54 PM Pavel Machek

accept should behave as return, not running any commands after it.

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

4aa885a5 11/25/1999 01:42 PM Pavel Machek

Filters: fix rta access to use ->aux field.

8f013d9c 11/24/1999 12:09 PM Pavel Machek

Sorry, previous commit did not even compile.

48f9e019 11/24/1999 12:04 PM Pavel Machek

Filters: write access to dynamic attributes should actually work. It
would be nice to find method of testing such beasts.

f31156ca 11/18/1999 02:29 PM Pavel Machek

Filters: first parts of extended attributes being read-write. It can
not actually work since I do not do rta/rte cow, yet.

c7b43f33 11/18/1999 02:01 PM Pavel Machek

Split inst->code into inst->code and inst->aux. Both are only 16 bit,
so aux is suitable for storing type but not much more.

346a12c2 11/18/1999 01:21 PM Pavel Machek

You can now print enum.

2f702671 11/10/1999 01:07 PM Pavel Machek

No more shift/reduce conflicts.

f4536657 11/10/1999 12:44 PM Pavel Machek

Enumerational types, defined keyword added.

91447965 11/04/1999 01:33 PM Pavel Machek

Possibility to access first extended attributes.

6dc7a0cb 11/03/1999 10:23 PM Pavel Machek

Filters now do not allow function (int arg; int arg2; ).

41be4444 10/28/1999 09:03 PM Pavel Machek

switch() { } done right.

d3dd620b 10/12/1999 06:27 AM Pavel Machek

Filters: permit variables of prefix types, cleanup around
variables. TODO list added, hopefully complete. Use new features of
filters in bird.conf

720d911d 10/07/1999 02:10 PM Pavel Machek

Added constants of type prefix and pair, added their printing

c9f8c1a8 10/07/1999 01:38 PM Pavel Machek

FIXME's added. Hopefully fixme list is now complete for filters.

7db7b7db 09/29/1999 02:24 PM Pavel Machek

Case arg { 1: printf "one"; } works. You can not use two commands
after one label, yet.

29818140 08/20/1999 09:59 AM Pavel Machek

Few FIXME's removed from auth, few FIXME's added to filter.

6542ece9 07/01/1999 09:11 AM Pavel Machek

Function calling in filters works - somehow. Calling syntax is
currently very ugly, beware. Variables are not really local - that
needs to be fixed.

36bbfc70 04/19/1999 06:41 PM Pavel Machek

Updated filters: they now actually see IP/pxlen of net being filtered,
gateway, and who told us, so they can do usefull jobs from now on.

43fc099b 04/13/1999 11:40 AM Pavel Machek

Sets of IP addresses should work, now. (From now on it is also
possible to write if <, but I'm not sure if it is good
for anything.)