diff options
| author | James Morris <james.l.morris@oracle.com> | 2017-11-29 12:47:41 +1100 | 
|---|---|---|
| committer | James Morris <james.l.morris@oracle.com> | 2017-11-29 12:47:41 +1100 | 
| commit | cf40a76e7d5874bb25f4404eecc58a2e033af885 (patch) | |
| tree | 8fd81cbea03c87b3d41d7ae5b1d11eadd35d6ef5 /net/ipv4/fib_rules.c | |
| parent | ab5348c9c23cd253f5902980d2d8fe067dc24c82 (diff) | |
| parent | 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323 (diff) | |
Merge tag 'v4.15-rc1' into next-seccomp
Linux 4.15-rc1
Diffstat (limited to 'net/ipv4/fib_rules.c')
| -rw-r--r-- | net/ipv4/fib_rules.c | 44 | 
1 files changed, 10 insertions, 34 deletions
| diff --git a/net/ipv4/fib_rules.c b/net/ipv4/fib_rules.c index 778ecf977eb2..35d646a62ad4 100644 --- a/net/ipv4/fib_rules.c +++ b/net/ipv4/fib_rules.c @@ -68,6 +68,16 @@ bool fib4_rule_default(const struct fib_rule *rule)  }  EXPORT_SYMBOL_GPL(fib4_rule_default); +int fib4_rules_dump(struct net *net, struct notifier_block *nb) +{ +	return fib_rules_dump(net, nb, AF_INET); +} + +unsigned int fib4_rules_seq_read(struct net *net) +{ +	return fib_rules_seq_read(net, AF_INET); +} +  int __fib_lookup(struct net *net, struct flowi4 *flp,  		 struct fib_result *res, unsigned int flags)  { @@ -185,38 +195,6 @@ static struct fib_table *fib_empty_table(struct net *net)  	return NULL;  } -static int call_fib_rule_notifier(struct notifier_block *nb, struct net *net, -				  enum fib_event_type event_type, -				  struct fib_rule *rule) -{ -	struct fib_rule_notifier_info info = { -		.rule = rule, -	}; - -	return call_fib_notifier(nb, net, event_type, &info.info); -} - -static int call_fib_rule_notifiers(struct net *net, -				   enum fib_event_type event_type, -				   struct fib_rule *rule) -{ -	struct fib_rule_notifier_info info = { -		.rule = rule, -	}; - -	return call_fib_notifiers(net, event_type, &info.info); -} - -/* Called with rcu_read_lock() */ -void fib_rules_notify(struct net *net, struct notifier_block *nb) -{ -	struct fib_rules_ops *ops = net->ipv4.rules_ops; -	struct fib_rule *rule; - -	list_for_each_entry_rcu(rule, &ops->rules_list, list) -		call_fib_rule_notifier(nb, net, FIB_EVENT_RULE_ADD, rule); -} -  static const struct nla_policy fib4_rule_policy[FRA_MAX+1] = {  	FRA_GENERIC_POLICY,  	[FRA_FLOW]	= { .type = NLA_U32 }, @@ -273,7 +251,6 @@ static int fib4_rule_configure(struct fib_rule *rule, struct sk_buff *skb,  	rule4->tos = frh->tos;  	net->ipv4.fib_has_custom_rules = true; -	call_fib_rule_notifiers(net, FIB_EVENT_RULE_ADD, rule);  	err = 0;  errout: @@ -295,7 +272,6 @@ static int fib4_rule_delete(struct fib_rule *rule)  		net->ipv4.fib_num_tclassid_users--;  #endif  	net->ipv4.fib_has_custom_rules = true; -	call_fib_rule_notifiers(net, FIB_EVENT_RULE_DEL, rule);  errout:  	return err;  } | 
