const isc::data::ConstElementPtr& params,
const isc::data::ConstElementPtr& original_cmd) {
+ ConstElementPtr raddr_ptr = original_cmd->get("remote-address");
+ if (raddr_ptr && (raddr_ptr->getType() == Element::string)) {
+ remote_addr_ = raddr_ptr->stringValue();
+ } else {
+ remote_addr_ = "(unknown)";
+ }
+ LOG_INFO(agent_logger, CTRL_AGENT_COMMAND_RECEIVED)
+ .arg(cmd_name)
+ .arg(remote_addr_);
+
ConstElementPtr services = Element::createList();
// Retrieve 'service' parameter to determine if we should forward the
try {
answer = received_feed->toElement();
- std::string remote_addr;
- ConstElementPtr raddr_ptr = command->get("remote-address");
- if (raddr_ptr && (raddr_ptr->getType() == Element::string)) {
- remote_addr = raddr_ptr->stringValue();
- } else {
- remote_addr = "(unknown)";
- }
LOG_INFO(agent_logger, CTRL_AGENT_COMMAND_FORWARDED)
.arg(cmd_name)
.arg(service)
- .arg(remote_addr);
+ .arg(remote_addr_);
} catch (const std::exception& ex) {
isc_throw(CommandForwardingError, "internal server error: unable to parse"
/// thus the constructor is private.
CtrlAgentCommandMgr();
+ /// @brief Remote address of HTTP endpoint.
+ std::string remote_addr_;
+
};
} // end of namespace isc::agent
namespace isc {
namespace agent {
+extern const isc::log::MessageID CTRL_AGENT_COMMAND_RECEIVED = "CTRL_AGENT_COMMAND_RECEIVED";
extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARDED = "CTRL_AGENT_COMMAND_FORWARDED";
extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARD_BEGIN = "CTRL_AGENT_COMMAND_FORWARD_BEGIN";
extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARD_FAILED = "CTRL_AGENT_COMMAND_FORWARD_FAILED";
namespace {
const char* values[] = {
+ "CTRL_AGENT_COMMAND_RECEIVED", "command %1 received from remote address %2",
"CTRL_AGENT_COMMAND_FORWARDED", "command %1 successfully forwarded to the service %2 from remote address %3",
"CTRL_AGENT_COMMAND_FORWARD_BEGIN", "begin forwarding command %1 to service %2",
"CTRL_AGENT_COMMAND_FORWARD_FAILED", "failed forwarding command %1: %2",
namespace isc {
namespace agent {
+extern const isc::log::MessageID CTRL_AGENT_COMMAND_RECEIVED;
extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARDED;
extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARD_BEGIN;
extern const isc::log::MessageID CTRL_AGENT_COMMAND_FORWARD_FAILED;
$NAMESPACE isc::agent
+% CTRL_AGENT_COMMAND_RECEIVED command %1 received from remote address %2
+This informational message is issued when the CA receives a control message,
+whether it is destined to the control agent itself, or to be forwarded on.
+
% CTRL_AGENT_COMMAND_FORWARDED command %1 successfully forwarded to the service %2 from remote address %3
This informational message is issued when the CA successfully forwards
the control message to the specified Kea service and receives a response.