5 #ifndef vnsw_agent_dns_handler_hpp
6 #define vnsw_agent_dns_handler_hpp
9 #include "vnc_cfg_types.h"
13 #define DEFAULT_DNS_TTL 120
23 typedef boost::function<void(
const boost::system::error_code&,
47 boost::asio::io_context &io);
52 boost_udp::resolver::iterator it,
53 DnsItems::iterator item);
88 std::string *domain_name)
const;
89 void GetBaseName(
const std::string &name, std::string *base)
const;
108 boost::asio::ip::udp::endpoint
ep_;
133 #endif // vnsw_agent_dns_handler_hpp
void BuildDefaultDnsResolvers()
DnsItems linklocal_items_
void UpdateGWAddress(DnsItem &item)
void GetDomainName(const VmInterface *vm_itf, std::string *domain_name) const
std::string DnsItemsToString(DnsItems &items) const
boost::function< void(const boost::system::error_code &, boost_udp::resolver::iterator)> ResolveHandler
void GetBaseName(const std::string &name, std::string *base) const
bool HandleDefaultDnsResponse()
boost::asio::ip::udp::endpoint ep_
void DelUpdate(InterTaskMsg *msg)
std::list< DnsItem > DnsItems
bool NeedRetryForNextServer(uint16_t code)
std::vector< DnsResolverInfo * > dns_resolvers_
bool SendDnsQuery(DnsResolverInfo *resolver, uint16_t xid)
autogen::VirtualDnsType vdns_type_
void SendXmppUpdate(AgentDnsXmppChannel *channel, DnsUpdateData *xmpp_data)
bool DefaultMethodInUse()
DnsHandler(Agent *agent, boost::shared_ptr< PktInfo > info, boost::asio::io_context &io)
autogen::IpamType ipam_type_
bool operator<(const QueryKey &rhs) const
void UpdateOffsets(DnsItem &item, bool name_update_required)
uint16_t query_name_update_len_
void DefaultDnsSendResponse()
DnsNameEncoder name_encoder_
void DefaultDnsResolveHandler(const boost::system::error_code &error, boost_udp::resolver::iterator it, DnsItems::iterator item)
bool HandleUpdateResponse()
bool ResolveLinkLocalRequest(DnsItems::iterator &item, DnsItems *linklocal_items) const
void Update(InterTaskMsg *msg)
bool ResolveAllLinkLocalRequests()
std::vector< DnsResolverInfo * > def_dns_resolvers_
bool GetDomainNameFromDhcp(std::vector< autogen::DhcpOptionType > &options, std::string *domain_name) const
void Resolve(dns_flags flags, const DnsItems &ques, DnsItems &ans, DnsItems &auth, DnsItems &add)
bool SendToDefaultServer()
bool HandleVirtualDnsRequest(const VmInterface *vmitf)
static const uint32_t max_items_per_xmpp_msg
bool HandleDefaultDnsRequest(const VmInterface *vmitf)
DISALLOW_COPY_AND_ASSIGN(DnsHandler)
QueryKey(const Interface *i, uint16_t x)
bool TimerExpiry(uint16_t xid)
std::vector< boost_udp::resolver * > ResolvList
bool HandleBindResponse()
boost::asio::ip::udp boost_udp
void HandleInvalidBindResponse(DnsHandler *handler, dns_flags flags, const DnsItems &ques, DnsItems &ans, DnsItems &auth, DnsItems &add, uint16_t xid)