extern const isc::log::MessageID DHCP_DELETE_ALL_EXTERNAL_SOCKETS_BAD_THREAD = "DHCP_DELETE_ALL_EXTERNAL_SOCKETS_BAD_THREAD";
extern const isc::log::MessageID DHCP_DELETE_EXTERNAL_SOCKET_BAD_THREAD = "DHCP_DELETE_EXTERNAL_SOCKET_BAD_THREAD";
extern const isc::log::MessageID DHCP_DELETE_EXTERNAL_SOCKET_NOT_FOUND = "DHCP_DELETE_EXTERNAL_SOCKET_NOT_FOUND";
+extern const isc::log::MessageID DHCP_IFACE_OPEN_SOCKET = "DHCP_IFACE_OPEN_SOCKET";
extern const isc::log::MessageID DHCP_IFACE_SOCKET_ERROR = "DHCP_IFACE_SOCKET_ERROR";
extern const isc::log::MessageID DHCP_RECEIVE4_UNKNOWN = "DHCP_RECEIVE4_UNKNOWN";
extern const isc::log::MessageID DHCP_RECEIVE6_UNKNOWN = "DHCP_RECEIVE6_UNKNOWN";
"DHCP_DELETE_ALL_EXTERNAL_SOCKETS_BAD_THREAD", "Attempted to unregister external sockets from different thread %1 than main thread %2",
"DHCP_DELETE_EXTERNAL_SOCKET_BAD_THREAD", "Attempted to unregister external socket %1 from different thread %2 than main thread %3",
"DHCP_DELETE_EXTERNAL_SOCKET_NOT_FOUND", "Deleting a not found external socket %1",
+ "DHCP_IFACE_OPEN_SOCKET", "Opened socket on the interface %1 with address %2 and port %3",
"DHCP_IFACE_SOCKET_ERROR", "Got an error on the interface socket %1 of interface %2: %3",
"DHCP_RECEIVE4_UNKNOWN", "Received data over unknown socket",
"DHCP_RECEIVE6_UNKNOWN", "Received data over unknown socket",
extern const isc::log::MessageID DHCP_DELETE_ALL_EXTERNAL_SOCKETS_BAD_THREAD;
extern const isc::log::MessageID DHCP_DELETE_EXTERNAL_SOCKET_BAD_THREAD;
extern const isc::log::MessageID DHCP_DELETE_EXTERNAL_SOCKET_NOT_FOUND;
+extern const isc::log::MessageID DHCP_IFACE_OPEN_SOCKET;
extern const isc::log::MessageID DHCP_IFACE_SOCKET_ERROR;
extern const isc::log::MessageID DHCP_RECEIVE4_UNKNOWN;
extern const isc::log::MessageID DHCP_RECEIVE6_UNKNOWN;
This warning message indicates that an external socket was deleted but
it can't be found i.e. adds and deletes are not correctly balanced.
+% DHCP_IFACE_OPEN_SOCKET Opened socket on the interface %1 with address %2 and port %3
+This debug message indicates that a socket has been opened for a
+specific interface. The interface name, address and port are logged.
+
% DHCP_IFACE_SOCKET_ERROR Got an error on the interface socket %1 of interface %2: %3
This error message indicates that an error was raised on an interface socket.
The file descriptor, interface name and error message are displayed.
#include <dhcp/pkt_filter_inet.h>
#include <dhcp/pkt_filter_inet6.h>
#include <exceptions/exceptions.h>
+#include <log/macros.h>
#include <util/fd_event_handler_factory.h>
#include <util/io/pktinfo_utilities.h>
#include <util/multi_threading_mgr.h>
if (!iface) {
isc_throw(BadValue, "There is no " << ifname << " interface present.");
}
+ int status = 0;
if (addr.isV4()) {
- return openSocket4(*iface, addr, port, receive_bcast, send_bcast);
+ status = openSocket4(*iface, addr, port, receive_bcast, send_bcast);
} else if (addr.isV6()) {
- return openSocket6(*iface, addr, port, receive_bcast);
+ status = openSocket6(*iface, addr, port, receive_bcast);
} else {
isc_throw(BadValue, "Failed to detect family of address: "
<< addr);
}
+ LOG_DEBUG(dhcp_logger, isc::log::DBGLVL_TRACE_BASIC, DHCP_IFACE_OPEN_SOCKET)
+ .arg(ifname)
+ .arg(addr.toText())
+ .arg(port);
+ return (status);
}
int IfaceMgr::openSocketFromIface(const std::string& ifname,