• David S. Miller's avatar
    ipv4: Elide fib_validate_source() completely when possible. · 7a9bc9b8
    David S. Miller authored
    If rpfilter is off (or the SKB has an IPSEC path) and there are not
    tclassid users, we don't have to do anything at all when
    fib_validate_source() is invoked besides setting the itag to zero.
    
    We monitor tclassid uses with a counter (modified only under RTNL and
    marked __read_mostly) and we protect the fib_validate_source() real
    work with a test against this counter and whether rpfilter is to be
    done.
    
    Having a way to know whether we need no tclassid processing or not
    also opens the door for future optimized rpfilter algorithms that do
    not perform full FIB lookups.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7a9bc9b8
fib_frontend.c 27.3 KB