]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Filter: Fix trie test
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Sun, 5 Apr 2020 01:56:07 +0000 (03:56 +0200)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Sat, 25 Sep 2021 14:06:43 +0000 (16:06 +0200)
Generated prefixes must be valid.

filter/trie_test.c

index b2b3671644bff2f384254a34205c9b6f5e65368f..5e931e4e7a3cefa7b354970a398c46035bfdd74d 100644 (file)
@@ -58,7 +58,8 @@ get_random_ip6_prefix(void)
   struct f_prefix p;
   u8 pxlen = xrandom(120)+8;
   ip6_addr ip6 = ip6_build(bt_random(),bt_random(),bt_random(),bt_random());
-  net_addr_ip6 net6 = NET_ADDR_IP6(ip6, pxlen);
+  ip6_addr mask = ip6_mkmask(pxlen);
+  net_addr_ip6 net6 = NET_ADDR_IP6(ip6_and(ip6, mask), pxlen);
 
   p.net = *((net_addr*) &net6);
 
@@ -87,7 +88,7 @@ generate_random_ipv6_prefixes(list *prefixes)
     struct f_prefix_node *px = calloc(1, sizeof(struct f_prefix_node));
     px->prefix = f;
 
-    bt_debug("ADD\t" PRIip6 "/%d %d-%d\n", ARGip6(net6_prefix(&px->prefix.net)), px->prefix.net.pxlen, px->prefix.lo, px->prefix.hi);
+    bt_debug("ADD\t" PRIip6 "/%d{%d,%d}\n", ARGip6(net6_prefix(&px->prefix.net)), px->prefix.net.pxlen, px->prefix.lo, px->prefix.hi);
     add_tail(prefixes, &px->n);
   }
 }