Maria Matejka
14bb6fd29a
Merge commit 'bcb25084d31fdb90fcf1666f10e73fe0f863afc0' into sark-bgp-rebased
2022-02-04 15:24:28 +01:00
Maria Matejka
92e48894c3
Merge commit '75aceadaf746f8ed0acce0424f89903283dacf16' into sark-bgp-rebased
2022-02-04 15:21:16 +01:00
Ondrej Zajicek (work)
29dda184e5
Conf: Fix parsing full-length IPv6 addresses
...
Lexer expression for bytestring was too loose, accepting also
full-length IPv6 addresses. It should be restricted such that
colon is used between every byte or never.
Fix the regex and also add some test cases for it.
Thanks to Alexander Zubkov for the bugreport
2022-01-05 16:38:49 +01:00
Alexander Zubkov
0e1fd7ea6a
Filter: Add operators to find minimum and maximum element of sets
...
Add operators .min and .max to find minumum or maximum element in sets
of types: clist, eclist, lclist. Example usage:
bgp_community.min
bgp_ext_community.max
filter(bgp_large_community, [(as1, as2, *)]).min
Signed-off-by: Alexander Zubkov <green@qrator.net>
2021-12-28 04:07:09 +01:00
Alexander Zubkov
a2a268da4f
Filter: Add operators to pick community components
...
Add operators that can be used to pick components from
pair (standard community) or lc (large community) types.
For example:
(10, 20).asn --> 10
(10, 20).data --> 20
(10, 20, 30).asn --> 10
(10, 20, 30).data1 --> 20
(10, 20, 30).data2 --> 30
Signed-off-by: Alexander Zubkov <green@qrator.net>
2021-12-28 04:07:00 +01:00
Maria Matejka
3660f19dd5
Dropping the RTS_DUMMY temporary route storage.
...
Kernel route sync is done by other ways now and this code is not used
currently.
2021-10-13 19:09:04 +02:00
Ondrej Zajicek (work)
abc9ccc5cb
Flowspec: Label field should use numeric operator and not bitmask operator
2021-05-18 20:23:08 +02:00
Ondrej Zajicek (work)
dd8481cc1c
Flowspec: Do not use comma for bitmask operators
...
For numeric operators, comma is used for disjunction in expressions like
"10, 20, 30..40". But for bitmask operators, comma is used for
conjunction in a way that does not really make much sense. Use always
explicit logical operators (&& and ||) to connect bitmask operators.
Thanks to Matt Corallo for the bugreport.
2021-05-18 19:54:18 +02:00
Ondrej Zajicek (work)
ec430a7fee
Nest: Implement BGP path mask loop operator
...
Implement regex-like '+' operator in BGP path masks to match previous
path mask item multiple times. This is useful as ASNs may appear
multiple times in paths due to path prepending for traffic engineering
purposes.
2020-05-18 16:25:08 +02:00
Ondrej Zajicek (work)
c9d11e6230
Filter: Remove mixed address tests and fix formatting
2020-03-26 04:59:15 +01:00
Ondrej Zajicek (work)
3dabf7b8d0
Test: Improve filter_test
...
Initial parsing of test.conf must be done directly in filter_test main,
while reconfiguration is handled as a regular test. Also fix several
minor issues in test code.
2019-12-17 00:01:53 +01:00
Ondrej Zajicek
6fbcd8914a
Filter: Parse-time typechecks
...
Most expressions can be type-validated in parse time. It is not
strong enough to eliminate runtime checks, but at least one gets
errors immediately during reconfigure.
2019-11-05 15:28:47 +01:00
Maria Matejka
dfe63ed84d
Filter: Fixing empty block and never-executed-statement bug
2019-08-13 16:45:27 +02:00
Ondrej Zajicek (work)
9f3e098320
Filter: Allow to use set constants / expressions in path masks
...
Allow to not only use set literals in path masks, but also existing
set constants or set expressions.
2019-08-06 18:54:19 +02:00
Ondrej Zajicek (work)
ef113c6f72
Filter: Allow to use sets in path masks
2019-08-06 16:58:13 +02:00
Jan Maria Matejka
96d757c13f
Filter: Store variables and function arguments on stack
2019-05-21 16:33:37 +00:00
Maria Matejka
fe503c7c06
Filter: fixed error-checking bug in !~ operator
2019-03-23 13:32:14 +01:00
Maria Matejka
d1039926f5
Filter: Interpreter merged into the common m4 generator.
...
The config-time partial evaluation of constant expressions in filters is nearby.
2019-02-20 22:30:55 +01:00
Maria Matejka
ea4f55e3dc
Filter: More cleanup -- customized structures also in struct f_line_item
2019-02-20 22:30:55 +01:00
Maria Matejka
132529ce89
Filter: merged filter compare functions into common M4 file
2019-02-20 22:30:55 +01:00
Maria Matejka
c0e958e022
Filter + Config: Fix bugs, tests and split symbols by type
2019-02-20 22:30:54 +01:00
Ondrej Zajicek (work)
83715aa829
Filter: Add support for VPN_RD sets
2018-10-25 11:26:58 +02:00
Ondrej Zajicek (work)
ed1d853e51
Filter: Remove old BGP path mask syntax from tests
2017-12-08 17:31:33 +01:00
Ondrej Zajicek (work)
751fb2366c
Test: Fix broken test for filters
2017-04-26 14:11:28 +02:00
Jan Moskyto Matejka
2af807a83f
Test: fixed broken test for VPN RD output
2017-04-26 12:19:39 +02:00
Jan Moskyto Matejka
61e501da89
Filter: Check whether IP is 4 or 6
2017-03-22 14:53:37 +01:00
Jan Moskyto Matejka
8c9986d310
Filters: VPN Route Distinguishers, Prefix Type, Docs Update
2017-03-13 13:51:20 +01:00
Jan Moskyto Matejka
54334b5667
Filter: ROA check test and mixed prefix test
2017-03-09 15:57:54 +01:00
Ondrej Zajicek (work)
77234bbbde
Basic flow specification support (RFC 5575)
...
Add flow4/flow6 network and rt-table type and operations, config grammar
and static protocol support.
Squashed flowspec branch from Pavel Tvrdik.
2016-12-07 15:54:19 +01:00
Jan Moskyto Matejka
ad88b94bca
Merge branch 'int-new-rpki-squashed' (early part) into int-new
2016-12-07 15:30:46 +01:00
Pavel Tvrdik
cd6ca9b1f6
filter/test.conf: add ROA check and operator tests
2016-12-07 09:35:24 +01:00
Pavel Tvrdik
5df4073c81
filter/test.conf: Minor changes in order of calls
2016-11-30 11:57:35 +01:00
Pavel Tvrdik
012a0d6bf8
Merge test6.conf IPv6 tests into test.conf
2016-11-30 11:57:35 +01:00
Pavel Tvrdik
c39a1cb17e
filter/test.conf: Extend tests
2016-11-16 17:01:09 +01:00
Pavel Tvrdik
0ed1e85091
filter/test.conf: Reorder tests
...
Tests are sorted from trivial tests to more complex tests
2016-11-16 13:46:43 +01:00
Pavel Tvrdik
7dea7ccb10
filter/test.conf: Replace print func with assert and format
2016-11-16 12:22:01 +01:00
Ondrej Zajicek (work)
101c5a50aa
Filter: Add long community tests
...
Based on Pavel Tvrdik's int-test-lc branch.
2016-11-09 19:09:24 +01:00
Ondrej Zajicek (work)
9b0a0ba9e6
Unit Testing for BIRD
...
- Unit Testing Framework (BirdTest)
- Integration of BirdTest into the BIRD build system
- Tests for several BIRD modules
Based on squashed Pavel Tvrdik's int-test branch, updated for
current int-new branch.
2016-11-09 16:36:34 +01:00
Ondrej Zajicek (work)
8860e991f6
Merge branch 'master' into int-new
2016-11-08 19:27:58 +01:00
Ondrej Zajicek (work)
cc5b93f72d
Merge tag 'v1.6.2' into int-new
2016-11-08 17:04:29 +01:00
Ondrej Zajicek (work)
c68e8cd374
Filter: Minor formatting changes in test.conf
2016-10-18 13:06:51 +02:00
Pavel Tvrdik
5fd7dacadc
Filter: Expand testing of large community sets
2016-10-13 15:17:41 +02:00
Ondrej Zajicek (work)
66dbdbd993
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.
2016-10-03 12:48:56 +02:00
Pavel Tvrdik
5de0e848de
filter/test.conf: fixes formating
2016-06-30 15:00:47 +02:00
Ondrej Zajicek (work)
122deb6d5b
Filters: Fixes pm_same() w.r.t. ASN ranges and ASN expressions
...
This is necessary for proper detection of filter changes during
reconfigurations.
2016-06-09 00:30:41 +02:00
Ondrej Filip
a0fe1944d1
Add AS# ranges to bgpmask.
2016-06-08 16:22:44 +02:00
Ondrej Zajicek (work)
04632fd77f
Follow-up work on integration
2015-12-24 15:56:04 +01:00
Ondrej Zajicek
b2f008378a
Allows more constants in set literals.
...
Thanks to Michael Fincham for the bugreport.
2014-10-02 12:52:50 +02:00
Ondrej Zajicek
6285793f18
Replaces function name in test.conf as it collided with new keyword.
2014-07-07 22:23:37 +02:00
Ondrej Zajicek
56027b5cbd
Minor fix in log_commit() w.r.t. changes in BFD branch.
2013-11-22 21:58:43 +01:00