summaryrefslogtreecommitdiff
path: root/filter/test.conf
diff options
context:
space:
mode:
Diffstat (limited to 'filter/test.conf')
-rw-r--r--filter/test.conf82
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
* -------------
*/