• Alexander Duyck's avatar
    fib_trie: Make leaf and tnode more uniform · 64c9b6fb
    Alexander Duyck authored
    This change makes some fundamental changes to the way leaves and tnodes are
    constructed.  The big differences are:
    1.  Leaves now populate pos and bits indicating their full key size.
    2.  Trie nodes now mask out their lower bits to be consistent with the leaf
    3.  Both structures have been reordered so that rt_trie_node now consisists
        of a much larger region including the pos, bits, and rcu portions of
        the tnode structure.
    
    On 32b systems this will result in the leaf being 4B larger as the pos and
    bits values were added to a hole created by the key as it was only 4B in
    length.
    Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    64c9b6fb
fib_trie.c 61.4 KB