|
The following is an example that shows the setup files
that are used, the command that is used to invoke the trace, and the
trace resolver output: - Setup files that are used for trace resolver:
- Resolver Procedure:
//RESOLVER PROC PARMS='CTRACE(CTIRESFL)'
//*
//EZBREINI EXEC PGM=EZBREINI,REGION=0M,TIME=1440,PARM=&PARMS
//*
//SETUP DD DSN=TPOUSER.RESOLVER.SETUP.DATA,DISP=SHR,FREE=CLOSE
- Setup File TPOUSER.RESOLVER.SETUP.DATA contains:
;
DEFAULTTCPIPDATA('TPOUSER.RESOLVER.DEFAULT.DATA')
;
; GLOBALTCPIPDATA(/etc/tcpipglobal.data)
#
GLOBALTCPIPDATA('SYS1.TCPPARMS(RESGLOBL)')
- Global TCPIP.DATA file SYS1.TCPPARMS(RESGLOBL) contains:
# Note that DOMAIN is ignored because SEARCH is mutually exclusive
# and SEARCH appears after DOMAIN.
Domain abcxyz
; Note that SEARCH can be specified on multiple lines.
SEARCH tcp.raleigh.ibm.com raleigh.ibm.com
SEARch ibm.com com uk
SEARch gov
1a Search mil
SORTLIST 0.0.19.0/0.0.255.0 0.0.18.99/0.0.255.255 0.42.17.0/0.255.255.0
SORTLIST 129.42.16.0/255.255.255.0
1b Sortlist 9.0.0.0
NSinterAddr 111.111.111.111
NameServer 9.67.128.255 ; not a server
NSinterAddr 2001::9:43:80:52
NSportAddr 53
2 ;ResolveVia UDP
ResolverTimeout 3
ResolverUdpRetries 1 ; 1 means 1 total try, 0 would be no tries at all
1c loaddbcstables unknown
loaddbcstables big5
3 MVS000: Hostname MVS026
- Default TCPIP.DATA file TPOUSER.RESOLVER.DEFAULT.DATA contains:
; TRACE RESOLVER
DatasetPrefix USER1
TcpipJobname TCPCS3
Hostname VIC097
; trace c sockets
; alwayswto no
; messagecase whoknows
; loaddbcstables tbd
Note: For this example, this file
exists but is not used in the procedure for obtaining this example
trace resolver output.
- Local TCPIP.DATA file USER55.TCPIP.DATA contains:
; trace resolver
DATASETPREFIX USER55
# If an option is coded multiple times but can only have 1 value,
# the last occurrence is used.
TCPIPjobname TCPCS2
TCPIPjobname TCPCS
3 HostName MVS000
DomainOrigin edu
;
NameServer 127.0.0.1 ; loopback
#
2 ResolveVia TCP
ResolverTimeout 22
1d alwayswto xyz
messagecase mixed
loaddbcstables schinese
- TSO commands issued to obtain the trace (gethostbyname):
alloc dd(systcpt) dsn(traceres) reuse
4 invoke a REXX application which issues gethostbyname for TESTBEN46.SVT390.COM
- Trace Resolver output in USER55.TRACERES contains (gethostbyname):
5 Resolver Trace Initialization Complete -> 2009/06/18 15:51:51.733708
1a res_init Skipped option(s) on line 8: SYS1.TCPPARMS(RESGLOBL)
1b res_init Skipped option(s) on line 11: SYS1.TCPPARMS(RESGLOBL)
1c res_init Parse error on line 19: SYS1.TCPPARMS(RESGLOBL)
1d res_init Parse error on line 14: USER55.TCPIP.DATA
6 res_init Resolver values:
35 Setup file warning messages = No
Global Tcp/Ip Dataset = SYS1.TCPPARMS(RESGLOBL)
Default Tcp/Ip Dataset = TPOUSER.RESOLVER.DEFAULT.DATA
Local Tcp/Ip Dataset = USER55.TCPIP.DATA
Translation Table = Default
UserId/JobName = USER55
19 Caller API = TCP/IP Rexx Sockets
20 Caller Mode = EBCDIC
32 System Name = MVS000 (from VMCF)
34 UnresponsiveThreshold = 25
(L) DataSetPrefix = USER55
3 (G) HostName = MVS026
(L) TcpIpJobName = TCPCS
3 (G) Search = tcp.raleigh.ibm.com
raleigh.ibm.com
ibm.com
com
uk
gov
(G) SortList = 0.0.19.0/0.0.255.0
0.0.18.99/0.0.255.255
0.42.17.0/0.255.255.0
129.42.16.0/255.255.255.0
3 (G) NameServer = 111.111.111.111
EDNS0 Support = Unknown
9.67.128.255
EDNS0 Support = Unknown
2001::9:43:80:52
EDNS0 Support = Unknown
(G) NsPortAddr = 53 (G) ResolverTimeout = 3
2 (*) ResolveVia = UDP (G) ResolverUdpRetries = 1
(*) Options NDots = 1
(*) SockNoTestStor
(*) AlwaysWto = NO (L) MessageCase = MIXED
11 (*) LookUp = DNS LOCAL
25 (*) Cache
(G) LoadDbcsTable = BIG5
res_init Succeeded
res_init Started: 2009/06/18 15:51:51.800668
res_init Ended: 2009/06/18 15:51:51.800676
***************************************************************************
4 GetHostByName Started: 2009/06/18 15:51:51.815838
GetHostByName Resolving Name: TESTBEN46.SVT390.COM
GetHostByName Stack Name: TCPCS
res_search(TESTBEN46.SVT390.COM, C_IN, T_A)
res_search Host Alias Search found no alias
res_querydomain(TESTBEN46.SVT390.COM., , C_IN, T_A)
res_querydomain resolving name: TESTBEN46.SVT390.COM.
res_query(TESTBEN46.SVT390.COM., C_IN, T_A)
26 Querying resolver cache for TESTBEN46.SVT390.COM.
EZBRECFR: RetVal = 0, RC = 0, Reason = 0x00000000
26a No cache information was available
res_mkquery(QUERY, TESTBEN46.SVT390.COM., C_IN, T_A)
7 res_mkquery created message:
* * * * * Beginning of Message * * * * *
Query Id: 18693
Flags: 00000001 00000000
Flags set: recurDes
OpCode: QUERY
Response Code: NOERROR
Number of Question RRs: 1
Question 1:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
Number of Answer RRs: 0
Number of Authority RRs: 0
7a Number of Additional RRs: 1
Additional 1:
Type (0X0029) T_OPT UDP Payload (0X0C00) 3072
Extended RCODE 0 Version 0 Flags 0000
* * * * * End of Message * * * * *
21 res_send Name Server Capabilities
21b Monitoring intervals used = 5
Name server 111.111.111.111
EDNS0 Support = unknown
Queries sent = 0
Failures = 0
Percentage = 0%
21a Use this name server for queries
Name server 9.67.128.255
EDNS0 Support = unknown
Queries sent = 0
Failures = 0
Percentage = 0%
Use this name server for queries
Name server 2001::9:43:80:52
EDNS0 Support = unknown
Queries sent = 0
Failures = 0
Percentage = 0%
Use this name server for queries
8 res_send sending query to Name Server 111.111.111.111
27 DNS Communication Started: 2009/06/18 15:51:51.816987
31 BPX1SOC: RetVal = 0, RC = 0, Reason = 0x00000000, Type=IPv6
22 No OPT RR record sent on request to 111.111.111.111
BPX1STO: RetVal = 38, RC = 0, Reason = 0x00000000
BPX1AIO Sched: RetVal = 1, RC = 0, Reason = 0x00000000
BPX1AIO RECVMSG : From 111.111.111.111
RetVal=502, RC=0, Reason=0x00000000
UDP Data Length: 502
9 res_send received data via UDP. Message received:
* * * * * Beginning of Message * * * * *
Query Id: 18693
Flags: 10000111 10000000
Flags set: resp auth trunc recurDes recurAvl
OpCode: QUERY
Response Code: NOERROR
Number of Question RRs: 1
Question 1:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
Trace terminated due to truncation condition
* * * * * End of Message * * * * *
27a DNS Communication Ended: 2009/06/18 15:51:51.836189 time used 00:00:00.019202
8 res_send Sending query to Name Server 111.111.111.111
27 DNS Communication Started: 2009/06/18 15:51:51.836812
22a EDNS0 Probe request sent to 111.111.111.111 id=18694
BPX1STO: RetVal = 49, RC = 0, Reason = 0x00000000
BPX1AIO Sched: RetVal = 1, RC = 0, Reason = 0x00000000
BPX1AIO RECVMSG : From 111.111.111.111
RetVal=553, RC=0, Reason=0x00000000
UDP Data Length: 553
9a res_send received data via UDP. Message received:
* * * * * Beginning of Message * * * * *
Query Id: 18694
Flags: 10000101 10000000
Flags set: resp auth recurDes recurAvl
OpCode: QUERY
Response Code: NOERROR
Number of Question RRs: 1
Question 1:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
Number of Answer RRs: 29
Answer 1:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
30 TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.5
Answer 2:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.6
Answer 3:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.7
Answer 4:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.8
Answer 5:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.9
Answer 6:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.10
Answer 7:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.11
Answer 8:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.12
Answer 9:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.13
Answer 10:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.14
Answer 11:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.15
Answer 12:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.16
Answer 13:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.17
Answer 14:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.18
Answer 15:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.19
Answer 16:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.20
Answer 17:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.21
Answer 18:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.22
Answer 19:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.23
Answer 20:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.24
Answer 21:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.25
Answer 22:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.26
Answer 23:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.27
Answer 24:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.28
Answer 25:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.29
Answer 26:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.1
Answer 27:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.2
Answer 28:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.3
Answer 29:
TESTBEN46.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.14.103.4
Number of Authority RRs: 1
Authority 1:
SVT390.COM
Type (0X0002) T_NS Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
sdistcici.SVT390.COM
24 Number of Additional RRs: 2
Additional 1:
sdistcici.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.11.235.51
Additional 2:
Type (0X0029) T_OPT UDP Payload (0X1000) 4096
Extended RCODE 0 Version 0 Flags 0000
* * * * * End of Message * * * * *
23 Oversized reply to probe request from 111.111.111.111
BPX1CLO: RetVal = 0, RC = 0, Reason = 0x00000000
27a DNS Communication Ended: 2009/06/18 15:51:51.841691 time used 00:00:00.004879
33 Name Server Capability Updates
Name server 111.111.111.111
EDNS0 Support = up-level
Queries sent = 1
Failures = 0
res_send Succeeded
28 Attempting to cache results for TESTBEN46.SVT390.COM.
EZBRECAR: RetVal = 0, RC = 0, Reason = 0x00000000
Cache information was saved
res_query Succeeded
res_querydomain Succeeded
res_search Succeeded
10 GetHostByName Succeeded: IP Address(es) found:
IP Address(1) is 197.14.103.5
IP Address(2) is 197.14.103.6
IP Address(3) is 197.14.103.7
IP Address(4) is 197.14.103.8
IP Address(5) is 197.14.103.9
IP Address(6) is 197.14.103.10
IP Address(7) is 197.14.103.11
IP Address(8) is 197.14.103.12
IP Address(9) is 197.14.103.13
IP Address(10) is 197.14.103.14
IP Address(11) is 197.14.103.15
IP Address(12) is 197.14.103.16
IP Address(13) is 197.14.103.17
IP Address(14) is 197.14.103.18
IP Address(15) is 197.14.103.19
IP Address(16) is 197.14.103.20
IP Address(17) is 197.14.103.21
IP Address(18) is 197.14.103.22
IP Address(19) is 197.14.103.23
IP Address(20) is 197.14.103.24
IP Address(21) is 197.14.103.25
IP Address(22) is 197.14.103.26
IP Address(23) is 197.14.103.27
IP Address(24) is 197.14.103.28
IP Address(25) is 197.14.103.29
IP Address(26) is 197.14.103.1
IP Address(27) is 197.14.103.2
IP Address(28) is 197.14.103.3
IP Address(29) is 197.14.103.4
GetHostByName Ended: 2009/06/18 15:51:51.846582
***************************************************************************
- TSO commands issued to obtain the trace (getaddrinfo):
alloc dd(systcpt) dsn(traceres) reuse
12 CS V1R12: Pinging host TESTBEN46.SVT390.COM
at IPv6 address 2000:197:14:103::15
Ping #1 timed out
- Trace Resolver output in USER55.TRACERES contains (getaddrinfo):
5 Resolver Trace Initialization Complete -> 2009/06/18 15:56:52.840756
1a res_init Skipped option(s) on line 8: SYS1.TCPPARMS(RESGLOBL)
1b res_init Skipped option(s) on line 11: SYS1.TCPPARMS(RESGLOBL)
1c res_init Parse error on line 19: SYS1.TCPPARMS(RESGLOBL)
1d res_init Parse error on line 14: USER55.TCPIP.DATA
6 res_init Resolver values:
35 Setup file warning messages = No
Global Tcp/Ip Dataset = SYS1.TCPPARMS(RESGLOBL)
Default Tcp/Ip Dataset = TPOUSER.RESOLVER.DEFAULT.DATA
Local Tcp/Ip Dataset = USER55.TCPIP.DATA
Translation Table = Default
UserId/JobName = USER55
19 Caller API = TCP/IP Sockets Extended
20 Caller Mode = EBCDIC
32 System Name = MVS000 (from VMCF)
34 UnresponsiveThreshold = 25
(L) DataSetPrefix = USER55
3 (G) HostName = MVS026
(L) TcpIpJobName = TCPCS
3 (G) Search = tcp.raleigh.ibm.com
raleigh.ibm.com
ibm.com
com
uk
gov
(G) SortList = 0.0.19.0/0.0.255.0
0.0.18.99/0.0.255.255
0.42.17.0/0.255.255.0
129.42.16.0/255.255.255.0
3 (G) NameServer = 111.111.111.111
EDNS0 Support = Up-level
9.67.128.255
EDNS0 Support = Unknown
2001::9:43:80:52
EDNS0 Support = Unknown
(G) NsPortAddr = 53 (G) ResolverTimeout = 3
2 (*) ResolveVia = UDP (G) ResolverUdpRetries = 1
(*) Options NDots = 1
(*) SockNoTestStor
(*) AlwaysWto = NO (L) MessageCase = MIXED
11 (*) LookUp = DNS LOCAL
25 (*) Cache
(G) LoadDbcsTable = BIG5
res_init Succeeded
res_init Started: 2009/06/18 15:56:52.894280
res_init Ended: 2009/06/18 15:56:52.894288
***************************************************************************
res_init Started: 2009/06/18 15:56:52.900190
res_init Ended: 2009/06/18 15:56:52.900197
***************************************************************************
12 GetAddrInfo Started: 2009/06/18 15:56:52.900968
GetAddrinfo Invoked with following inputs:
Host Name: TESTBEN46.SVT390.COM
No Service operand specified
Hints parameter supplied with settings:
ai_family = 0, ai_flags = 0x00000062
ai_protocol = 0, ai_socktype = 0
13 GetAddrInfo Opening Socket for IOCTLs
31 BPX1SOC: RetVal = 0, RC = 0, Reason = 0x00000000, Type=IPv6
BPX1IOC: RetVal = 0, RC = 0, Reason = 0x00000000
GetAddrInfo Opened Socket 0x00000000
14 GetAddrInfo Both IPv4 and IPv6 Interfaces Exist
GetAddrInfo Host Alias Search found no alias
res_querydomain(TESTBEN46.SVT390.COM., , C_IN, T_AAAA)
res_querydomain resolving name: TESTBEN46.SVT390.COM.
15 res_query(TESTBEN46.SVT390.COM., C_IN, T_AAAA)
26 Querying resolver cache for TESTBEN46.SVT390.COM.
EZBRECFR: RetVal = 0, RC = 0, Reason = 0x00000000
26b No cache information was available
res_mkquery(QUERY, TESTBEN46.SVT390.COM., C_IN, T_AAAA)
7 res_mkquery created message:
* * * * * Beginning of Message * * * * *
Query Id: 52138
Flags: 00000001 00000000
Flags set: recurDes
OpCode: QUERY
Response Code: NOERROR
Number of Question RRs: 1
Question 1:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
Number of Answer RRs: 0
Number of Authority RRs: 0
7a Number of Additional RRs: 1
Additional 1:
Type (0X0029) T_OPT UDP Payload (0X0C00) 3072
Extended RCODE 0 Version 0 Flags 0000
* * * * * End of Message * * * * *
21 res_send Name Server Capabilities
21b Monitoring intervals used = 5
Name server 111.111.111.111
EDNS0 Support = up-level
Queries sent = 1
Failures = 0
Percentage = 0%
21a Use this name server for queries
Name server 9.67.128.255
EDNS0 Support = unknown
Queries sent = 0
Failures = 0
Percentage = 0%
Use this name server for queries
Name server 2001::9:43:80:52
EDNS0 Support = unknown
Queries sent = 0
Failures = 0
Percentage = 0%
Use this name server for queries
8 res_send Sending query to Name Server 111.111.111.111
27 DNS Communication Started: 2009/06/18 15:56:52.902525
22b OPT RR record included on request to 111.111.111.111
BPX1STO: RetVal = 49, RC = 0, Reason = 0x00000000
BPX1AIO Sched: RetVal = 1, RC = 0, Reason = 0x00000000
BPX1AIO RECVMSG : From 111.111.111.111
RetVal=649, RC=0, Reason=0x00000000
UDP Data Length: 649
9b res_send received data via UDP. Message received:
* * * * * Beginning of Message * * * * *
Query Id: 52138
Flags: 10000101 10000000
Flags set: resp auth recurDes recurAvl
OpCode: QUERY
Response Code: NOERROR
Number of Question RRs: 1
Question 1:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
Number of Answer RRs: 20
Answer 1:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
30 TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::18
Answer 2:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::19
Answer 3:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::20
Answer 4:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::1
Answer 5:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::2
Answer 6:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::3
Answer 7:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::4
Answer 8:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::5
Answer 9:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::6
Answer 10:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::7
Answer 11:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::8
Answer 12:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::9
Answer 13:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::10
Answer 14:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::11
Answer 15:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::12
Answer 16:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::13
Answer 17:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::14
Answer 18:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::15
Answer 19:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::16
Answer 20:
TESTBEN46.SVT390.COM
Type (0X001C) T_AAAA Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
2000:197:14:103::17
Number of Authority RRs: 1
Authority 1:
SVT390.COM
Type (0X0002) T_NS Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
sdistcici.SVT390.COM
24 Number of Additional RRs: 2
Additional 1:
sdistcici.SVT390.COM
Type (0X0001) T_A Class (0X0001) C_IN
TTL: 86400 (1 days, 0 hours, 0 minutes, 0 seconds)
197.11.235.51
Additional 2:
Type (0X0029) T_OPT UDP Payload (0X1000) 4096
Extended RCODE 0 Version 0 Flags 0000
* * * * * End of Message * * * * *
27a DNS Communication Ended: 2009/06/18 15:56:52.908818 time used 00:00:00.006293
33a Name Server Capability Updates
Name server 111.111.111.111
Queries sent = 1
Failures = 0
res_send Succeeded
28 Attempting to cache results for TESTBEN46.SVT390.COM.
EZBRECAR: RetVal = 0, RC = 0, Reason = 0x00000000
Cache information was saved
res_query Succeeded
res_querydomain Succeeded
res_querydomain(TESTBEN46.SVT390.COM., , C_IN, T_A)
res_querydomain resolving name: TESTBEN46.SVT390.COM.
16 res_query(TESTBEN46.SVT390.COM., C_IN, T_A)
26 Querying resolver cache for TESTBEN46.SVT390.COM.
EZBRECFR: RetVal = 0, RC = 0, Reason = 0x00000000
26c Cache data from 111.111.111.111 was retrieved
res_query Succeeded
res_querydomain Succeeded
17 GetAddrInfo Returning Zero as Port Number
GetAddrInfo Built 35 Addrinfos
13a GetAddrInfo Closing IOCTL Socket 0x00000000
BPX1CLO: RetVal = 0, RC = 0, Reason = 0x00000000
18 GetAddrInfo Succeeded: IP Address(es) found:
IP Address(1) is 2000:197:14:103::15
IP Address(2) is 2000:197:14:103::14
IP Address(3) is 2000:197:14:103::17
IP Address(4) is 2000:197:14:103::16
IP Address(5) is 2000:197:14:103::11
IP Address(6) is 2000:197:14:103::10
IP Address(7) is 2000:197:14:103::13
IP Address(8) is 2000:197:14:103::12
IP Address(9) is 2000:197:14:103::19
IP Address(10) is 2000:197:14:103::18
IP Address(11) is 2000:197:14:103::5
IP Address(12) is 2000:197:14:103::4
IP Address(13) is 2000:197:14:103::7
IP Address(14) is 2000:197:14:103::6
IP Address(15) is 2000:197:14:103::1
IP Address(16) is 2000:197:14:103::3
IP Address(17) is 2000:197:14:103::2
IP Address(18) is 2000:197:14:103::9
IP Address(19) is 2000:197:14:103::8
IP Address(20) is 2000:197:14:103::20
IP Address(21) is 197.14.103.5
IP Address(22) is 197.14.103.6
IP Address(23) is 197.14.103.7
IP Address(24) is 197.14.103.8
IP Address(25) is 197.14.103.9
IP Address(26) is 197.14.103.10
IP Address(27) is 197.14.103.11
IP Address(28) is 197.14.103.12
IP Address(29) is 197.14.103.13
IP Address(30) is 197.14.103.14
IP Address(31) is 197.14.103.15
IP Address(32) is 197.14.103.16
IP Address(33) is 197.14.103.17
IP Address(34) is 197.14.103.18
IP Address(35) is 197.14.103.19
29 GetAddrInfo Ended: 2009/06/18 15:56:52.914971
***************************************************************************
FreeAddrInfo Started: 2009/06/18 15:56:52.917611
FreeAddrInfo Called to free addrinfo structures
FreeAddrInfo Succeeded, Freed 35 Addrinfos
FreeAddrInfo Ended: 2009/06/18 15:56:52.918496
***************************************************************************
The following describes highlighted numbered
areas of the example setup files and example trace resolver output. - 1
- Errors that are deliberately entered into this example to show
action taken:
- a
- Line 8 in the global file specifies seven SEARCH values; the maximum
number that is allowed is 6. The seventh value is ignored.
- b
- Line 11 in the global file specifies five SORTLIST values; the
maximum number that is allowed is 4. The fifth value is ignored.
- c
- Line 19 in the global file has a value for LOADDBCSTABLES that
is not valid. The value is ignored.
- d
- Line 14 in the local file has a value for ALWAYSWTO that is not
valid. The value is ignored and the default is used.
- 2
- The ResolveVia field specifies UDP even though the local file
indicated RESOLVEVIA TCP. UDP is used because GLOBALTCPIPDATA is
being used. If a global file is used, then all resolver-related TCPIP.DATA
statements must be specified in it. If the resolver statements are
not specified, then default values are assigned. In this example,
resolver statements are not specified as shown by RESOLVEVIA being
commented out in the global file.
- 3
- A local file cannot override the global file for any value. The
global file specifies the hostname, therefore the local file value
of MVS000 does not override the global value of MVS026. Likewise,
since there is a GLOBALTCPIPDATA specified all resolver-related statements
in a local file are ignored (for example, DOMAINORIGIN, NAMESERVER
and RESOLVERTIMEOUT).
The list of name servers to be queried also
indicates whether the resolver considers the name server to support
the Extension Mechanisms for DNS (EDNS0) capability. The resolver
might believe that the name server supports EDNS0 (EDNS0 Support =
Up-level), that the name server does not support EDNS0 (EDNS0 Support
= Down-level), or that the capability of the name server is undetermined
(EDNS0 Support = Unknown).
- 4
- A REXX application calls GetHostByName at the indicated local
date and time. The flow through the resolver API calls shows the
parameters that are being passed.
- 5
- Trace output reports the date and time the TCPIP.DATA statements
were processed.
- 6
- The res_init() resolver initialization values
are reported. These values are the values actually being used by the
resolver, with an indication of the origin of the value. The indicators
are:
- *
- Default value
- A
- Modified by application
- D
- Default file (not used if the local file is found)
- E
- Environment variable
- G
- Global file
- L
- Local file
- 7
- res_mkquery creates a DNS message (from Beginning
of Message to End of Message). The message is interpreted, and flags
and codes are spelled out.
- a
- res_mkquery appends an additional RR record (the
OPT RR) to the request that is being built. The presence of the OPT
RR record on the request indicates that the resolver supports the
EDNS0 function and that UDP packets of up to 3072 bytes can be sent
to the resolver (instead of the normal 512-byte limitation).
- 8
- res_send sends the query to the name server.
The res_send function calls several z/OS® UNIX functions; the
indentation of the lines that follow res_send indicate res_send was
the caller. The IP address of the DNS is also displayed.
- 9
- res_send receives a message from DNS. This message
is truncated because the amount of data that the DNS has available
to send regarding the resource is greater than 512 bytes.
- a
- res_send receives a message from DNS. This time,
because the DNS query from resolver contained the OPT RR record that
indicates up to 3072 bytes of UDP data could be returned, the DNS
returns all 553 bytes of data that use UDP protocols. The total number
of Answer records in this response is 29.
- b
- res_send receives a message from DNS. This message
is also greater than 512 bytes, but since the OPT RR record is included
on the query, the full amount of data can be sent on the first UDP
response from the name server. The total number of Answer records
in this response is 20.
- 10
- The GetHostByName function reports success and lists the IP addresses
returned. If addresses matched any of the values in the SORTLIST
definitions, the order of the addresses would have been modified to
match the SORTLIST specification.
- 11
- LookUp specifies the order in which the DNS and the local host
file are to be used for name resolution. There are four possible search
orders:
- LOOKUP DNS LOCAL (DNS search first)
- LOOKUP LOCAL DNS (local host file search first)
- LOOKUP DNS (only DNS search)
- LOOKUP LOCAL (only local host file search)
- 12
- Ping calls GetAddrinfo at the indicated local date and time. The
flow through the resolver API calls shows the parameters that are
being passed.
- ai_family = 0 means that AF_UNSPEC is specified
- ai_flags = x'00000062' means that AI_CANNONNAMEOK, AI_ALL, and
AI_ADDRCONFIG are specified
- ai_protocol = 0 and ai_socktype = 0 means that protocol and socktype
are not specified
For more information about input values of getaddrinfo, see z/OS Communications Server: IP Sockets Application
Programming Interface Guide and Reference.
- 13
- To honor the setting of ai_ADDRCONFIG, the Resolver must query
the stacks to determine whether IPv6 or IPv4 interfaces exist (the
results of the query are shown in message 14 ). A socket, separate from the one used to send DNS queries, is opened
for communicating with the stacks.
- a
- The socket that is used for communicating with the stacks is closed
before finishing Getaddrinfo processing.
- 14
- The resolver detected that the system can handle both IPv4 and
IPv6 addresses.
- 15
- Because the system can handle both IPv4 and IPv6, and ai_ALL is
specified, the resolver sends the IPv6 query (T_AAAA) for IPv6 to
DNS first. For an explanation of how resolver decides to send an
IPv6 or IPv4 query to DNS, see z/OS Communications Server: IPv6 Network and
Application Design Guide.
- 16
- The resolver prepares to send the IPv4 query (T_A). For an explanation
of how resolver decides to send an IPv6 or IPv4 query to DNS, see z/OS Communications Server: IPv6 Network and
Application Design Guide.
- 17
- Because no Service operand is passed as input to Getaddrinfo,
there is no service resolution to perform, so any sockaddr returned
has a port number=0.
- 18
- Before the resolver returns resolved addresses to the application,
the resolver sorts all addresses so that the most preferable is the
first in the address chain. For more information, see z/OS Communications Server: IPv6 Network and
Application Design Guide.
- 19
- The caller API value indicates which search order is used by the
resolver for any required local table usage. The following caller
API values indicate that the z/OS UNIX environment search order
is used:
- Language Environment® C Sockets
For more information about z/OS XL C/C++
runtime library functions, see z/OS XL C/C++ Runtime Library Reference.
- Unix System Services
For more information about z/OS UNIX System Services (z/OS UNIX) callable services, see z/OS UNIX System Services Programming: Assembler
Callable Services Reference.
- 20
- The Caller Mode value indicates the representation of any input
characters as being either in EBCDIC or ASCII.
- 21
- Because the resolver awareness of the EDNS0 capability of name
servers is maintained on a system-wide level, it is possible that
the resolver has a different awareness of the name server capability
during res_send processing than it had during res_init processing.
The current awareness level is displayed before any queries are sent
to the name servers.
In addition to the current EDNS0 capability
of the name servers, if the resolver is monitoring name server responsiveness,
the system-wide responsiveness statistics for each name server are
also displayed. These statistics are based on a sliding 5-minute interval
or a 30-second interval, so these numbers represent the volume of
requests that are sent to the name server in the past 5 minutes or
30 seconds. Two statistics are maintained and displayed: the total
number of requests that are sent to the name server by the resolver
and the number of those requests that received no response from the
name server. The resolver compares the percentage of failures for
each name server against the value of the UNRESPONSIVETHRESHOLD resolver
setup statement to determine whether a name server is to be considered
unresponsive.
If the resolver is not monitoring name server
responsiveness because UNRESPONSIVETHRESHOLD is set to 0, only the
current EDNS0 capability information is displayed in the trace.
- a
- If the AUTOQUIESCE operand is coded on the UNRESPONSIVETHRESHOLD
statement, the resolver stops sending DNS queries that are generated
by an application to unresponsive name servers. This message indicates
whether resolver sends DNS queries to a particular name server. In
these examples, all name servers are responding with a failure rate
less than the UNRESPONSIVETHRESHOLD value, so the resolver sends DNS
queries to all name servers, if necessary. If the name server was
unresponsive, the resolver would generate a different trace message
that indicates that the name server was to be skipped for DNS queries
that are generated by an application.
- b
- If the AUTOQUIESCE operand is not coded on the UNRESPONSIVETHRESHOLD
statement, the statistics that are displayed represent 5 minutes of
data, or the sum of five 1-minute statistical intervals. If the AUTOQUIESCE
operand is coded, the statistics represent 30 seconds of data, or
one 30-second interval of data. The number of intervals that are used
to calculate the statistics is displayed on this trace entry.
- 22
- Because the EDNS0 capability of the target name server is currently
unknown, the resolver does not send the OPT RR record on the request
to the name server. The DNS query that is built during res_mkquery
processing is manipulated to remove the additional record.
- a
- The receipt of the truncated UDP response causes resolver to reissue
the query, to the same DNS, but this time the OPT RR record is not
removed from the request data. This query is treated as an EDNS0 capability
probe, and the response we receive from the DNS will determine whether
future queries to the DNS include the OPT RR record or not. The transaction
ID for this EDNS0 probe is different from the first query, and the
new value is included in the trace information.
- b
- As displayed on message line 21, the name server is considered
to be up-level in terms of EDNS0 support, so the resolver sends the
OPT RR record that res_mkquery built on the DNS query.
- 23
- The receipt of a UDP package greater than 512 bytes, in response
to an EDNS0 probe, indicates that this name server is up-level. Future
communication with this name server will always include the OPT RR
record to allow the name server to send UDP responses of greater than
512 bytes without requiring more EDNS0 probe requests.
- 24
- Since the resolver included an OPT RR on the request to indicate
that the resolver supports EDNS0, the name server also includes an
OPT RR on the response. The DNS indicates it can accept up to 4096
bytes of data on a UDP message, but the resolver does not use this
information.
- 25
- The setting of Cache indicates that the system is currently performing
resolver caching and the application is permitted to use the caching
function. An individual application can be prevented from using the
resolver caching function by specifying NOCACHE in the TCPIP.DATA
data set.
- 26
- Because resolver caching is active and available for use by this
application, before the query is sent to the DNS, the resolver cache
is queried to see whether any information is currently available for
this resource.
- a
- The cache has no information about the resource. The resolver
must query the DNS to obtain the A record information.
- b
- The cache has no AAAA record information about the resource, although
it does have A record information (from the previous GetHostByName
call). The resolver must query the DNS to obtain the AAAA information.
- c
- The cache has A record information about the resource, which is
saved from the previous GetHostByName call for the same resource,
and the information is not expired, so the saved information is retrieved
from the cache. No communication to the name server is necessary this
time to obtain the A record information about the resource.
- 27
- A timestamp is displayed when the query is actually sent to the
DNS name server.
- a
- A corresponding timestamp is displayed when the response from
the DNS is successfully processed. If no response is received, the
timestamp represents when the resolver stopped waiting for the response.
The amount of time that elapses from the start of communication with
the name server is also displayed.
- 28
- Because resolver caching is active and available for use by this
application, the information about this resource is cached for later
reuse by this application or other applications on the system.
- 29
- The resolver returns at most 35 IP addresses for a resource,
even if, as in this case, there are more IP addresses that could be
returned (20 IPv6 addresses, and 29 IPv4 addresses). Priority is given
to IPv6 addresses, so in this case, all the possible IPv6 addresses
are returned, but only 15 of the possible IPv4 addresses.
- 30
- The time to live (TTL) value represents the amount of time that
the resolver cache can use the returned information about the resource.
The MAXTTL resolver setup statement can be used to define an upper
limit on the actual TTL value that is used for a resource by the resolver.
- 31
- The Type value indicates whether an IPv6 socket or an IPv4 socket
is being used. IPv4 sockets are used when the system does not support
IPv6 sockets or when only IPv4 addresses are specified for the name
servers to be searched.
- 32
- System name indicates the value of the system_name parameter and
where it was obtained. If VMCF is running, the value is the name that
VMCF used when it started. Otherwise, it is the value of the z/OS CVT (Communication Vector
Table) CVTSNAME field.
- 33
- At the completion of res_send processing, if UNRESPONSIVETHRESHOLD
is non-zero, resolver updates the system-wide responsiveness statistics,
and possibly the EDNS0 capability, for each name server that is contacted
as part of res_send processing. In this example, resolver sent one
request successfully to the first name server in the list, and as
part of res_send processing discovered that the name server supported
EDNS0. The EDNS0 probe that resolver sent, after the truncated response
is received from the name server, is not included in the count of
requests that are sent during res_send, since that probe is only used
for resolver purposes.
Because only the first name server in the
list was contacted, there were no updates to record for the second
and third name servers in the list.
- a
- Since resolver did not detect any changes in the EDNS0 capability
of this name server, only the updates to the system-wide responsiveness
statistics as part of res_send processing are displayed here.
- 34
- The value of the UNRESPONSIVETHRESHOLD resolver setup statement
at the time of the res_init processing is displayed. If the AUTOQUIESCE
operand is specified on the resolver setup statement, the value that
is displayed here would be in the form percentage,AUTOQUIESCE.
- 35
- The resolver address space initializes even if syntax errors are
detected in the resolver setup file. This statement indicates whether
errors are detected during resolver address space initialization and
are not yet corrected.
Notes: - If any errors occurred, see z/OS Communications Server: IP and SNA Codes.
- In a multitasking environment, if the LRECL of the trace resolver
output is at least 128 characters, the MVS TCB storage address appears at the end of each line. The MVS TCB storage address can be useful
in determining the origin of the resolver request.
|