igmp.c (1b5d35358effb776b1ef47b26ec0df54af79d842) | igmp.c (73f156a6e8c1074ac6327e0abd1169e95eb66463) |
---|---|
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 --- 355 unchanged lines hidden (view full) --- 364 pip->ihl = (sizeof(struct iphdr)+4)>>2; 365 pip->tos = 0xc0; 366 pip->frag_off = htons(IP_DF); 367 pip->ttl = 1; 368 pip->daddr = fl4.daddr; 369 pip->saddr = fl4.saddr; 370 pip->protocol = IPPROTO_IGMP; 371 pip->tot_len = 0; /* filled in later */ | 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 --- 355 unchanged lines hidden (view full) --- 364 pip->ihl = (sizeof(struct iphdr)+4)>>2; 365 pip->tos = 0xc0; 366 pip->frag_off = htons(IP_DF); 367 pip->ttl = 1; 368 pip->daddr = fl4.daddr; 369 pip->saddr = fl4.saddr; 370 pip->protocol = IPPROTO_IGMP; 371 pip->tot_len = 0; /* filled in later */ |
372 ip_select_ident(skb, &rt->dst, NULL); | 372 ip_select_ident(skb, NULL); |
373 ((u8 *)&pip[1])[0] = IPOPT_RA; 374 ((u8 *)&pip[1])[1] = 4; 375 ((u8 *)&pip[1])[2] = 0; 376 ((u8 *)&pip[1])[3] = 0; 377 378 skb->transport_header = skb->network_header + sizeof(struct iphdr) + 4; 379 skb_put(skb, sizeof(*pig)); 380 pig = igmpv3_report_hdr(skb); --- 328 unchanged lines hidden (view full) --- 709 iph->version = 4; 710 iph->ihl = (sizeof(struct iphdr)+4)>>2; 711 iph->tos = 0xc0; 712 iph->frag_off = htons(IP_DF); 713 iph->ttl = 1; 714 iph->daddr = dst; 715 iph->saddr = fl4.saddr; 716 iph->protocol = IPPROTO_IGMP; | 373 ((u8 *)&pip[1])[0] = IPOPT_RA; 374 ((u8 *)&pip[1])[1] = 4; 375 ((u8 *)&pip[1])[2] = 0; 376 ((u8 *)&pip[1])[3] = 0; 377 378 skb->transport_header = skb->network_header + sizeof(struct iphdr) + 4; 379 skb_put(skb, sizeof(*pig)); 380 pig = igmpv3_report_hdr(skb); --- 328 unchanged lines hidden (view full) --- 709 iph->version = 4; 710 iph->ihl = (sizeof(struct iphdr)+4)>>2; 711 iph->tos = 0xc0; 712 iph->frag_off = htons(IP_DF); 713 iph->ttl = 1; 714 iph->daddr = dst; 715 iph->saddr = fl4.saddr; 716 iph->protocol = IPPROTO_IGMP; |
717 ip_select_ident(skb, &rt->dst, NULL); | 717 ip_select_ident(skb, NULL); |
718 ((u8 *)&iph[1])[0] = IPOPT_RA; 719 ((u8 *)&iph[1])[1] = 4; 720 ((u8 *)&iph[1])[2] = 0; 721 ((u8 *)&iph[1])[3] = 0; 722 723 ih = (struct igmphdr *)skb_put(skb, sizeof(struct igmphdr)); 724 ih->type = type; 725 ih->code = 0; --- 2075 unchanged lines hidden --- | 718 ((u8 *)&iph[1])[0] = IPOPT_RA; 719 ((u8 *)&iph[1])[1] = 4; 720 ((u8 *)&iph[1])[2] = 0; 721 ((u8 *)&iph[1])[3] = 0; 722 723 ih = (struct igmphdr *)skb_put(skb, sizeof(struct igmphdr)); 724 ih->type = type; 725 ih->code = 0; --- 2075 unchanged lines hidden --- |