igmp.c (ebf8889bd1fe3615991ff4494635d237280652a2) | igmp.c (b24b8a247ff65c01b252025926fe564209fae4fc) |
---|---|
1/* 2 * Linux NET3: Internet Group Management Protocol [IGMP] 3 * 4 * This code implements the IGMP protocol as defined in RFC1112. There has 5 * been a further revision of this protocol since which is now supported. 6 * 7 * If you have trouble with this module be careful what gcc you have used, 8 * the older version didn't come out right using gcc 2.5.8, the newer one --- 1220 unchanged lines hidden (view full) --- 1229 im->sfcount[MCAST_EXCLUDE] = 1; 1230 im->sources = NULL; 1231 im->tomb = NULL; 1232 im->crcount = 0; 1233 atomic_set(&im->refcnt, 1); 1234 spin_lock_init(&im->lock); 1235#ifdef CONFIG_IP_MULTICAST 1236 im->tm_running=0; | 1/* 2 * Linux NET3: Internet Group Management Protocol [IGMP] 3 * 4 * This code implements the IGMP protocol as defined in RFC1112. There has 5 * been a further revision of this protocol since which is now supported. 6 * 7 * If you have trouble with this module be careful what gcc you have used, 8 * the older version didn't come out right using gcc 2.5.8, the newer one --- 1220 unchanged lines hidden (view full) --- 1229 im->sfcount[MCAST_EXCLUDE] = 1; 1230 im->sources = NULL; 1231 im->tomb = NULL; 1232 im->crcount = 0; 1233 atomic_set(&im->refcnt, 1); 1234 spin_lock_init(&im->lock); 1235#ifdef CONFIG_IP_MULTICAST 1236 im->tm_running=0; |
1237 init_timer(&im->timer); 1238 im->timer.data=(unsigned long)im; 1239 im->timer.function=&igmp_timer_expire; | 1237 setup_timer(&im->timer, &igmp_timer_expire, (unsigned long)im); |
1240 im->unsolicit_count = IGMP_Unsolicited_Report_Count; 1241 im->reporter = 0; 1242 im->gsquery = 0; 1243#endif 1244 im->loaded = 0; 1245 write_lock_bh(&in_dev->mc_list_lock); 1246 im->next=in_dev->mc_list; 1247 in_dev->mc_list=im; --- 85 unchanged lines hidden (view full) --- 1333 1334void ip_mc_init_dev(struct in_device *in_dev) 1335{ 1336 ASSERT_RTNL(); 1337 1338 in_dev->mc_tomb = NULL; 1339#ifdef CONFIG_IP_MULTICAST 1340 in_dev->mr_gq_running = 0; | 1238 im->unsolicit_count = IGMP_Unsolicited_Report_Count; 1239 im->reporter = 0; 1240 im->gsquery = 0; 1241#endif 1242 im->loaded = 0; 1243 write_lock_bh(&in_dev->mc_list_lock); 1244 im->next=in_dev->mc_list; 1245 in_dev->mc_list=im; --- 85 unchanged lines hidden (view full) --- 1331 1332void ip_mc_init_dev(struct in_device *in_dev) 1333{ 1334 ASSERT_RTNL(); 1335 1336 in_dev->mc_tomb = NULL; 1337#ifdef CONFIG_IP_MULTICAST 1338 in_dev->mr_gq_running = 0; |
1341 init_timer(&in_dev->mr_gq_timer); 1342 in_dev->mr_gq_timer.data=(unsigned long) in_dev; 1343 in_dev->mr_gq_timer.function=&igmp_gq_timer_expire; | 1339 setup_timer(&in_dev->mr_gq_timer, igmp_gq_timer_expire, 1340 (unsigned long)in_dev); |
1344 in_dev->mr_ifc_count = 0; | 1341 in_dev->mr_ifc_count = 0; |
1345 init_timer(&in_dev->mr_ifc_timer); 1346 in_dev->mr_ifc_timer.data=(unsigned long) in_dev; 1347 in_dev->mr_ifc_timer.function=&igmp_ifc_timer_expire; | 1342 setup_timer(&in_dev->mr_ifc_timer, igmp_ifc_timer_expire, 1343 (unsigned long)in_dev); |
1348 in_dev->mr_qrv = IGMP_Unsolicited_Report_Count; 1349#endif 1350 1351 rwlock_init(&in_dev->mc_list_lock); 1352 spin_lock_init(&in_dev->mc_tomb_lock); 1353} 1354 1355/* Device going up */ --- 1240 unchanged lines hidden --- | 1344 in_dev->mr_qrv = IGMP_Unsolicited_Report_Count; 1345#endif 1346 1347 rwlock_init(&in_dev->mc_list_lock); 1348 spin_lock_init(&in_dev->mc_tomb_lock); 1349} 1350 1351/* Device going up */ --- 1240 unchanged lines hidden --- |