diff options
author | Milan Kocian <milon@wq.cz> | 2007-05-23 17:55:06 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-05-24 19:36:53 -0400 |
commit | b8f558313506b5bc435f2e031f3bec4b1725098e (patch) | |
tree | e82ba2864feff645abfd31ac49b3c235e48ded3d /net/ipv4/fib_trie.c | |
parent | 8a903be129a741fd1e1d44223f0e3a01c357bde5 (diff) |
[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>
Diffstat (limited to 'net/ipv4/fib_trie.c')
-rw-r--r-- | net/ipv4/fib_trie.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index 9be7da7c3a8f..30e332ade61b 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
@@ -1226,6 +1226,8 @@ static int fn_trie_insert(struct fib_table *tb, struct fib_config *cfg) | |||
1226 | fib_release_info(fi_drop); | 1226 | fib_release_info(fi_drop); |
1227 | if (state & FA_S_ACCESSED) | 1227 | if (state & FA_S_ACCESSED) |
1228 | rt_cache_flush(-1); | 1228 | rt_cache_flush(-1); |
1229 | rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, | ||
1230 | tb->tb_id, &cfg->fc_nlinfo, NLM_F_REPLACE); | ||
1229 | 1231 | ||
1230 | goto succeeded; | 1232 | goto succeeded; |
1231 | } | 1233 | } |
@@ -1278,7 +1280,7 @@ static int fn_trie_insert(struct fib_table *tb, struct fib_config *cfg) | |||
1278 | 1280 | ||
1279 | rt_cache_flush(-1); | 1281 | rt_cache_flush(-1); |
1280 | rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, tb->tb_id, | 1282 | rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, tb->tb_id, |
1281 | &cfg->fc_nlinfo); | 1283 | &cfg->fc_nlinfo, 0); |
1282 | succeeded: | 1284 | succeeded: |
1283 | return 0; | 1285 | return 0; |
1284 | 1286 | ||
@@ -1624,7 +1626,7 @@ static int fn_trie_delete(struct fib_table *tb, struct fib_config *cfg) | |||
1624 | 1626 | ||
1625 | fa = fa_to_delete; | 1627 | fa = fa_to_delete; |
1626 | rtmsg_fib(RTM_DELROUTE, htonl(key), fa, plen, tb->tb_id, | 1628 | rtmsg_fib(RTM_DELROUTE, htonl(key), fa, plen, tb->tb_id, |
1627 | &cfg->fc_nlinfo); | 1629 | &cfg->fc_nlinfo, 0); |
1628 | 1630 | ||
1629 | l = fib_find_node(t, key); | 1631 | l = fib_find_node(t, key); |
1630 | li = find_leaf_info(l, plen); | 1632 | li = find_leaf_info(l, plen); |