+/* vi: set sw=4 ts=4: */
/* serverpacket.c
*
* Construct and send DHCP server packets
/* send a packet to giaddr using the kernel ip stack */
static int send_packet_to_relay(struct dhcpMessage *payload)
{
- DEBUG(LOG_INFO, "Forwarding packet to relay");
+ DEBUG("Forwarding packet to relay");
- return kernel_packet(payload, server_config.server, SERVER_PORT,
+ return udhcp_kernel_packet(payload, server_config.server, SERVER_PORT,
payload->giaddr, SERVER_PORT);
}
uint32_t ciaddr;
if (force_broadcast) {
- DEBUG(LOG_INFO, "broadcasting packet to client (NAK)");
+ DEBUG("broadcasting packet to client (NAK)");
ciaddr = INADDR_BROADCAST;
chaddr = MAC_BCAST_ADDR;
} else if (payload->ciaddr) {
- DEBUG(LOG_INFO, "unicasting packet to client ciaddr");
+ DEBUG("unicasting packet to client ciaddr");
ciaddr = payload->ciaddr;
chaddr = payload->chaddr;
} else if (ntohs(payload->flags) & BROADCAST_FLAG) {
- DEBUG(LOG_INFO, "broadcasting packet to client (requested)");
+ DEBUG("broadcasting packet to client (requested)");
ciaddr = INADDR_BROADCAST;
chaddr = MAC_BCAST_ADDR;
} else {
- DEBUG(LOG_INFO, "unicasting packet to client yiaddr");
+ DEBUG("unicasting packet to client yiaddr");
ciaddr = payload->yiaddr;
chaddr = payload->chaddr;
}
- return raw_packet(payload, server_config.server, SERVER_PORT,
+ return udhcp_raw_packet(payload, server_config.server, SERVER_PORT,
ciaddr, CLIENT_PORT, chaddr, server_config.ifindex);
}
static void init_packet(struct dhcpMessage *packet, struct dhcpMessage *oldpacket, char type)
{
- init_header(packet, type);
+ udhcp_init_header(packet, type);
packet->xid = oldpacket->xid;
memcpy(packet->chaddr, oldpacket->chaddr, 16);
packet->flags = oldpacket->flags;
}
if(!packet.yiaddr) {
- LOG(LOG_WARNING, "no IP addresses to give -- OFFER abandoned");
+ bb_error_msg("No IP addresses to give - OFFER abandoned");
return -1;
}
if (!add_lease(packet.chaddr, packet.yiaddr, server_config.offer_time)) {
- LOG(LOG_WARNING, "lease pool is full -- OFFER abandoned");
+ bb_error_msg("Lease pool is full - OFFER abandoned");
return -1;
}
add_bootp_options(&packet);
addr.s_addr = packet.yiaddr;
- LOG(LOG_INFO, "sending OFFER of %s", inet_ntoa(addr));
+ bb_info_msg("Sending OFFER of %s", inet_ntoa(addr));
return send_packet(&packet, 0);
}
init_packet(&packet, oldpacket, DHCPNAK);
- DEBUG(LOG_INFO, "sending NAK");
+ DEBUG("Sending NAK");
return send_packet(&packet, 1);
}
add_bootp_options(&packet);
addr.s_addr = packet.yiaddr;
- LOG(LOG_INFO, "sending ACK to %s", inet_ntoa(addr));
+ bb_info_msg("Sending ACK to %s", inet_ntoa(addr));
if (send_packet(&packet, 0) < 0)
return -1;