mcast.c (ebf8889bd1fe3615991ff4494635d237280652a2) | mcast.c (b24b8a247ff65c01b252025926fe564209fae4fc) |
---|---|
1/* 2 * Multicast support for IPv6 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * $Id: mcast.c,v 1.40 2002/02/08 03:57:19 davem Exp $ --- 889 unchanged lines hidden (view full) --- 898 mc = kzalloc(sizeof(struct ifmcaddr6), GFP_ATOMIC); 899 900 if (mc == NULL) { 901 write_unlock_bh(&idev->lock); 902 in6_dev_put(idev); 903 return -ENOMEM; 904 } 905 | 1/* 2 * Multicast support for IPv6 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> 7 * 8 * $Id: mcast.c,v 1.40 2002/02/08 03:57:19 davem Exp $ --- 889 unchanged lines hidden (view full) --- 898 mc = kzalloc(sizeof(struct ifmcaddr6), GFP_ATOMIC); 899 900 if (mc == NULL) { 901 write_unlock_bh(&idev->lock); 902 in6_dev_put(idev); 903 return -ENOMEM; 904 } 905 |
906 init_timer(&mc->mca_timer); 907 mc->mca_timer.function = igmp6_timer_handler; 908 mc->mca_timer.data = (unsigned long) mc; | 906 setup_timer(&mc->mca_timer, igmp6_timer_handler, (unsigned long)mc); |
909 910 ipv6_addr_copy(&mc->mca_addr, addr); 911 mc->idev = idev; 912 mc->mca_users = 1; 913 /* mca_stamp should be updated upon changes */ 914 mc->mca_cstamp = mc->mca_tstamp = jiffies; 915 atomic_set(&mc->mca_refcnt, 2); 916 spin_lock_init(&mc->mca_lock); --- 1337 unchanged lines hidden (view full) --- 2254 2255/* IPv6 device initialization. */ 2256 2257void ipv6_mc_init_dev(struct inet6_dev *idev) 2258{ 2259 write_lock_bh(&idev->lock); 2260 rwlock_init(&idev->mc_lock); 2261 idev->mc_gq_running = 0; | 907 908 ipv6_addr_copy(&mc->mca_addr, addr); 909 mc->idev = idev; 910 mc->mca_users = 1; 911 /* mca_stamp should be updated upon changes */ 912 mc->mca_cstamp = mc->mca_tstamp = jiffies; 913 atomic_set(&mc->mca_refcnt, 2); 914 spin_lock_init(&mc->mca_lock); --- 1337 unchanged lines hidden (view full) --- 2252 2253/* IPv6 device initialization. */ 2254 2255void ipv6_mc_init_dev(struct inet6_dev *idev) 2256{ 2257 write_lock_bh(&idev->lock); 2258 rwlock_init(&idev->mc_lock); 2259 idev->mc_gq_running = 0; |
2262 init_timer(&idev->mc_gq_timer); 2263 idev->mc_gq_timer.data = (unsigned long) idev; 2264 idev->mc_gq_timer.function = &mld_gq_timer_expire; | 2260 setup_timer(&idev->mc_gq_timer, mld_gq_timer_expire, 2261 (unsigned long)idev); |
2265 idev->mc_tomb = NULL; 2266 idev->mc_ifc_count = 0; | 2262 idev->mc_tomb = NULL; 2263 idev->mc_ifc_count = 0; |
2267 init_timer(&idev->mc_ifc_timer); 2268 idev->mc_ifc_timer.data = (unsigned long) idev; 2269 idev->mc_ifc_timer.function = &mld_ifc_timer_expire; | 2264 setup_timer(&idev->mc_ifc_timer, mld_ifc_timer_expire, 2265 (unsigned long)idev); |
2270 idev->mc_qrv = MLD_QRV_DEFAULT; 2271 idev->mc_maxdelay = IGMP6_UNSOLICITED_IVAL; 2272 idev->mc_v1_seen = 0; 2273 write_unlock_bh(&idev->lock); 2274} 2275 2276/* 2277 * Device is about to be destroyed: clean up. --- 362 unchanged lines hidden --- | 2266 idev->mc_qrv = MLD_QRV_DEFAULT; 2267 idev->mc_maxdelay = IGMP6_UNSOLICITED_IVAL; 2268 idev->mc_v1_seen = 0; 2269 write_unlock_bh(&idev->lock); 2270} 2271 2272/* 2273 * Device is about to be destroyed: clean up. --- 362 unchanged lines hidden --- |