Lines Matching defs:packet

54 #include <netpacket/packet.h>
652 dhcp_raw_t packet;
655 memset(&packet, 0, sizeof(packet));
656 if ((bytes = read(state->sockfd, &packet, sizeof(packet))) < 0) {
660 if (bytes < (int) (sizeof(packet.iph) + sizeof(packet.udph))) {
664 if (bytes < ntohs(packet.iph.tot_len)) {
665 dbg("\tOversized packet, ignoring\n");
669 bytes = ntohs(packet.iph.tot_len);
670 // make sure its the right packet for us, and that it passes sanity checks
671 if (packet.iph.protocol != IPPROTO_UDP || packet.iph.version != IPVERSION
672 || packet.iph.ihl != (sizeof(packet.iph) >> 2)
673 || packet.udph.dest != htons(DHCPC_CLIENT_PORT)
674 || ntohs(packet.udph.len) != (uint16_t)(bytes - sizeof(packet.iph))) {
675 dbg("\tUnrelated/bogus packet, ignoring\n");
679 if (dhcp_checksum(&packet.iph, sizeof(packet.iph)) != 0) {
687 memset(&packet.iph, 0, ((size_t) &((struct iphdr *)0)->protocol));
688 packet.iph.check = 0;
689 packet.iph.tot_len = packet.udph.len;
690 if (packet.udph.check != 0 && dhcp_checksum(&packet, bytes) != 0) {
694 memcpy(&state->pdhcp, &packet.dhcp, bytes - (sizeof(packet.iph) + sizeof(packet.udph)));
699 return bytes - sizeof(packet.iph) - sizeof(packet.udph);
722 dhcp_raw_t packet;
726 memset(&packet, 0, sizeof(dhcp_raw_t));
727 memcpy(&packet.dhcp, &state->pdhcp, sizeof(dhcp_msg_t));
746 packet.iph.protocol = IPPROTO_UDP;
747 packet.iph.saddr = INADDR_ANY;
748 packet.iph.daddr = INADDR_BROADCAST;
749 packet.udph.source = htons(DHCPC_CLIENT_PORT);
750 packet.udph.dest = htons(DHCPC_SERVER_PORT);
751 packet.udph.len = htons(sizeof(dhcp_raw_t) - sizeof(struct iphdr) - padding);
752 packet.iph.tot_len = packet.udph.len;
753 packet.udph.check = dhcp_checksum(&packet, sizeof(dhcp_raw_t) - padding);
754 packet.iph.tot_len = htons(sizeof(dhcp_raw_t) - padding);
755 packet.iph.ihl = sizeof(packet.iph) >> 2;
756 packet.iph.version = IPVERSION;
757 packet.iph.ttl = IPDEFTTL;
758 packet.iph.check = dhcp_checksum(&packet.iph, sizeof(packet.iph));
760 result = sendto(fd, &packet, sizeof(dhcp_raw_t) - padding, 0,
832 // adds client id to dhcp packet
842 // adds messege type to dhcp packet
851 // adds max size to dhcp packet
868 // adds server id to dhcp packet.
877 // adds requested ip address to dhcp packet.
886 // adds hostname to dhcp packet.
900 // adds request options using -o,-O flag to dhcp packet
930 // Sets values of -x options in dhcp discover and request packet.
1053 * parses options from received dhcp packet at OPTPTR and
1241 // send release packet