Lines 1066-1072
Link Here
|
1066 |
cc = ICMP_MINLEN + phdr_len + datalen; |
1066 |
cc = ICMP_MINLEN + phdr_len + datalen; |
1067 |
|
1067 |
|
1068 |
/* compute ICMP checksum here */ |
1068 |
/* compute ICMP checksum here */ |
1069 |
icp.icmp_cksum = in_cksum(outpack, cc); |
1069 |
icp.icmp_cksum = in_cksum(outpack, sizeof(struct icmp), IP_MAXPACKET, cc); |
1070 |
/* Update icmp_cksum in the raw packet data buffer. */ |
1070 |
/* Update icmp_cksum in the raw packet data buffer. */ |
1071 |
memcpy(outpack + offsetof(struct icmp, icmp_cksum), &icp.icmp_cksum, |
1071 |
memcpy(outpack + offsetof(struct icmp, icmp_cksum), &icp.icmp_cksum, |
1072 |
sizeof(icp.icmp_cksum)); |
1072 |
sizeof(icp.icmp_cksum)); |
Lines 1079-1085
Link Here
|
1079 |
/* Update ip_len in the raw packet data buffer. */ |
1079 |
/* Update ip_len in the raw packet data buffer. */ |
1080 |
memcpy(outpackhdr + offsetof(struct ip, ip_len), &ip.ip_len, |
1080 |
memcpy(outpackhdr + offsetof(struct ip, ip_len), &ip.ip_len, |
1081 |
sizeof(ip.ip_len)); |
1081 |
sizeof(ip.ip_len)); |
1082 |
ip.ip_sum = in_cksum(outpackhdr, cc); |
1082 |
ip.ip_sum = in_cksum(outpackhdr, sizeof(struct ip), IP_MAXPACKET, cc); |
1083 |
/* Update ip_sum in the raw packet data buffer. */ |
1083 |
/* Update ip_sum in the raw packet data buffer. */ |
1084 |
memcpy(outpackhdr + offsetof(struct ip, ip_sum), &ip.ip_sum, |
1084 |
memcpy(outpackhdr + offsetof(struct ip, ip_sum), &ip.ip_sum, |
1085 |
sizeof(ip.ip_sum)); |
1085 |
sizeof(ip.ip_sum)); |