net: Allow fib_rule_unregister to batch
Refactor the code so fib_rules_register always takes a template instead of the actual fib_rules_ops structure that will be used. This is required for network namespace support so 2 out of the 3 callers already do this, it allows the error handling to be made common, and it allows fib_rules_unregister to free the template for hte caller. Modify fib_rules_unregister to use call_rcu instead of syncrhonize_rcu to allw multiple namespaces to be cleaned up in the same rcu grace period. Signed-off-by:Eric W. Biederman <ebiederm@xmission.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- include/net/fib_rules.h 2 additions, 1 deletioninclude/net/fib_rules.h
- net/core/fib_rules.c 33 additions, 3 deletionsnet/core/fib_rules.c
- net/decnet/dn_rules.c 12 additions, 10 deletionsnet/decnet/dn_rules.c
- net/ipv4/fib_rules.c 3 additions, 9 deletionsnet/ipv4/fib_rules.c
- net/ipv6/fib6_rules.c 7 additions, 15 deletionsnet/ipv6/fib6_rules.c
Loading
Please register or sign in to comment