• Alexander Duyck's avatar
    fib_trie: Add collapse() and should_collapse() to resize · 95f60ea3
    Alexander Duyck authored
    This patch really does two things.
    
    First it pulls the logic for determining if we should collapse one node out
    of the tree and the actual code doing the collapse into a separate pair of
    functions.  This helps to make the changes to these areas more readable.
    
    Second it encodes the upper 32b of the empty_children value onto the
    full_children value in the case of bits == KEYLENGTH.  By doing this we are
    able to handle the case of a 32b node where empty_children would appear to
    be 0 when it was actually 1ul << 32.
    Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    95f60ea3
fib_trie.c 59.4 KB