aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/mcast.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/mcast.c')
-rw-r--r--net/ipv6/mcast.c24
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
1451static inline int mld_dev_queue_xmit(struct sk_buff *skb) 1449static 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
2379static void *igmp6_mc_seq_start(struct seq_file *seq, loff_t *pos) 2375static 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
2393static void igmp6_mc_seq_stop(struct seq_file *seq, void *v) 2390static 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
2522static void *igmp6_mcf_seq_start(struct seq_file *seq, loff_t *pos) 2520static 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
2539static void igmp6_mcf_seq_stop(struct seq_file *seq, void *v) 2538static 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)) {