• Martin KaFai Lau's avatar
    ipv6: Remove BACKTRACK macro · a3c00e46
    Martin KaFai Lau authored
    It is the prep work to reduce the number of calls to fib6_lookup().
    
    The BACKTRACK macro could be hard-to-read and error-prone due to
    its side effects (mainly goto).
    
    This patch is to:
    1. Replace BACKTRACK macro with a function (fib6_backtrack) with the following
       return values:
       * If it is backtrack-able, returns next fn for retry.
       * If it reaches the root, returns NULL.
    2. The caller needs to decide if a backtrack is needed (by testing
       rt == net->ipv6.ip6_null_entry).
    3. Rename the goto labels in ip6_pol_route() to make the next few
       patches easier to read.
    
    Cc: David Miller <davem@davemloft.net>
    Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
    Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a3c00e46
route.c 77.6 KB