| @@ -6378,8 +6378,9 @@ errout: · 6377 unmodified lines |
| 6378 | 6378 | return err; |
| 6379 | 6379 | } |
| 6380 | 6380 | |
| 6381 | | −void inet6_rt_notify(int event, struct fib6_info *rt, struct nl_info *info, |
| 6382 | | − unsigned int nlm_flags) |
| 6381 | +static void __inet6_rt_notify(int event, struct fib6_info *rt, |
| 6382 | + struct nl_info *info, unsigned int nlm_flags, |
| 6383 | + enum rt_del_reason del_reason) |
| 6383 | 6384 | { |
| 6384 | 6385 | struct net *net = info->nl_net; |
| 6385 | 6386 | struct sk_buff *skb; |
| @@ -6398,8 +6399,7 @@ retry: · 12 unmodified lines |
| 6398 | 6399 | goto errout; |
| 6399 | 6400 | |
| 6400 | 6401 | err = rt6_fill_node(net, skb, rt, NULL, NULL, NULL, 0, |
| 6401 | | − event, info->portid, seq, nlm_flags, |
| 6402 | | − RT_DEL_REASON_UNSPEC); |
| 6402 | + event, info->portid, seq, nlm_flags, del_reason); |
| 6403 | 6403 | if (err < 0) { |
| 6404 | 6404 | kfree_skb(skb); |
| 6405 | 6405 | /* -EMSGSIZE implies needed space grew under us. */ |
| @@ -6420,6 +6420,18 @@ errout: · 14 unmodified lines |
| 6420 | 6420 | rtnl_set_sk_err(net, RTNLGRP_IPV6_ROUTE, err); |
| 6421 | 6421 | } |
| 6422 | 6422 | |
| 6423 | +void inet6_rt_notify(int event, struct fib6_info *rt, struct nl_info *info, |
| 6424 | + unsigned int nlm_flags) |
| 6425 | +{ |
| 6426 | + __inet6_rt_notify(event, rt, info, nlm_flags, RT_DEL_REASON_UNSPEC); |
| 6427 | +} |
| 6428 | + |
| 6429 | +void inet6_rt_del_notify(struct fib6_info *rt, struct nl_info *info, |
| 6430 | + enum rt_del_reason del_reason) |
| 6431 | +{ |
| 6432 | + __inet6_rt_notify(RTM_DELROUTE, rt, info, 0, del_reason); |
| 6433 | +} |
| 6434 | + |
| 6423 | 6435 | void fib6_rt_update(struct net *net, struct fib6_info *rt, |
| 6424 | 6436 | struct nl_info *info) |
| 6425 | 6437 | { |