diff options
Diffstat (limited to 'filter/test.conf')
-rw-r--r-- | filter/test.conf | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/filter/test.conf b/filter/test.conf index 40e7e838..078dafb9 100644 --- a/filter/test.conf +++ b/filter/test.conf @@ -319,6 +319,9 @@ ip p; p = ::fffe:6:c0c:936d:88c7:35d3; bt_assert(format(p) = "::fffe:6:c0c:936d:88c7:35d3"); + + p = 1234:5678::; + bt_assert(p.mask(24) = 1234:5600::); } bt_test_suite(t_ip, "Testing ip address"); @@ -467,6 +470,85 @@ bt_test_suite(t_prefix_set, "Testing prefix sets"); /* + * Testing Prefix IPv6 + * ------------------- + */ + +function t_prefix6() +prefix px; +{ + px = 1020::/18; + bt_assert(format(px) = "1020::/18"); + bt_assert(1020:3040:5060:: ~ 1020:3040:5000::/40); + bt_assert(1020:3040::/32 ~ 1020:3040::/32); + bt_assert(1020:3040::/33 ~ 1020:3040::/32); + bt_assert(1020:3040:5060::/48 ~ 1020:3040::/32); + bt_assert(1020:3040::/31 !~ 1020:3040::/32); + bt_assert(1020:3041::/33 !~ 1020:3040::/32); +} + +bt_test_suite(t_prefix6, "Testing prefix IPv6"); + + + + +/* + * Testing prefix IPv6 sets + * ------------------------ + */ + +function t_prefix6_set() +prefix set pxs; +{ + bt_assert(1180::/16 ~ [ 1100::/8{15, 17} ]); + bt_assert(12::34 = 12::34); + bt_assert(12::34 ~ [ 12::33..12::35 ]); + bt_assert(1020::34 ~ 1000::/8); + bt_assert(1000::/8 ~ 1000::/8); + bt_assert(1000::/8 ~ [ 1000::/8+ ]); + bt_assert(12::34 !~ [ 12::33, 12::35 ]); + bt_assert(1000::/9 !~ [ 1000::/8- ]); + bt_assert(1000::/17 !~ [ 1000::/8{15, 16} ]); + + pxs = [ 1102::/16, 1104::/16+]; + bt_assert(1102::/16 ~ pxs); + bt_assert(1104::/16 ~ pxs); + bt_assert(1104::/18 ~ pxs); + bt_assert(1104::/32 ~ pxs); + bt_assert(1101::/16 !~ pxs); + bt_assert(1103::/16 !~ pxs); + bt_assert(1102::/15 !~ pxs); + bt_assert(1102::/17 !~ pxs); + bt_assert(1102::/32 !~ pxs); + bt_assert(1104::/15 !~ pxs); + + pxs = ([ 1000::/16{8,12}, 2000::/16{24,28} ]); + bt_assert(format(pxs) = "[1000::/12{1f0::}, 2000::/16{0:1f0::}]"); + bt_assert(1000::/8 ~ pxs); + bt_assert(1000::/10 ~ pxs); + bt_assert(1000::/12 ~ pxs); + bt_assert(2000::/24 ~ pxs); + bt_assert(2000:4000::/24 ~ pxs); + bt_assert(2000::/26 ~ pxs); + bt_assert(2000:8000::/26 ~ pxs); + bt_assert(2000::/28 ~ pxs); + bt_assert(2000:FFF0::/28 ~ pxs); + bt_assert(1000::/7 !~ pxs); + bt_assert(1000::/13 !~ pxs); + bt_assert(1000::/16 !~ pxs); + bt_assert(2000::/16 !~ pxs); + bt_assert(2000::/23 !~ pxs); + bt_assert(2000::/29 !~ pxs); + bt_assert(1100::/10 !~ pxs); + bt_assert(2010::/26 !~ pxs); +} + +bt_test_suite(t_prefix6_set, "Testing prefix IPv6 sets"); + + + + +/* * Testing Paths * ------------- */ |