[RTNETLINK]: Fix sending netlink message when replace route.
When you replace route via ip r r command the netlink multicast message is not send. This patch corrects it. NL message is sent with NLM_F_REPLACE flag. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=8320 Signed-off-by: Milan Kocian <milon@wq.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
8a903be129
commit
b8f5583135
@@ -456,6 +456,8 @@ static int fn_hash_insert(struct fib_table *tb, struct fib_config *cfg)
|
||||
fib_release_info(fi_drop);
|
||||
if (state & FA_S_ACCESSED)
|
||||
rt_cache_flush(-1);
|
||||
rtmsg_fib(RTM_NEWROUTE, key, fa, cfg->fc_dst_len, tb->tb_id,
|
||||
&cfg->fc_nlinfo, NLM_F_REPLACE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -523,7 +525,7 @@ static int fn_hash_insert(struct fib_table *tb, struct fib_config *cfg)
|
||||
rt_cache_flush(-1);
|
||||
|
||||
rtmsg_fib(RTM_NEWROUTE, key, new_fa, cfg->fc_dst_len, tb->tb_id,
|
||||
&cfg->fc_nlinfo);
|
||||
&cfg->fc_nlinfo, 0);
|
||||
return 0;
|
||||
|
||||
out_free_new_fa:
|
||||
@@ -589,7 +591,7 @@ static int fn_hash_delete(struct fib_table *tb, struct fib_config *cfg)
|
||||
|
||||
fa = fa_to_delete;
|
||||
rtmsg_fib(RTM_DELROUTE, key, fa, cfg->fc_dst_len,
|
||||
tb->tb_id, &cfg->fc_nlinfo);
|
||||
tb->tb_id, &cfg->fc_nlinfo, 0);
|
||||
|
||||
kill_fn = 0;
|
||||
write_lock_bh(&fib_hash_lock);
|
||||
|
Reference in New Issue
Block a user