X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp-api%2Fvom%2Fdhcp_config_cmds.cpp;h=9e803be7b8db30c0881aaafd3893443ef70a1863;hb=74a6dab687f926373dd9843ebdabc99639b7b122;hp=53262a3cac642c32f16d848fef5b9652b3d4ba86;hpb=812ed39f9da336310e815c361ab5a9f118657d94;p=vpp.git diff --git a/src/vpp-api/vom/dhcp_config_cmds.cpp b/src/vpp-api/vom/dhcp_config_cmds.cpp index 53262a3cac6..9e803be7b8d 100644 --- a/src/vpp-api/vom/dhcp_config_cmds.cpp +++ b/src/vpp-api/vom/dhcp_config_cmds.cpp @@ -13,30 +13,34 @@ * limitations under the License. */ -#include "vom/dhcp_config.hpp" +#include "vom/dhcp_config_cmds.hpp" DEFINE_VAPI_MSG_IDS_DHCP_API_JSON; namespace VOM { -dhcp_config::bind_cmd::bind_cmd(HW::item& item, - const handle_t& itf, - const std::string& hostname, - const l2_address_t& client_id) +namespace dhcp_config_cmds { + +bind_cmd::bind_cmd(HW::item& item, + const handle_t& itf, + const std::string& hostname, + const l2_address_t& client_id, + bool set_broadcast_flag) : rpc_cmd(item) , m_itf(itf) , m_hostname(hostname) , m_client_id(client_id) + , m_set_broadcast_flag(set_broadcast_flag) { } bool -dhcp_config::bind_cmd::operator==(const bind_cmd& other) const +bind_cmd::operator==(const bind_cmd& other) const { return ((m_itf == other.m_itf) && (m_hostname == other.m_hostname)); } rc_t -dhcp_config::bind_cmd::issue(connection& con) +bind_cmd::issue(connection& con) { msg_t req(con.ctx(), std::ref(*this)); @@ -46,6 +50,7 @@ dhcp_config::bind_cmd::issue(connection& con) payload.pid = getpid(); payload.want_dhcp_event = 1; + memset(payload.hostname, 0, sizeof(payload.hostname)); memcpy(payload.hostname, m_hostname.c_str(), std::min(sizeof(payload.hostname), m_hostname.length())); @@ -63,7 +68,7 @@ dhcp_config::bind_cmd::issue(connection& con) } std::string -dhcp_config::bind_cmd::to_string() const +bind_cmd::to_string() const { std::ostringstream s; s << "Dhcp-config-bind: " << m_hw_item.to_string() @@ -72,9 +77,9 @@ dhcp_config::bind_cmd::to_string() const return (s.str()); } -dhcp_config::unbind_cmd::unbind_cmd(HW::item& item, - const handle_t& itf, - const std::string& hostname) +unbind_cmd::unbind_cmd(HW::item& item, + const handle_t& itf, + const std::string& hostname) : rpc_cmd(item) , m_itf(itf) , m_hostname(hostname) @@ -82,13 +87,13 @@ dhcp_config::unbind_cmd::unbind_cmd(HW::item& item, } bool -dhcp_config::unbind_cmd::operator==(const unbind_cmd& other) const +unbind_cmd::operator==(const unbind_cmd& other) const { return ((m_itf == other.m_itf) && (m_hostname == other.m_hostname)); } rc_t -dhcp_config::unbind_cmd::issue(connection& con) +unbind_cmd::issue(connection& con) { msg_t req(con.ctx(), std::ref(*this)); @@ -110,7 +115,7 @@ dhcp_config::unbind_cmd::issue(connection& con) } std::string -dhcp_config::unbind_cmd::to_string() const +unbind_cmd::to_string() const { std::ostringstream s; s << "Dhcp-config-unbind: " << m_hw_item.to_string() @@ -119,50 +124,50 @@ dhcp_config::unbind_cmd::to_string() const return (s.str()); } -dhcp_config::events_cmd::events_cmd(event_listener& el) +events_cmd::events_cmd(dhcp_config::event_listener& el) : event_cmd(el.status()) , m_listener(el) { } bool -dhcp_config::events_cmd::operator==(const events_cmd& other) const +events_cmd::operator==(const events_cmd& other) const { return (true); } rc_t -dhcp_config::events_cmd::issue(connection& con) +events_cmd::issue(connection& con) { /* - * Set the call back to handle DHCP complete envets. - */ + * Set the call back to handle DHCP complete envets. + */ m_reg.reset(new reg_t(con.ctx(), std::ref(*this))); /* - * return in-progress so the command stays in the pending list. - */ - return (rc_t::INPROGRESS); + * return in-progress so the command stays in the pending list. + */ + return (rc_t::OK); } void -dhcp_config::events_cmd::retire(connection& con) +events_cmd::retire(connection& con) { } void -dhcp_config::events_cmd::notify() +events_cmd::notify() { m_listener.handle_dhcp_event(this); } std::string -dhcp_config::events_cmd::to_string() const +events_cmd::to_string() const { return ("dhcp-events"); } } - +}; /* * fd.io coding-style-patch-verification: ON *