icmp_ip
ipc = &ic->icmp_ip;
if (resolve(t, (char *)&ic->icmp_ip.ip_dst) == -1)
(char *)&ic->icmp_ip.ip_src) == -1)
memcpy (&icmp->icmp_ip, failedDgram, failBytes);
m_copydata(n, 0, icmplen, (caddr_t)&icp->icmp_ip);
nip = &icp->icmp_ip;
icp->icmp_ip.ip_hl < (sizeof(struct ip) >> 2)) {
if (IN_MULTICAST(ntohl(icp->icmp_ip.ip_dst.s_addr)))
if (icp->icmp_ip.ip_dst.s_addr == INADDR_ANY ||
icp->icmp_ip.ip_src.s_addr == INADDR_ANY)
printf("deliver to protocol %d\n", icp->icmp_ip.ip_p);
if (ip_ctlprotox[icp->icmp_ip.ip_p] != NULL)
ip_ctlprotox[icp->icmp_ip.ip_p](icp);
dst = ntohl(icp->icmp_ip.ip_dst.s_addr);
icp->icmp_ip.ip_hl < (sizeof(struct ip) >> 2)) {
inet_ntoa_r(icp->icmp_ip.ip_dst, dstbuf),
icmpsrc.sin_addr = icp->icmp_ip.ip_dst;
#define ICMP_ADVLEN(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 8)
#define ICMP_ADVLENPREF(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 8 + 8 + 12)
ip = &ic->icmp_ip;
ip = &ic->icmp_ip;
inner_ip = &icmp->icmp_ip;
inner_ip = &icmp->icmp_ip;
ip = &icp->icmp_ip;
inner_ip = &icmp->icmp_ip;
struct ip *ip = &icmp->icmp_ip;
struct ip *ip = &icp->icmp_ip;
iclen = hlen + offsetof(struct icmp, icmp_ip) + ohlen;
iclen = hlen + offsetof(struct icmp, icmp_ip) + ohlen;
ip2 = (ip_t *)&icmp->icmp_ip;
(char *)&icmp->icmp_ip + ohlen, xtra);
(char *)&icmp->icmp_ip + ohlen, xtra);
oip = (ip_t *)&icmp->icmp_ip;
hip = &icp->icmp_ip;
u_int32_t *lp = (u_int32_t *)&icp->icmp_ip;