On 06/08/2019 09:54 PM, Jonathan Lemon wrote:
> If the leftmost parent node of the tree has does not have a child
> on the left side, then trie_get_next_key (and bpftool map dump) will
> not look at the child on the right. This leads to the traversal
> missing elements.
>
> Lookup is not affected.
>
> Update selftest to handle this case.
>
> Reproducer:
>
> bpftool map create /sys/fs/bpf/lpm type lpm_trie key 6 \
> value 1 entries 256 name test_lpm flags 1
> bpftool map update pinned /sys/fs/bpf/lpm key 8 0 0 0 0 0 value 1
> bpftool map update pinned /sys/fs/bpf/lpm key 16 0 0 0 0 128 value 2
> bpftool map dump pinned /sys/fs/bpf/lpm
>
> Returns only 1 element. (2 expected)
>
> Fixes: b471f2f1de8 ("bpf: implement MAP_GET_NEXT_KEY command for LPM_TRIE")
> Signed-off-by: Jonathan Lemon <[email protected]>
Applied, thanks!