|
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 |