diff options
author | Thomas Gschwantner <tharre3@gmail.com> | 2019-12-03 01:41:41 +0100 |
---|---|---|
committer | Thomas Gschwantner <tharre3@gmail.com> | 2019-12-11 06:22:17 +0100 |
commit | 7a05c232f8eb66565001022708159127b78f3ce2 (patch) | |
tree | 9557db7f399aa733e48e41d38b9ee66aa5b44594 /radix-trie.h | |
parent | radix-trie: fix bug where /64 pools would overflow (diff) | |
download | wg-dynamic-7a05c232f8eb66565001022708159127b78f3ce2.tar.xz wg-dynamic-7a05c232f8eb66565001022708159127b78f3ce2.zip |
radix-trie: fix issues related to shadow-/counting
Previously it was possible that pools would not be correctly shadowed
and/or the left or right counters were not updated properly. To fix
that, every node now has flags indicating what type of node it is, and
if it's shadowed. Furthermore, We determine if a poolnode needs to be
(un)shadowed by walking the trie now.
remove_node() now also only modifies the left right counters if the
target node was actually found.
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions