diff options
Diffstat (limited to 'net/ipv6/mcast.c')
-rw-r--r-- | net/ipv6/mcast.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index 331d728c2035..ab228d1ea114 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c | |||
@@ -903,9 +903,7 @@ int ipv6_dev_mc_inc(struct net_device *dev, struct in6_addr *addr) | |||
903 | return -ENOMEM; | 903 | return -ENOMEM; |
904 | } | 904 | } |
905 | 905 | ||
906 | init_timer(&mc->mca_timer); | 906 | setup_timer(&mc->mca_timer, igmp6_timer_handler, (unsigned long)mc); |
907 | mc->mca_timer.function = igmp6_timer_handler; | ||
908 | mc->mca_timer.data = (unsigned long) mc; | ||
909 | 907 | ||
910 | ipv6_addr_copy(&mc->mca_addr, addr); | 908 | ipv6_addr_copy(&mc->mca_addr, addr); |
911 | mc->idev = idev; | 909 | mc->idev = idev; |
@@ -1450,7 +1448,7 @@ static inline int mld_dev_queue_xmit2(struct sk_buff *skb) | |||
1450 | 1448 | ||
1451 | static inline int mld_dev_queue_xmit(struct sk_buff *skb) | 1449 | static inline int mld_dev_queue_xmit(struct sk_buff *skb) |
1452 | { | 1450 | { |
1453 | return NF_HOOK(PF_INET6, NF_IP6_POST_ROUTING, skb, NULL, skb->dev, | 1451 | return NF_HOOK(PF_INET6, NF_INET_POST_ROUTING, skb, NULL, skb->dev, |
1454 | mld_dev_queue_xmit2); | 1452 | mld_dev_queue_xmit2); |
1455 | } | 1453 | } |
1456 | 1454 | ||
@@ -1471,7 +1469,7 @@ static void mld_sendpack(struct sk_buff *skb) | |||
1471 | pmr->csum = csum_ipv6_magic(&pip6->saddr, &pip6->daddr, mldlen, | 1469 | pmr->csum = csum_ipv6_magic(&pip6->saddr, &pip6->daddr, mldlen, |
1472 | IPPROTO_ICMPV6, csum_partial(skb_transport_header(skb), | 1470 | IPPROTO_ICMPV6, csum_partial(skb_transport_header(skb), |
1473 | mldlen, 0)); | 1471 | mldlen, 0)); |
1474 | err = NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, skb->dev, | 1472 | err = NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, skb->dev, |
1475 | mld_dev_queue_xmit); | 1473 | mld_dev_queue_xmit); |
1476 | if (!err) { | 1474 | if (!err) { |
1477 | ICMP6MSGOUT_INC_STATS_BH(idev, ICMPV6_MLD2_REPORT); | 1475 | ICMP6MSGOUT_INC_STATS_BH(idev, ICMPV6_MLD2_REPORT); |
@@ -1815,7 +1813,7 @@ static void igmp6_send(struct in6_addr *addr, struct net_device *dev, int type) | |||
1815 | 1813 | ||
1816 | idev = in6_dev_get(skb->dev); | 1814 | idev = in6_dev_get(skb->dev); |
1817 | 1815 | ||
1818 | err = NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, skb->dev, | 1816 | err = NF_HOOK(PF_INET6, NF_INET_LOCAL_OUT, skb, NULL, skb->dev, |
1819 | mld_dev_queue_xmit); | 1817 | mld_dev_queue_xmit); |
1820 | if (!err) { | 1818 | if (!err) { |
1821 | ICMP6MSGOUT_INC_STATS(idev, type); | 1819 | ICMP6MSGOUT_INC_STATS(idev, type); |
@@ -2259,14 +2257,12 @@ void ipv6_mc_init_dev(struct inet6_dev *idev) | |||
2259 | write_lock_bh(&idev->lock); | 2257 | write_lock_bh(&idev->lock); |
2260 | rwlock_init(&idev->mc_lock); | 2258 | rwlock_init(&idev->mc_lock); |
2261 | idev->mc_gq_running = 0; | 2259 | idev->mc_gq_running = 0; |
2262 | init_timer(&idev->mc_gq_timer); | 2260 | setup_timer(&idev->mc_gq_timer, mld_gq_timer_expire, |
2263 | idev->mc_gq_timer.data = (unsigned long) idev; | 2261 | (unsigned long)idev); |
2264 | idev->mc_gq_timer.function = &mld_gq_timer_expire; | ||
2265 | idev->mc_tomb = NULL; | 2262 | idev->mc_tomb = NULL; |
2266 | idev->mc_ifc_count = 0; | 2263 | idev->mc_ifc_count = 0; |
2267 | init_timer(&idev->mc_ifc_timer); | 2264 | setup_timer(&idev->mc_ifc_timer, mld_ifc_timer_expire, |
2268 | idev->mc_ifc_timer.data = (unsigned long) idev; | 2265 | (unsigned long)idev); |
2269 | idev->mc_ifc_timer.function = &mld_ifc_timer_expire; | ||
2270 | idev->mc_qrv = MLD_QRV_DEFAULT; | 2266 | idev->mc_qrv = MLD_QRV_DEFAULT; |
2271 | idev->mc_maxdelay = IGMP6_UNSOLICITED_IVAL; | 2267 | idev->mc_maxdelay = IGMP6_UNSOLICITED_IVAL; |
2272 | idev->mc_v1_seen = 0; | 2268 | idev->mc_v1_seen = 0; |
@@ -2377,6 +2373,7 @@ static struct ifmcaddr6 *igmp6_mc_get_idx(struct seq_file *seq, loff_t pos) | |||
2377 | } | 2373 | } |
2378 | 2374 | ||
2379 | static void *igmp6_mc_seq_start(struct seq_file *seq, loff_t *pos) | 2375 | static void *igmp6_mc_seq_start(struct seq_file *seq, loff_t *pos) |
2376 | __acquires(dev_base_lock) | ||
2380 | { | 2377 | { |
2381 | read_lock(&dev_base_lock); | 2378 | read_lock(&dev_base_lock); |
2382 | return igmp6_mc_get_idx(seq, *pos); | 2379 | return igmp6_mc_get_idx(seq, *pos); |
@@ -2391,6 +2388,7 @@ static void *igmp6_mc_seq_next(struct seq_file *seq, void *v, loff_t *pos) | |||
2391 | } | 2388 | } |
2392 | 2389 | ||
2393 | static void igmp6_mc_seq_stop(struct seq_file *seq, void *v) | 2390 | static void igmp6_mc_seq_stop(struct seq_file *seq, void *v) |
2391 | __releases(dev_base_lock) | ||
2394 | { | 2392 | { |
2395 | struct igmp6_mc_iter_state *state = igmp6_mc_seq_private(seq); | 2393 | struct igmp6_mc_iter_state *state = igmp6_mc_seq_private(seq); |
2396 | if (likely(state->idev != NULL)) { | 2394 | if (likely(state->idev != NULL)) { |
@@ -2520,6 +2518,7 @@ static struct ip6_sf_list *igmp6_mcf_get_idx(struct seq_file *seq, loff_t pos) | |||
2520 | } | 2518 | } |
2521 | 2519 | ||
2522 | static void *igmp6_mcf_seq_start(struct seq_file *seq, loff_t *pos) | 2520 | static void *igmp6_mcf_seq_start(struct seq_file *seq, loff_t *pos) |
2521 | __acquires(dev_base_lock) | ||
2523 | { | 2522 | { |
2524 | read_lock(&dev_base_lock); | 2523 | read_lock(&dev_base_lock); |
2525 | return *pos ? igmp6_mcf_get_idx(seq, *pos - 1) : SEQ_START_TOKEN; | 2524 | return *pos ? igmp6_mcf_get_idx(seq, *pos - 1) : SEQ_START_TOKEN; |
@@ -2537,6 +2536,7 @@ static void *igmp6_mcf_seq_next(struct seq_file *seq, void *v, loff_t *pos) | |||
2537 | } | 2536 | } |
2538 | 2537 | ||
2539 | static void igmp6_mcf_seq_stop(struct seq_file *seq, void *v) | 2538 | static void igmp6_mcf_seq_stop(struct seq_file *seq, void *v) |
2539 | __releases(dev_base_lock) | ||
2540 | { | 2540 | { |
2541 | struct igmp6_mcf_iter_state *state = igmp6_mcf_seq_private(seq); | 2541 | struct igmp6_mcf_iter_state *state = igmp6_mcf_seq_private(seq); |
2542 | if (likely(state->im != NULL)) { | 2542 | if (likely(state->im != NULL)) { |