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);
void IncrDhcpDisabledDrops()
const MacAddress & ip_fabric_interface_mac() const
const LeaseManagerMap & lease_manager() const
static const uint32_t kDhcpMaxPacketSize
DISALLOW_COPY_AND_ASSIGN(DhcpProto)
void ItfNotify(DBEntryBase *entry)
void DeleteLeaseDb(VmInterface *vmi)
ProtoHandler * AllocProtoHandler(boost::shared_ptr< PktInfo > info, boost::asio::io_context &io)
Interface * ip_fabric_interface_
uint32_t pkt_interface_index_
uint32_t gateway_delete_seqno_
uint32_t ip_fabric_interface_index_
bool dhcp_relay_mode() const
boost::asio::ip::udp::socket dhcp_server_socket_
LeaseManagerMap lease_manager_
const DhcpStats & GetStats() const
void IncrStatsRelayReqs()
Timer * lease_file_cleanup_timer_
void StartLeaseFileCleanupTimer()
DBTableBase::ListenerId vnid_
std::pair< Interface *, DhcpLeaseDb * > LeaseManagerPair
bool LeaseFileCleanupExpiry(uint32_t seqno)
DBTableBase::ListenerId iid_
void VnNotify(DBEntryBase *entry)
void IncrStatsRelayResps()
uint32_t pkt_interface_index() const
void set_dhcp_relay_mode(bool mode)
std::map< Interface *, DhcpLeaseDb * > LeaseManagerMap
void ReadHandler(const boost::system::error_code &error, std::size_t len)
void set_ip_fabric_interface(Interface *itf)
void IncrUnknownMsgDrops()
bool IsRunningWithVrouter() const
uint8_t * dhcp_server_read_buf_
void set_ip_fabric_interface_mac(const MacAddress &mac)
DhcpLeaseDb * GetLeaseDb(Interface *intrface)
std::set< VmInterface * > gw_vmi_list_
boost::asio::ip::udp::endpoint remote_endpoint_
Interface * ip_fabric_interface() const
static const uint32_t kDhcpLeaseFileDeleteTimeout
void set_ip_fabric_interface_index(uint32_t ind)
DhcpProto(Agent *agent, boost::asio::io_context &io, bool run_with_vrouter)
std::string GetLeaseFileName(const VmInterface *vmi)
MacAddress ip_fabric_interface_mac_
void SendDhcpIpc(uint8_t *dhcp, std::size_t len)
void set_pkt_interface_index(uint32_t ind)
uint32_t ip_fabric_interface_index() const
void CreateLeaseDb(VmInterface *vmi)
boost::asio::ip::udp boost_udp
uint32_t unknown_msg_drop
uint32_t dhcp_disabled_drop
DhcpVhostMsg(uint8_t *dhcp, uint32_t length)