ipv4: Avoid overhead when no custom FIB rules are installed.
authorDavid S. Miller <davem@davemloft.net>
Fri, 6 Jul 2012 05:13:13 +0000 (22:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 Jul 2012 05:13:13 +0000 (22:13 -0700)
commitf4530fa574df4d833506c53697ed1daa0d390bf4
tree2a19ff4c8410d5aee18a78cddaeb765ed9aa95d6
parent700db99d0140e9da2a31e08ebd3e1b121691aa26
ipv4: Avoid overhead when no custom FIB rules are installed.

If the user hasn't actually installed any custom rules, or fiddled
with the default ones, don't go through the whole FIB rules layer.

It's just pure overhead.

Instead do what we do with CONFIG_IP_MULTIPLE_TABLES disabled, check
the individual tables by hand, one by one.

Also, move fib_num_tclassid_users into the ipv4 network namespace.

Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip_fib.h
include/net/netns/ipv4.h
net/ipv4/fib_frontend.c
net/ipv4/fib_rules.c
net/ipv4/fib_semantics.c