diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2012-09-06 20:45:29 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-09-18 15:44:34 -0400 |
commit | bafa6d9d89072c1a18853afe9ee5de05c491c13a (patch) | |
tree | d20837ee56043d318a8d9ea4f10085f0c46f81a9 /net | |
parent | a1f6d8f771d80ab0beea787aa4f1d02d2eacf22c (diff) |
ipv4/route: arg delay is useless in rt_cache_flush()
Since route cache deletion (89aef8921bfbac22f), delay is no
more used. Remove it.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/arp.c | 2 | ||||
-rw-r--r-- | net/ipv4/devinet.c | 6 | ||||
-rw-r--r-- | net/ipv4/fib_frontend.c | 20 | ||||
-rw-r--r-- | net/ipv4/fib_rules.c | 2 | ||||
-rw-r--r-- | net/ipv4/fib_trie.c | 6 | ||||
-rw-r--r-- | net/ipv4/route.c | 19 |
6 files changed, 21 insertions, 34 deletions
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 77e87aff419a..47800459e4cb 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c | |||
@@ -1225,7 +1225,7 @@ static int arp_netdev_event(struct notifier_block *this, unsigned long event, | |||
1225 | switch (event) { | 1225 | switch (event) { |
1226 | case NETDEV_CHANGEADDR: | 1226 | case NETDEV_CHANGEADDR: |
1227 | neigh_changeaddr(&arp_tbl, dev); | 1227 | neigh_changeaddr(&arp_tbl, dev); |
1228 | rt_cache_flush(dev_net(dev), 0); | 1228 | rt_cache_flush(dev_net(dev)); |
1229 | break; | 1229 | break; |
1230 | default: | 1230 | default: |
1231 | break; | 1231 | break; |
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 44bf82e3aef7..9b55b6f5a585 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c | |||
@@ -1503,7 +1503,7 @@ static int devinet_conf_proc(ctl_table *ctl, int write, | |||
1503 | if (i == IPV4_DEVCONF_ACCEPT_LOCAL - 1 || | 1503 | if (i == IPV4_DEVCONF_ACCEPT_LOCAL - 1 || |
1504 | i == IPV4_DEVCONF_ROUTE_LOCALNET - 1) | 1504 | i == IPV4_DEVCONF_ROUTE_LOCALNET - 1) |
1505 | if ((new_value == 0) && (old_value != 0)) | 1505 | if ((new_value == 0) && (old_value != 0)) |
1506 | rt_cache_flush(net, 0); | 1506 | rt_cache_flush(net); |
1507 | } | 1507 | } |
1508 | 1508 | ||
1509 | return ret; | 1509 | return ret; |
@@ -1537,7 +1537,7 @@ static int devinet_sysctl_forward(ctl_table *ctl, int write, | |||
1537 | dev_disable_lro(idev->dev); | 1537 | dev_disable_lro(idev->dev); |
1538 | } | 1538 | } |
1539 | rtnl_unlock(); | 1539 | rtnl_unlock(); |
1540 | rt_cache_flush(net, 0); | 1540 | rt_cache_flush(net); |
1541 | } | 1541 | } |
1542 | } | 1542 | } |
1543 | 1543 | ||
@@ -1554,7 +1554,7 @@ static int ipv4_doint_and_flush(ctl_table *ctl, int write, | |||
1554 | struct net *net = ctl->extra2; | 1554 | struct net *net = ctl->extra2; |
1555 | 1555 | ||
1556 | if (write && *valp != val) | 1556 | if (write && *valp != val) |
1557 | rt_cache_flush(net, 0); | 1557 | rt_cache_flush(net); |
1558 | 1558 | ||
1559 | return ret; | 1559 | return ret; |
1560 | } | 1560 | } |
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index c43ae3fba792..8e2b475da9fa 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c | |||
@@ -148,7 +148,7 @@ static void fib_flush(struct net *net) | |||
148 | } | 148 | } |
149 | 149 | ||
150 | if (flushed) | 150 | if (flushed) |
151 | rt_cache_flush(net, -1); | 151 | rt_cache_flush(net); |
152 | } | 152 | } |
153 | 153 | ||
154 | /* | 154 | /* |
@@ -999,11 +999,11 @@ static void nl_fib_lookup_exit(struct net *net) | |||
999 | net->ipv4.fibnl = NULL; | 999 | net->ipv4.fibnl = NULL; |
1000 | } | 1000 | } |
1001 | 1001 | ||
1002 | static void fib_disable_ip(struct net_device *dev, int force, int delay) | 1002 | static void fib_disable_ip(struct net_device *dev, int force) |
1003 | { | 1003 | { |
1004 | if (fib_sync_down_dev(dev, force)) | 1004 | if (fib_sync_down_dev(dev, force)) |
1005 | fib_flush(dev_net(dev)); | 1005 | fib_flush(dev_net(dev)); |
1006 | rt_cache_flush(dev_net(dev), delay); | 1006 | rt_cache_flush(dev_net(dev)); |
1007 | arp_ifdown(dev); | 1007 | arp_ifdown(dev); |
1008 | } | 1008 | } |
1009 | 1009 | ||
@@ -1020,7 +1020,7 @@ static int fib_inetaddr_event(struct notifier_block *this, unsigned long event, | |||
1020 | fib_sync_up(dev); | 1020 | fib_sync_up(dev); |
1021 | #endif | 1021 | #endif |
1022 | atomic_inc(&net->ipv4.dev_addr_genid); | 1022 | atomic_inc(&net->ipv4.dev_addr_genid); |
1023 | rt_cache_flush(dev_net(dev), -1); | 1023 | rt_cache_flush(dev_net(dev)); |
1024 | break; | 1024 | break; |
1025 | case NETDEV_DOWN: | 1025 | case NETDEV_DOWN: |
1026 | fib_del_ifaddr(ifa, NULL); | 1026 | fib_del_ifaddr(ifa, NULL); |
@@ -1029,9 +1029,9 @@ static int fib_inetaddr_event(struct notifier_block *this, unsigned long event, | |||
1029 | /* Last address was deleted from this interface. | 1029 | /* Last address was deleted from this interface. |
1030 | * Disable IP. | 1030 | * Disable IP. |
1031 | */ | 1031 | */ |
1032 | fib_disable_ip(dev, 1, 0); | 1032 | fib_disable_ip(dev, 1); |
1033 | } else { | 1033 | } else { |
1034 | rt_cache_flush(dev_net(dev), -1); | 1034 | rt_cache_flush(dev_net(dev)); |
1035 | } | 1035 | } |
1036 | break; | 1036 | break; |
1037 | } | 1037 | } |
@@ -1045,7 +1045,7 @@ static int fib_netdev_event(struct notifier_block *this, unsigned long event, vo | |||
1045 | struct net *net = dev_net(dev); | 1045 | struct net *net = dev_net(dev); |
1046 | 1046 | ||
1047 | if (event == NETDEV_UNREGISTER) { | 1047 | if (event == NETDEV_UNREGISTER) { |
1048 | fib_disable_ip(dev, 2, -1); | 1048 | fib_disable_ip(dev, 2); |
1049 | rt_flush_dev(dev); | 1049 | rt_flush_dev(dev); |
1050 | return NOTIFY_DONE; | 1050 | return NOTIFY_DONE; |
1051 | } | 1051 | } |
@@ -1062,14 +1062,14 @@ static int fib_netdev_event(struct notifier_block *this, unsigned long event, vo | |||
1062 | fib_sync_up(dev); | 1062 | fib_sync_up(dev); |
1063 | #endif | 1063 | #endif |
1064 | atomic_inc(&net->ipv4.dev_addr_genid); | 1064 | atomic_inc(&net->ipv4.dev_addr_genid); |
1065 | rt_cache_flush(dev_net(dev), -1); | 1065 | rt_cache_flush(dev_net(dev)); |
1066 | break; | 1066 | break; |
1067 | case NETDEV_DOWN: | 1067 | case NETDEV_DOWN: |
1068 | fib_disable_ip(dev, 0, 0); | 1068 | fib_disable_ip(dev, 0); |
1069 | break; | 1069 | break; |
1070 | case NETDEV_CHANGEMTU: | 1070 | case NETDEV_CHANGEMTU: |
1071 | case NETDEV_CHANGE: | 1071 | case NETDEV_CHANGE: |
1072 | rt_cache_flush(dev_net(dev), 0); | 1072 | rt_cache_flush(dev_net(dev)); |
1073 | break; | 1073 | break; |
1074 | case NETDEV_UNREGISTER_BATCH: | 1074 | case NETDEV_UNREGISTER_BATCH: |
1075 | break; | 1075 | break; |
diff --git a/net/ipv4/fib_rules.c b/net/ipv4/fib_rules.c index a83d74e498d2..274309d3aded 100644 --- a/net/ipv4/fib_rules.c +++ b/net/ipv4/fib_rules.c | |||
@@ -259,7 +259,7 @@ static size_t fib4_rule_nlmsg_payload(struct fib_rule *rule) | |||
259 | 259 | ||
260 | static void fib4_rule_flush_cache(struct fib_rules_ops *ops) | 260 | static void fib4_rule_flush_cache(struct fib_rules_ops *ops) |
261 | { | 261 | { |
262 | rt_cache_flush(ops->fro_net, -1); | 262 | rt_cache_flush(ops->fro_net); |
263 | } | 263 | } |
264 | 264 | ||
265 | static const struct fib_rules_ops __net_initdata fib4_rules_ops_template = { | 265 | static const struct fib_rules_ops __net_initdata fib4_rules_ops_template = { |
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index 57bd978483e1..d1b93595b4a7 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
@@ -1286,7 +1286,7 @@ int fib_table_insert(struct fib_table *tb, struct fib_config *cfg) | |||
1286 | 1286 | ||
1287 | fib_release_info(fi_drop); | 1287 | fib_release_info(fi_drop); |
1288 | if (state & FA_S_ACCESSED) | 1288 | if (state & FA_S_ACCESSED) |
1289 | rt_cache_flush(cfg->fc_nlinfo.nl_net, -1); | 1289 | rt_cache_flush(cfg->fc_nlinfo.nl_net); |
1290 | rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, | 1290 | rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, |
1291 | tb->tb_id, &cfg->fc_nlinfo, NLM_F_REPLACE); | 1291 | tb->tb_id, &cfg->fc_nlinfo, NLM_F_REPLACE); |
1292 | 1292 | ||
@@ -1333,7 +1333,7 @@ int fib_table_insert(struct fib_table *tb, struct fib_config *cfg) | |||
1333 | list_add_tail_rcu(&new_fa->fa_list, | 1333 | list_add_tail_rcu(&new_fa->fa_list, |
1334 | (fa ? &fa->fa_list : fa_head)); | 1334 | (fa ? &fa->fa_list : fa_head)); |
1335 | 1335 | ||
1336 | rt_cache_flush(cfg->fc_nlinfo.nl_net, -1); | 1336 | rt_cache_flush(cfg->fc_nlinfo.nl_net); |
1337 | rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, tb->tb_id, | 1337 | rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, tb->tb_id, |
1338 | &cfg->fc_nlinfo, 0); | 1338 | &cfg->fc_nlinfo, 0); |
1339 | succeeded: | 1339 | succeeded: |
@@ -1708,7 +1708,7 @@ int fib_table_delete(struct fib_table *tb, struct fib_config *cfg) | |||
1708 | trie_leaf_remove(t, l); | 1708 | trie_leaf_remove(t, l); |
1709 | 1709 | ||
1710 | if (fa->fa_state & FA_S_ACCESSED) | 1710 | if (fa->fa_state & FA_S_ACCESSED) |
1711 | rt_cache_flush(cfg->fc_nlinfo.nl_net, -1); | 1711 | rt_cache_flush(cfg->fc_nlinfo.nl_net); |
1712 | 1712 | ||
1713 | fib_release_info(fa->fa_info); | 1713 | fib_release_info(fa->fa_info); |
1714 | alias_free_mem_rcu(fa); | 1714 | alias_free_mem_rcu(fa); |
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 82cf2a722b23..f6436d3b207a 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c | |||
@@ -461,11 +461,7 @@ static void rt_cache_invalidate(struct net *net) | |||
461 | atomic_add(shuffle + 1U, &net->ipv4.rt_genid); | 461 | atomic_add(shuffle + 1U, &net->ipv4.rt_genid); |
462 | } | 462 | } |
463 | 463 | ||
464 | /* | 464 | void rt_cache_flush(struct net *net) |
465 | * delay < 0 : invalidate cache (fast : entries will be deleted later) | ||
466 | * delay >= 0 : invalidate & flush cache (can be long) | ||
467 | */ | ||
468 | void rt_cache_flush(struct net *net, int delay) | ||
469 | { | 465 | { |
470 | rt_cache_invalidate(net); | 466 | rt_cache_invalidate(net); |
471 | } | 467 | } |
@@ -2345,7 +2341,7 @@ int ip_rt_dump(struct sk_buff *skb, struct netlink_callback *cb) | |||
2345 | 2341 | ||
2346 | void ip_rt_multicast_event(struct in_device *in_dev) | 2342 | void ip_rt_multicast_event(struct in_device *in_dev) |
2347 | { | 2343 | { |
2348 | rt_cache_flush(dev_net(in_dev->dev), 0); | 2344 | rt_cache_flush(dev_net(in_dev->dev)); |
2349 | } | 2345 | } |
2350 | 2346 | ||
2351 | #ifdef CONFIG_SYSCTL | 2347 | #ifdef CONFIG_SYSCTL |
@@ -2354,16 +2350,7 @@ static int ipv4_sysctl_rtcache_flush(ctl_table *__ctl, int write, | |||
2354 | size_t *lenp, loff_t *ppos) | 2350 | size_t *lenp, loff_t *ppos) |
2355 | { | 2351 | { |
2356 | if (write) { | 2352 | if (write) { |
2357 | int flush_delay; | 2353 | rt_cache_flush((struct net *)__ctl->extra1); |
2358 | ctl_table ctl; | ||
2359 | struct net *net; | ||
2360 | |||
2361 | memcpy(&ctl, __ctl, sizeof(ctl)); | ||
2362 | ctl.data = &flush_delay; | ||
2363 | proc_dointvec(&ctl, write, buffer, lenp, ppos); | ||
2364 | |||
2365 | net = (struct net *)__ctl->extra1; | ||
2366 | rt_cache_flush(net, flush_delay); | ||
2367 | return 0; | 2354 | return 0; |
2368 | } | 2355 | } |
2369 | 2356 | ||