]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Filter: Remove mixed address tests and fix formatting
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Thu, 26 Mar 2020 03:53:23 +0000 (04:53 +0100)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Thu, 26 Mar 2020 03:59:15 +0000 (04:59 +0100)
filter/test.conf
filter/trie.c

index d0941e11117646a4ef288162d36c28557b190d9a..634816fd90471c6afd336612ee021e796de28cb1 100644 (file)
@@ -380,6 +380,9 @@ function t_enum()
 {
        bt_assert(format(RTS_DUMMY)  = "(enum 30)0");
        bt_assert(format(RTS_STATIC) = "(enum 30)1");
+       bt_assert(format(NET_IP4) = "(enum 36)1");
+       bt_assert(format(NET_VPN6) = "(enum 36)4");
+
        bt_assert(RTS_STATIC ~ [RTS_STATIC, RTS_DEVICE]);
        bt_assert(RTS_BGP !~ [RTS_STATIC, RTS_DEVICE]);
 }
@@ -458,7 +461,8 @@ function t_prefix_set()
 prefix set pxs;
 {
        pxs = [ 1.2.0.0/16, 1.4.0.0/16+, 44.66.88.64/30{24,28}, 12.34.56.0/24{8,16} ];
-       bt_assert(format(pxs) = "[1.2.0.0/112{::0.1.0.0}, 1.4.0.0/112{::0.1.255.255}, 12.34.0.0/112{::1.255.0.0}, 44.66.88.64/124{::1f0}]");
+       bt_assert(format(pxs) = "[1.2.0.0/16{0.1.0.0}, 1.4.0.0/16{0.1.255.255}, 12.34.0.0/16{1.255.0.0}, 44.66.88.64/28{0.0.1.240}]");
+
        bt_assert(1.2.0.0/16 ~ pxs);
        bt_assert(1.4.0.0/16 ~ pxs);
        bt_assert(1.4.0.0/18 ~ pxs);
@@ -1038,6 +1042,7 @@ rd x;
        bt_assert(x != 2:12345:20000);
        bt_assert(!(x > 12345:200010));
 
+       bt_assert(format(0:1:2) = "1:2");
        bt_assert(format(10.0.0.1:1000) = "10.0.0.1:1000");
        bt_assert(format(100000:20000) = "100000:20000");
        bt_assert(format(2:100000:20000) = "100000:20000");
@@ -1247,7 +1252,7 @@ int j;
 
 filter roa_filter
 {
-       if net ~ [ 10.0.0.0/8{16,24}, 2000::/3{16,96} ] then {
+       if net ~ [ 10.0.0.0/8{16,24} ] || net ~ [ 2000::/3{16,96} ] then {
                accept;
        }
        reject;
@@ -1333,39 +1338,6 @@ bt_test_suite(t_roa_check, "Testing ROA");
 
 
 
-/*
- *      Testing Mixed Net Types
- *      -----------------------
- */
-
-function t_mixed_prefix()
-prefix set pxs;
-prefix set pxt;
-{
-       pxs = [ 98.45.0.0/16, 128.128.0.0/12+, 2200::/42-, ::ffff:d000:0/100{98,102}];
-       bt_assert(format(pxs) = "[::/0, ::/2{c000::}, 98.45.0.0/112{::0.1.0.0}, 128.128.0.0/108{::0.31.255.255}, 208.0.0.0/100{::124.0.0.0}, 2200::/42{ffff:ffff:ffc0::}]");
-       bt_assert(::fe00:0:0/88  !~ pxs);
-       bt_assert(::fffe:0:0/95  !~ pxs);
-       bt_assert(::ffff:d800:0/101 ~ pxs);
-       bt_assert(216.0.0.0/5 ~ pxs);
-       bt_assert(212.0.0.0/6 ~ pxs);
-       bt_assert(212.0.0.0/7 !~ pxs);
-       bt_assert(::ffff:8080:8080/121 ~ pxs);
-       bt_assert(::/0 ~ pxs);
-       bt_assert(0.0.0.0/0 !~ pxs);
-       bt_assert(128.135.64.17/32 ~ pxs);
-
-#      pxt = [ 0:1:2 10.1.10.0/24, 0:5:10000 10.1.10.0/24 ];
-#      print pxt;
-
-       bt_assert(format(NET_IP4) = "(enum 36)1"); ## if (net.type = NET_IP4) ...
-       bt_assert(format(NET_VPN6) = "(enum 36)4");
-       bt_assert(format(0:1:2) = "1:2");
-}
-
-bt_test_suite(t_mixed_prefix, "Testing mixed net types");
-
-
 filter vpn_filter
 {
        bt_assert(format(net) = "1:2 10.1.10.0/24");
index a0deeaa1a7017e1e873ea604fa4418776db32786..1a4e1ac3b3ca222fc1185e995cf004e4f61a7451 100644 (file)
@@ -438,7 +438,7 @@ trie_node_format4(const struct f_trie_node4 *t, buffer *buf)
     return;
 
   if (ip4_nonzero(t->accept))
-    buffer_print(buf, "%4I/%d{%4I}, ", t->addr, t->plen, t->accept);
+    buffer_print(buf, "%I4/%d{%I4}, ", t->addr, t->plen, t->accept);
 
   trie_node_format4(t->c[0], buf);
   trie_node_format4(t->c[1], buf);
@@ -451,7 +451,7 @@ trie_node_format6(const struct f_trie_node6 *t, buffer *buf)
     return;
 
   if (ip6_nonzero(t->accept))
-    buffer_print(buf, "%6I/%d{%6I}, ", t->addr, t->plen, t->accept);
+    buffer_print(buf, "%I6/%d{%I6}, ", t->addr, t->plen, t->accept);
 
   trie_node_format6(t->c[0], buf);
   trie_node_format6(t->c[1], buf);