Lines Matching refs:iph
169 struct iphdr iph; member
660 if (bytes < (int) (sizeof(packet.iph) + sizeof(packet.udph))) { in read_raw()
664 if (bytes < ntohs(packet.iph.tot_len)) { in read_raw()
669 bytes = ntohs(packet.iph.tot_len); in read_raw()
671 if (packet.iph.protocol != IPPROTO_UDP || packet.iph.version != IPVERSION in read_raw()
672 || packet.iph.ihl != (sizeof(packet.iph) >> 2) in read_raw()
674 || ntohs(packet.udph.len) != (uint16_t)(bytes - sizeof(packet.iph))) { in read_raw()
679 if (dhcp_checksum(&packet.iph, sizeof(packet.iph)) != 0) { in read_raw()
687 memset(&packet.iph, 0, ((size_t) &((struct iphdr *)0)->protocol)); in read_raw()
688 packet.iph.check = 0; in read_raw()
689 packet.iph.tot_len = packet.udph.len; in read_raw()
694 memcpy(&state->pdhcp, &packet.dhcp, bytes - (sizeof(packet.iph) + sizeof(packet.udph))); in read_raw()
699 return bytes - sizeof(packet.iph) - sizeof(packet.udph); in read_raw()
746 packet.iph.protocol = IPPROTO_UDP; in send_raw()
747 packet.iph.saddr = INADDR_ANY; in send_raw()
748 packet.iph.daddr = INADDR_BROADCAST; in send_raw()
752 packet.iph.tot_len = packet.udph.len; in send_raw()
754 packet.iph.tot_len = htons(sizeof(dhcp_raw_t) - padding); in send_raw()
755 packet.iph.ihl = sizeof(packet.iph) >> 2; in send_raw()
756 packet.iph.version = IPVERSION; in send_raw()
757 packet.iph.ttl = IPDEFTTL; in send_raw()
758 packet.iph.check = dhcp_checksum(&packet.iph, sizeof(packet.iph)); in send_raw()