[getdns-api] Actual upstream server

Willem Toorop willem at nlnetlabs.nl
Thu May 12 17:39:16 UTC 2016


Hi Robert,

You'll get that information when you use the call reporting extension.


willem at bonobo:~$ getdns_query -s +return_call_reporting -A nlnetlabs.nl
SYNC response:
{
  "answer_type": GETDNS_NAMETYPE_DNS,
  "call_reporting":
  [
    {
      "query_name": <bindata of "nlnetlabs.nl.">,
      "query_to":
      {
        "address_data": <bindata for 192.168.178.1>,
        "address_type": <bindata of "IPv4">
      },
      "query_type": GETDNS_RRTYPE_AAAA,
      "run_time/ms": 14,
      "transport": GETDNS_TRANSPORT_UDP
    },
    {
      "query_name": <bindata of "nlnetlabs.nl.">,
      "query_to":
      {
        "address_data": <bindata for 192.168.178.1>,
        "address_type": <bindata of "IPv4">
      },
      "query_type": GETDNS_RRTYPE_A,
      "run_time/ms": 18,
      "transport": GETDNS_TRANSPORT_UDP
    }
  ],
  "canonical_name": <bindata of "nlnetlabs.nl.">,
  "just_address_answers":
  [
    {
      "address_data": <bindata for 2a04:b900::1:0:0:10>,
      "address_type": <bindata of "IPv6">
    },
    {
      "address_data": <bindata for 185.49.140.10>,
      "address_type": <bindata of "IPv4">
    }
  ],
  "replies_full":
  [
     <bindata of 0xbef581800001000100000000096e6c6e...>,
     <bindata of 0x8e6a81800001000100000000096e6c6e...>
  ],
  "replies_tree":
  [
    {
      "additional": [],
      "answer":
      [
        {
          "class": GETDNS_RRCLASS_IN,
          "name": <bindata of "nlnetlabs.nl.">,
          "rdata":
          {
            "ipv6_address": <bindata for 2a04:b900::1:0:0:10>,
            "rdata_raw": <bindata of 0x2a04b900000000000001000000000010>
          },
          "ttl": 10200,
          "type": GETDNS_RRTYPE_AAAA
        }
      ],
      "answer_type": GETDNS_NAMETYPE_DNS,
      "authority": [],
      "canonical_name": <bindata of "nlnetlabs.nl.">,
      "header":
      {
        "aa": 0,
        "ad": 0,
        "ancount": 1,
        "arcount": 0,
        "cd": 0,
        "id": 48885,
        "nscount": 0,
        "opcode": GETDNS_OPCODE_QUERY,
        "qdcount": 1,
        "qr": 1,
        "ra": 1,
        "rcode": GETDNS_RCODE_NOERROR,
        "rd": 1,
        "tc": 0,
        "z": 0
      },
      "question":
      {
        "qclass": GETDNS_RRCLASS_IN,
        "qname": <bindata of "nlnetlabs.nl.">,
        "qtype": GETDNS_RRTYPE_AAAA
      }
    },
    {
      "additional": [],
      "answer":
      [
        {
          "class": GETDNS_RRCLASS_IN,
          "name": <bindata of "nlnetlabs.nl.">,
          "rdata":
          {
            "ipv4_address": <bindata for 185.49.140.10>,
            "rdata_raw": <bindata of 0xb9318c0a>
          },
          "ttl": 10200,
          "type": GETDNS_RRTYPE_A
        }
      ],
      "answer_type": GETDNS_NAMETYPE_DNS,
      "authority": [],
      "canonical_name": <bindata of "nlnetlabs.nl.">,
      "header":
      {
        "aa": 0,
        "ad": 0,
        "ancount": 1,
        "arcount": 0,
        "cd": 0,
        "id": 36458,
        "nscount": 0,
        "opcode": GETDNS_OPCODE_QUERY,
        "qdcount": 1,
        "qr": 1,
        "ra": 1,
        "rcode": GETDNS_RCODE_NOERROR,
        "rd": 1,
        "tc": 0,
        "z": 0
      },
      "question":
      {
        "qclass": GETDNS_RRCLASS_IN,
        "qname": <bindata of "nlnetlabs.nl.">,
        "qtype": GETDNS_RRTYPE_A
      }
    }
  ],
  "status": GETDNS_RESPSTATUS_GOOD
}
Response code was: GOOD. Status was: At least one response was returned

All done.


Op 12-05-16 om 19:18 schreef Robert Groenenberg:
> Hi,
> 
> I'm using getdns in stub mode with one or more upstream servers
> configured in the context.
> For statistics and logging I'd like to figure out which upstream server
> was actually used for a particular query. Am I correct that that
> information is currently not available, at least not (yet) via the API?
> 
> When the user callback is invoked, does context->upstreams->current
> indicate the upstream server that responded, or could it have already
> been changed for another query that has been send out between sending
> the 'current' query and receiving its response?
> 
> Thanks,
> Robert
> _______________________________________________
> spec mailing list
> spec at getdnsapi.net




More information about the spec mailing list