5 #ifndef vnsw_agent_dhcp_proto_hpp
6 #define vnsw_agent_dhcp_proto_hpp
11 #define DHCP_TRACE(obj, arg) \
13 std::ostringstream _str; \
15 Dhcp##obj::TraceMsg(DhcpTraceBuf, __FILE__, __LINE__, _str.str()); \
73 boost::asio::io_context &io);
128 void ReadHandler(
const boost::system::error_code &error, std::size_t len);
155 #endif // vnsw_agent_dhcp_proto_hpp
void DeleteLeaseDb(VmInterface *vmi)
MacAddress ip_fabric_interface_mac_
uint32_t pkt_interface_index() const
void StartLeaseFileCleanupTimer()
ProtoHandler * AllocProtoHandler(boost::shared_ptr< PktInfo > info, boost::asio::io_context &io)
void set_ip_fabric_interface_index(uint32_t ind)
DISALLOW_COPY_AND_ASSIGN(DhcpProto)
uint32_t unknown_msg_drop
uint8_t * dhcp_server_read_buf_
bool IsRunningWithVrouter() const
uint32_t ip_fabric_interface_index_
DhcpLeaseDb * GetLeaseDb(Interface *intrface)
uint32_t gateway_delete_seqno_
LeaseManagerMap lease_manager_
const LeaseManagerMap & lease_manager() const
void set_ip_fabric_interface_mac(const MacAddress &mac)
void IncrStatsRelayReqs()
void ReadHandler(const boost::system::error_code &error, std::size_t len)
DBTableBase::ListenerId iid_
Timer * lease_file_cleanup_timer_
bool LeaseFileCleanupExpiry(uint32_t seqno)
Interface * ip_fabric_interface() const
void CreateLeaseDb(VmInterface *vmi)
void ItfNotify(DBEntryBase *entry)
void set_dhcp_relay_mode(bool mode)
void VnNotify(DBEntryBase *entry)
DhcpProto(Agent *agent, boost::asio::io_context &io, bool run_with_vrouter)
static const uint32_t kDhcpLeaseFileDeleteTimeout
const DhcpStats & GetStats() const
void SendDhcpIpc(uint8_t *dhcp, std::size_t len)
void IncrUnknownMsgDrops()
std::pair< Interface *, DhcpLeaseDb * > LeaseManagerPair
void IncrDhcpDisabledDrops()
DBTableBase::ListenerId vnid_
const MacAddress & ip_fabric_interface_mac() const
uint32_t pkt_interface_index_
std::string GetLeaseFileName(const VmInterface *vmi)
void set_pkt_interface_index(uint32_t ind)
bool dhcp_relay_mode() const
uint32_t dhcp_disabled_drop
uint32_t ip_fabric_interface_index() const
std::map< Interface *, DhcpLeaseDb * > LeaseManagerMap
static const uint32_t kDhcpMaxPacketSize
DhcpVhostMsg(uint8_t *dhcp, uint32_t length)
boost::asio::ip::udp::endpoint remote_endpoint_
void set_ip_fabric_interface(Interface *itf)
Interface * ip_fabric_interface_
std::set< VmInterface * > gw_vmi_list_
void IncrStatsRelayResps()
boost::asio::ip::udp boost_udp
boost::asio::ip::udp::socket dhcp_server_socket_