raw.c (879f99ef2c4c05d9a7f0a67a05f1415663119825) raw.c (73f156a6e8c1074ac6327e0abd1169e95eb66463)
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * RAW - implementation of IP "raw" sockets.
7 *
8 * Authors: Ross Biro

--- 375 unchanged lines hidden (view full) ---

384 goto error_free;
385
386 if (iphlen >= sizeof(*iph)) {
387 if (!iph->saddr)
388 iph->saddr = fl4->saddr;
389 iph->check = 0;
390 iph->tot_len = htons(length);
391 if (!iph->id)
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * RAW - implementation of IP "raw" sockets.
7 *
8 * Authors: Ross Biro

--- 375 unchanged lines hidden (view full) ---

384 goto error_free;
385
386 if (iphlen >= sizeof(*iph)) {
387 if (!iph->saddr)
388 iph->saddr = fl4->saddr;
389 iph->check = 0;
390 iph->tot_len = htons(length);
391 if (!iph->id)
392 ip_select_ident(skb, &rt->dst, NULL);
392 ip_select_ident(skb, NULL);
393
394 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
395 }
396 if (iph->protocol == IPPROTO_ICMP)
397 icmp_out_count(net, ((struct icmphdr *)
398 skb_transport_header(skb))->type);
399
400 err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT, skb, NULL,

--- 677 unchanged lines hidden ---
393
394 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
395 }
396 if (iph->protocol == IPPROTO_ICMP)
397 icmp_out_count(net, ((struct icmphdr *)
398 skb_transport_header(skb))->type);
399
400 err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT, skb, NULL,

--- 677 unchanged lines hidden ---