The IPv4 DHCP server has received a packet that it is unable to
interpret. The reason why the packet is invalid is included in the message.
+% DHCP4_PACKET_RECEIVE_FAIL error on attempt to receive packet: %1
+The IPv4 DHCP server tried to receive a packet but unexpected error
+occured during this attempt. The reason for the error is included in
+the message.
+
% DHCP4_PACKET_RECEIVED %1 (type %2) packet received on interface %3
A debug message noting that the server has received the specified type of
packet on the specified interface. Note that a packet marked as UNKNOWN
may well be a valid DHCP packet, just a type not expected by the server
(e.g. it will report a received OFFER packet as UNKNOWN).
+% DHCPV4_PACKET_SEND_FAIL failed to send DHCPv4 packet: %1
+This error is output if IPv6 DHCP server fails to send assembled DHCP
+message to a client. The reason for the error is included in the message.
+
% DHCP4_PACK_FAIL failed to assemble response correctly
This error is output if the server failed to assemble the data to be
returned to the client into a valid packet. The cause is most likely
int timeout = 1000;
// client's message and server's response
- Pkt4Ptr query = IfaceMgr::instance().receive4(timeout);
+ Pkt4Ptr query;
Pkt4Ptr rsp;
+ try {
+ query = IfaceMgr::instance().receive4(timeout);
+ } catch (const std::exception& e) {
+ LOG_ERROR(dhcp4_logger, DHCP4_PACKET_RECEIVE_FAIL).arg(e.what());
+ }
+
if (query) {
try {
query->unpack();
.arg(rsp->getType()).arg(rsp->toText());
if (rsp->pack()) {
- IfaceMgr::instance().send(rsp);
+ try {
+ IfaceMgr::instance().send(rsp);
+ } catch (const std::exception& ex) {
+ LOG_ERROR(dhcp4_logger, DHCP4_PACKET_SEND_FAIL).arg(ex.what());
+ }
} else {
LOG_ERROR(dhcp4_logger, DHCP4_PACK_FAIL);
}
% DHCP6_PACKET_PARSE_FAIL failed to parse incoming packet
The IPv6 DHCP server has received a packet that it is unable to interpret.
+% DHCP6_PACKET_RECEIVE_FAIL error on attempt to receive packet: %1
+The IPv6 DHCP server tried to receive a packet but unexpected error
+occured during this attempt. The reason for the error is included in
+the message.
+
% DHCP6_PACKET_RECEIVED %1 (type %2) packet received
A debug message noting that the server has received the specified type
of packet. Note that a packet marked as UNKNOWN may well be a valid
DHCP packet, just a type not expected by the server (e.g. it will report
a received OFFER packet as UNKNOWN).
+% DHCPV6_PACKET_SEND_FAIL failed to send DHCPv6 packet: %1
+This error is output if IPv6 DHCP server fails to send assembled DHCP
+message to a client. The reason fo the error is included in the message.
+
% DHCP6_PACK_FAIL failed to assemble response correctly
This error is output if the server failed to assemble the data to be
returned to the client into a valid packet. The reason is most likely
int timeout = 1000;
// client's message and server's response
- Pkt6Ptr query = IfaceMgr::instance().receive6(timeout);
+ Pkt6Ptr query;
Pkt6Ptr rsp;
+ try {
+ query = IfaceMgr::instance().receive6(timeout);
+ } catch (const std::exception& ex) {
+ LOG_ERROR(dhcp6_logger, DHCP6_PACKET_RECEIVE_FAIL).arg(e.what());
+ }
+
if (query) {
if (!query->unpack()) {
LOG_DEBUG(dhcp6_logger, DBG_DHCP6_DETAIL,
.arg(rsp->getType()).arg(rsp->toText());
if (rsp->pack()) {
- IfaceMgr::instance().send(rsp);
+ try {
+ IfaceMgr::instance().send(rsp);
+ } catch (const std::exception& ex) {
+ LOG_ERROR(dhcp6_logger, DHCP6_PACKET_SEND_FAIL).arg(ex.what());
+ }
} else {
LOG_ERROR(dhcp6_logger, DHCP6_PACK_FAIL);
}