1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

70 Commits

Author SHA1 Message Date
c8cafc8ebb Minor code cleanups 2016-11-08 17:46:29 +01:00
768d5e1058 Add !~ operator to filter grammar 2016-09-21 13:35:52 +02:00
a1beb8f3ee Relax BGP neighbor parameter
Permit specifying neighbor address, AS number and port independently.
Add 'interface' parameter for specifying interface for link-local
sessions independently.

Thanks to Alexander V. Chernikov for the original patch.
2015-02-22 13:50:58 +01:00
88a183c6c9 Integrated IP functions. 2014-10-24 11:11:43 +02:00
dcde7ae597 Allows to configure different remote port for BGP sessions.
Thanks to João Taveira Araújo for the original patch.
2014-10-02 12:52:50 +02:00
9eceab33f9 String constants could be used for string option values.
Thanks to Frederik Kriewitz for the patch.
2014-05-29 23:05:03 +02:00
0e175f9f0f Fixes some BFD bugs and makes logging thread-safe. 2013-10-05 20:12:28 +02:00
6a8d3f1c1f BFD work in progress.
Now it compiles and mostly works.
2013-09-16 23:57:40 +02:00
1103b32e83 Allows to define constants of all filter types. 2013-07-25 22:33:57 +02:00
af582c4811 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.
2012-03-18 17:32:30 +01:00
0f808c066f Adds filtering to 'show symbols' command.
Thanks Alexander V. Chernikov for the original patch.
2012-03-16 12:47:12 +01:00
20ab192bec Adds filtering to 'show ospf lsadb' command.
Thanks Alexander V. Chernikov for the original patch.
2012-03-16 12:12:26 +01:00
69a8259c5e Allows sticky link-local neighbors.
Allows using NEF_STICKY neighbors with link-local addresses. This is
used for static route nexthops, they can be specified like fe80::1%eth0
.
2012-01-01 12:14:42 +01:00
b8cc390e7e 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.
2011-05-06 22:00:54 +02:00
26d92bb892 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
that.
2011-03-23 12:49:53 +01:00
93e868c730 Implements Router Advertisement protocol. 2011-03-13 11:33:50 +01:00
112d71a73f Fixes syntactic priority of '.' .
Dot in expressions like net.len definitely should have the highhest
priority.
2010-10-08 14:25:53 +02:00
e304fd4bcf Implements pattern match for 'show protocols' command.
And generally consolidates protocol commands.
2010-02-20 00:08:07 +01:00
c37e78510f Makes date/time formats configurable. 2010-02-03 00:19:24 +01:00
1960d20350 Priority for '||' and '&&' fixed. 2010-01-27 23:45:36 +01:00
7515dafc00 Allow multiple || and && statements. 2010-01-27 22:26:45 +01:00
874b868544 Implements primary address selection base on 'primary' option. 2009-05-29 22:49:30 +02:00
b1a597e0c3 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
the documentation and broken.

There is also some bugfixes in filter code related to set variables.
2009-03-31 12:55:57 +02:00
cf18603491 New syntax for bgp_path 2009-03-14 12:43:10 +01:00
0d3effcf8c Time added in password management. 2005-02-12 22:27:55 +00:00
58f9453776 Moved parser docs to cf-lex.l, so that the parser compiles. 2000-06-04 15:22:20 +00:00
06607335ef Documentation. 2000-06-03 18:23:00 +00:00
5f4aee76a2 Added && and ||. 2000-06-01 08:43:29 +00:00
60de3356ab Resolved shift/reduce conflict 2000-05-16 14:24:33 +00:00
cc590a11a7 Changed syntax of expressions. Each `expr' can be now either a numeric literal
or a symbol or parenthesised filter expression.
2000-05-15 12:15:18 +00:00
e3f2d5fce3 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.
2000-05-15 11:48:23 +00:00
d3abfbc68d Added prefix_or_ipa. 2000-05-13 11:41:26 +00:00
758458be05 Unified parsing of prefixes.
Had to rename `prefix' in filters to `fprefix'.
2000-05-13 11:17:49 +00:00
6db8c5a63b pxlen works even in IPv6 mode. 2000-05-04 20:02:19 +00:00
dcab789047 Renamed f_path to f_path_mask -- which is what it really is. Use
linklist instead of array of signed integers for path mask.
2000-04-12 13:07:53 +00:00
c3edb89ec1 Path masks are needed for filters. 2000-04-12 12:49:53 +00:00
221135d6bf Include "lib/string.h" instead of <string.h>. It should give us bzero()
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00
16c07e3d51 Removed bogus comment. 2000-03-04 21:27:57 +00:00
a58dad6238 Please *think* when defining operator priorities.
(-: num_of_parser_conflicts -= 42 :-)
2000-03-04 21:19:10 +00:00
aee539f241 Made `datetime' more user friendly. Now it should be a quoted string
of type "dd-mm-yyyy".
2000-03-01 11:42:13 +00:00
2ca3d9a8fc Defined INVALID_TOKEN which is a token guaranteed to be never generated. 2000-03-01 11:30:16 +00:00
4ab5331c63 Added type `g' for void (general) pointer. 1999-12-06 13:50:50 +00:00
f2c6c80a24 I tried to turn on the YYERROR_VERBOSE switch, but bison is buggy as hell,
so it doesn't even compile. Turned it again off and added a comment on it.
1999-12-02 14:03:25 +00:00
730f2e2c8c Added dumping of routing tables (`show route'). This includes filtering. 1999-12-01 15:10:21 +00:00
3579376927 cli_msg() moved to cli.h, so that it can be used outside the parser. 1999-11-25 15:34:51 +00:00
ffb59d243a Command line interface now works. 1999-11-17 12:00:21 +00:00
944f008af7 Defined CF_ENUM. 1999-11-15 11:35:41 +00:00
f453665704 Enumerational types, defined keyword added. 1999-11-10 12:44:07 +00:00
bc2fb68098 Parse CLI commands. We use the same parser as for configuration files (because
we want to allow filter and similar complex constructs to be used in commands
and we should avoid code duplication), only with CLI_MARKER token prepended
before the whole input.

Defined macro CF_CLI(cmd, args, help) for defining CLI commands in .Y files.
The first argument specifies the command itself, the remaining two arguments
are copied to the help file (er, will be copied after the help file starts
to exist). This macro automatically creates a skeleton rule for the command,
you only need to append arguments as in:

	CF_CLI(STEAL MONEY, <$>, [[Steal <$> US dollars or equivalent in any other currency]]): NUM {
		cli_msg(0, "%d$ stolen", $3);
	} ;

Also don't forget to reset lexer state between inputs.
1999-10-31 17:47:47 +00:00
41be4444f2 switch() { } done right. 1999-10-28 21:03:36 +00:00