Skip to content

Commit

Permalink
Merge "Information about named server or DNS resolver"
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Jun 5, 2015
2 parents 0d55034 + 1ccfc38 commit d49d95b
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 10 deletions.
18 changes: 17 additions & 1 deletion src/vnsw/agent/controller/controller.sandesh
Expand Up @@ -26,6 +26,22 @@ struct AgentXmppData {
14: string xmpp_auth_type;
}

struct AgentXmppDnsData {
1: string dns_controller_ip;
2: string state;
3: string peer_name;
4: string peer_address;
5: string last_state;
6: string last_event;
7: string last_state_at;
8: u32 flap_count;
9: string flap_time;
10: ControllerProtoStats rx_proto_stats;
11: ControllerProtoStats tx_proto_stats;
12: string xmpp_auth_type;
}


traceobject sandesh AgentXmppTrace {
1: string peer;
2: string vrf;
Expand Down Expand Up @@ -108,5 +124,5 @@ request sandesh AgentDnsXmppConnectionStatusReq {
}

response sandesh AgentDnsXmppConnectionStatus {
1: list<AgentXmppData>peer;
1: list<AgentXmppDnsData>peer;
}
12 changes: 5 additions & 7 deletions src/vnsw/agent/controller/controller_sandesh.cc
Expand Up @@ -77,12 +77,12 @@ void AgentXmppConnectionStatusReq::HandleRequest() const {
void AgentDnsXmppConnectionStatusReq::HandleRequest() const {
uint8_t dns_count = 0;

AgentXmppConnectionStatus *resp = new AgentXmppConnectionStatus();
AgentDnsXmppConnectionStatus *resp = new AgentDnsXmppConnectionStatus();
while (dns_count < MAX_XMPP_SERVERS) {
if (!Agent::GetInstance()->dns_server(dns_count).empty()) {

AgentXmppData data;
data.set_controller_ip(Agent::GetInstance()->dns_server(dns_count));
AgentXmppDnsData data;
data.set_dns_controller_ip(Agent::GetInstance()->dns_server(dns_count));

AgentDnsXmppChannel *ch = Agent::GetInstance()->dns_xmpp_channel(dns_count);
if (ch) {
Expand All @@ -95,8 +95,6 @@ void AgentDnsXmppConnectionStatusReq::HandleRequest() const {

data.set_peer_name(xc->ToString());
data.set_peer_address(xc->PeerAddress());
data.set_mcast_controller("-");
data.set_cfg_controller("-");
data.set_xmpp_auth_type(xc->AuthType());
data.set_last_state(xc->LastStateName());
data.set_last_event(xc->LastEvent());
Expand All @@ -120,8 +118,8 @@ void AgentDnsXmppConnectionStatusReq::HandleRequest() const {
data.set_tx_proto_stats(tx_proto_stats);
}

std::vector<AgentXmppData> &list =
const_cast<std::vector<AgentXmppData>&>(resp->get_peer());
std::vector<AgentXmppDnsData> &list =
const_cast<std::vector<AgentXmppDnsData>&>(resp->get_peer());
list.push_back(data);
}
dns_count++;
Expand Down
5 changes: 3 additions & 2 deletions src/vnsw/agent/services/dns_handler.cc
Expand Up @@ -381,8 +381,9 @@ bool DnsHandler::SendDnsQuery() {
ipam_type_.ipam_dns_server.virtual_dns_server_name, items_);
if (BindResolver::Resolver()->DnsSend(pkt, agent()->dns_xmpp_server_index(),
len)) {
DNS_BIND_TRACE(DnsBindTrace, "DNS query sent to server; xid = " <<
xid_ << " " << DnsItemsToString(items_));
DNS_BIND_TRACE(DnsBindTrace, "DNS query sent to named server : " <<
agent()->dns_server(agent()->dns_xmpp_server_index()) <<
"; xid =" << xid_ << " " << DnsItemsToString(items_));
timer_->Start(dns_proto->timeout(),
boost::bind(&DnsHandler::TimerExpiry, this, xid_));
return true;
Expand Down
1 change: 1 addition & 0 deletions src/vnsw/agent/services/services.sandesh
Expand Up @@ -120,6 +120,7 @@ response sandesh ArpStats {
}

response sandesh DnsStats {
7: string dns_resolver;
1: i32 dns_requests;
2: i32 dns_resolved;
3: i32 dns_retransmit_reqs;
Expand Down
7 changes: 7 additions & 0 deletions src/vnsw/agent/services/services_sandesh.cc
Expand Up @@ -207,6 +207,13 @@ void ServicesSandesh::ArpStatsSandesh(std::string ctxt, bool more) {
void ServicesSandesh::DnsStatsSandesh(std::string ctxt, bool more) {
DnsStats *dns = new DnsStats();
const DnsProto::DnsStats &nstats = Agent::GetInstance()->GetDnsProto()->GetStats();
int8_t idx = Agent::GetInstance()->dns_xmpp_server_index();
if (idx == -1) {
dns->set_dns_resolver("-");
} else {
dns->set_dns_resolver(Agent::GetInstance()->dns_server(idx));
}

dns->set_dns_requests(nstats.requests);
dns->set_dns_resolved(nstats.resolved);
dns->set_dns_retransmit_reqs(nstats.retransmit_reqs);
Expand Down

0 comments on commit d49d95b

Please sign in to comment.