OpenSDN source code
|
#include <dns_mgr.h>
Classes | |
struct | PendingList |
Public Types | |
typedef std::map< uint16_t, PendingList > | PendingListMap |
typedef std::pair< uint16_t, PendingList > | PendingListPair |
typedef std::map< uint16_t, PendingList > | DeportedPendingListMap |
typedef std::pair< uint16_t, PendingList > | DeportedPendingListPair |
Public Member Functions | |
DnsManager () | |
virtual | ~DnsManager () |
void | Initialize (DB *config_db, DBGraph *config_graph, const std::string &named_config_dir, const std::string &named_config_file, const std::string &named_log_file, const std::string &rndc_config_file, const std::string &rndc_secret, const std::string &named_max_cache_size, const uint16_t named_max_retransmissions, const uint16_t named_retransmission_interval) |
void | Shutdown () |
void | DnsView (const DnsConfig *config, DnsConfig::DnsConfigEvent ev) |
void | DnsPtrZone (const Subnet &subnet, const VirtualDnsConfig *vdns, DnsConfig::DnsConfigEvent ev) |
void | DnsRecord (const DnsConfig *config, DnsConfig::DnsConfigEvent ev) |
void | HandleUpdateResponse (uint8_t *pkt, std::size_t length) |
DnsConfigManager & | GetConfigManager () |
bool | SendUpdate (BindUtil::Operation op, const std::string &view, const std::string &zone, DnsItems &items) |
void | SendRetransmit (uint16_t xid, BindUtil::Operation op, const std::string &view, const std::string &zone, DnsItems &items, uint32_t retranmit_count) |
void | UpdateAll () |
void | StartEndofConfigTimer () |
void | BindEventHandler (BindStatus::Event ev) |
template<typename ConfigType > | |
void | ProcessConfig (IFMapNodeProxy *proxy, const std::string &name, DnsConfigManager::EventType event) |
void | ProcessAgentUpdate (BindUtil::Operation event, const std::string &name, const std::string &vdns_name, const DnsItem &item) |
bool | IsBindStatusUp () |
void | set_config_manager (ConfigClientManager *config_manager) |
ConfigClientManager * | get_config_manager () |
bool | IsEndOfConfig () |
PendingListMap | GetDeportedPendingListMap () |
void | ClearDeportedPendingList () |
void | NotifyThrottledDnsRecords () |
void | DnsConfigMsgHandler (const std::string &key, const std::string &context) const |
void | VdnsRecordsMsgHandler (const std::string &key, const std::string &context, bool show_all=false) const |
void | BindPendingMsgHandler (const std::string &key, const std::string &context) const |
void | VdnsServersMsgHandler (const std::string &key, const std::string &context) const |
void | MakeSandeshPageReq (PageReqData *req, VirtualDnsConfig::DataMap &vdns, VirtualDnsConfig::DataMap::iterator vdns_it, VirtualDnsConfig::DataMap::iterator vdns_iter, const std::string &key, const std::string &req_name) const |
Static Public Attributes | |
static const int | max_records_per_sandesh = 100 |
static const int | kEndOfConfigCheckTime = 1000 |
static const uint16_t | kMaxRetransmitCount = 6 |
static const uint16_t | kPendingRecordReScheduleTime = 1000 |
static const uint16_t | kNamedLoWaterMark = 8192 |
static const uint16_t | kNamedHiWaterMark = 32768 |
static const uint16_t | kMaxIndexAllocator = 65535 |
Private Attributes | |
tbb::mutex | mutex_ |
BindStatus | bind_status_ |
DnsConfigManager | config_mgr_ |
ConfigClientManager * | config_client_manager_ |
PendingListMap | pending_map_ |
DeportedPendingListMap | dp_pending_map_ |
Timer * | pending_timer_ |
Timer * | end_of_config_check_timer_ |
bool | end_of_config_ |
uint32_t | record_send_count_ |
uint16_t | named_max_retransmissions_ |
uint16_t | named_retransmission_interval_ |
uint16_t | named_lo_watermark_ |
uint16_t | named_hi_watermark_ |
bool | named_send_throttled_ |
WorkQueue< uint16_t > | pending_done_queue_ |
IndexAllocator | idx_ |
Static Private Attributes | |
static uint16_t | g_trans_id_ |
Friends | |
class | DnsBindTest |
class | DnsManagerTest |
typedef std::map<uint16_t, PendingList> DnsManager::DeportedPendingListMap |
typedef std::pair<uint16_t, PendingList> DnsManager::DeportedPendingListPair |
typedef std::map<uint16_t, PendingList> DnsManager::PendingListMap |
typedef std::pair<uint16_t, PendingList> DnsManager::PendingListPair |
DnsManager::DnsManager | ( | ) |
|
virtual |
|
private |
void DnsManager::BindEventHandler | ( | BindStatus::Event | ev | ) |
void DnsManager::BindPendingMsgHandler | ( | const std::string & | key, |
const std::string & | context | ||
) | const |
|
private |
|
private |
|
inlineprivate |
|
private |
Definition at line 601 of file dns_mgr.cc.
|
private |
Definition at line 584 of file dns_mgr.cc.
|
private |
|
private |
void DnsManager::DnsConfigMsgHandler | ( | const std::string & | key, |
const std::string & | context | ||
) | const |
void DnsManager::DnsPtrZone | ( | const Subnet & | subnet, |
const VirtualDnsConfig * | vdns, | ||
DnsConfig::DnsConfigEvent | ev | ||
) |
void DnsManager::DnsRecord | ( | const DnsConfig * | config, |
DnsConfig::DnsConfigEvent | ev | ||
) |
void DnsManager::DnsView | ( | const DnsConfig * | config, |
DnsConfig::DnsConfigEvent | ev | ||
) |
|
private |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
void DnsManager::HandleUpdateResponse | ( | uint8_t * | pkt, |
std::size_t | length | ||
) |
void DnsManager::Initialize | ( | DB * | config_db, |
DBGraph * | config_graph, | ||
const std::string & | named_config_dir, | ||
const std::string & | named_config_file, | ||
const std::string & | named_log_file, | ||
const std::string & | rndc_config_file, | ||
const std::string & | rndc_secret, | ||
const std::string & | named_max_cache_size, | ||
const uint16_t | named_max_retransmissions, | ||
const uint16_t | named_retransmission_interval | ||
) |
|
inline |
|
inline |
void DnsManager::MakeSandeshPageReq | ( | PageReqData * | req, |
VirtualDnsConfig::DataMap & | vdns, | ||
VirtualDnsConfig::DataMap::iterator | vdns_it, | ||
VirtualDnsConfig::DataMap::iterator | vdns_iter, | ||
const std::string & | key, | ||
const std::string & | req_name | ||
) | const |
Definition at line 797 of file dns_mgr.cc.
|
private |
|
private |
void DnsManager::NotifyThrottledDnsRecords | ( | ) |
|
private |
|
private |
|
private |
|
private |
void DnsManager::ProcessAgentUpdate | ( | BindUtil::Operation | event, |
const std::string & | name, | ||
const std::string & | vdns_name, | ||
const DnsItem & | item | ||
) |
void DnsManager::ProcessConfig | ( | IFMapNodeProxy * | proxy, |
const std::string & | name, | ||
DnsConfigManager::EventType | event | ||
) |
|
private |
|
inlineprivate |
|
private |
void DnsManager::SendRetransmit | ( | uint16_t | xid, |
BindUtil::Operation | op, | ||
const std::string & | view, | ||
const std::string & | zone, | ||
DnsItems & | items, | ||
uint32_t | retranmit_count | ||
) |
bool DnsManager::SendUpdate | ( | BindUtil::Operation | op, |
const std::string & | view, | ||
const std::string & | zone, | ||
DnsItems & | items | ||
) |
|
inline |
void DnsManager::Shutdown | ( | ) |
void DnsManager::StartEndofConfigTimer | ( | ) |
|
private |
void DnsManager::UpdateAll | ( | ) |
|
private |
void DnsManager::VdnsRecordsMsgHandler | ( | const std::string & | key, |
const std::string & | context, | ||
bool | show_all = false |
||
) | const |
void DnsManager::VdnsServersMsgHandler | ( | const std::string & | key, |
const std::string & | context | ||
) | const |
|
private |
|
private |
|
private |
|
private |
|
private |
|
static |
|
static |
|
static |
|
private |
|
private |
|
private |