mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-25 00:52:45 -04:00
ipv4: Elide fib_validate_source() completely when possible.
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: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -52,6 +52,7 @@ struct fib_rules_ops {
|
||||
struct sk_buff *,
|
||||
struct fib_rule_hdr *,
|
||||
struct nlattr **);
|
||||
void (*delete)(struct fib_rule *);
|
||||
int (*compare)(struct fib_rule *,
|
||||
struct fib_rule_hdr *,
|
||||
struct nlattr **);
|
||||
|
||||
Reference in New Issue
Block a user