3 target-fetch-policy: "0 0 0 0 0"
8 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
11 SCENARIO_BEGIN Test resolver prefetch where it fails to fetch
17 MATCH opcode qtype qname
23 . IN NS K.ROOT-SERVERS.NET.
25 K.ROOT-SERVERS.NET. IN A 193.0.14.129
29 MATCH opcode subdomain
30 ADJUST copy_id copy_query
35 com. IN NS a.gtld-servers.net.
37 a.gtld-servers.net. IN A 192.5.6.30
45 MATCH opcode qtype qname
51 com. IN NS a.gtld-servers.net.
53 a.gtld-servers.net. IN A 192.5.6.30
57 MATCH opcode subdomain
58 ADJUST copy_id copy_query
63 example.com. IN NS ns.example.com.
65 ns.example.com. IN A 1.2.3.4
73 MATCH opcode qtype qname
79 example.com. IN NS ns.example.com.
81 ns.example.com. IN A 1.2.3.4
85 MATCH opcode qtype qname
89 ns.example.com. IN AAAA
92 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 2 3 4 5
96 MATCH opcode qtype qname
102 ns.example.com. IN A 1.2.3.4
106 MATCH opcode qtype qname
110 www.example.com. IN A
112 www.example.com. 3600 IN A 10.20.30.40
114 example.com. 3600 IN NS ns.example.com.
116 ns.example.com. 3600 IN A 1.2.3.4
124 MATCH opcode qtype qname
130 example.com. IN NS ns.example.com.
132 ns.example.com. IN A 1.2.3.4
136 MATCH opcode qtype qname
142 ns.example.com. IN A 1.2.3.4
146 MATCH opcode qtype qname
150 ns.example.com. IN AAAA
153 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 2 3 4 5
157 MATCH opcode qtype qname
161 www.example.com. IN A
163 ;www.example.com. 3600 IN A 10.20.30.40
165 ;example.com. 3600 IN NS ns.example.com.
167 ;ns.example.com. 3600 IN A 1.2.3.4
171 ; note ns.example.com range for steps 100 - 160 is not entered
172 ; no queries should be sent there
178 MATCH opcode qtype qname
184 example.com. IN NS ns.example.com.
186 ns.example.com. IN A 1.2.3.4
190 MATCH opcode qtype qname
194 ns.example.com. IN AAAA
197 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 2 3 4 5
201 MATCH opcode qtype qname
207 ns.example.com. IN A 1.2.3.4
211 MATCH opcode qtype qname
215 www.example.com. IN A
217 www.example.com. 3600 IN A 10.20.30.40
219 example.com. 3600 IN NS ns.example.com.
221 ns.example.com. 3600 IN A 1.2.3.4
229 www.example.com. IN A
232 ; recursion happens here.
236 REPLY QR RD RA NOERROR
238 www.example.com. IN A
240 www.example.com. 3600 IN A 10.20.30.40
242 example.com. 3600 IN NS ns.example.com.
244 ns.example.com. 3600 IN A 1.2.3.4
247 ; after 1800 secs still the cached answer
248 STEP 20 TIME_PASSES ELAPSE 1800
254 www.example.com. IN A
256 ; recursion happens here.
260 REPLY QR RD RA NOERROR
262 www.example.com. IN A
264 www.example.com. 1800 IN A 10.20.30.40
266 example.com. 1800 IN NS ns.example.com.
268 ns.example.com. 1800 IN A 1.2.3.4
271 ; after 1440 we are 360 seconds before the expiry
272 ; (the authority changes behind the scenes to detect new lookup)
273 STEP 50 TIME_PASSES ELAPSE 1440
279 www.example.com. IN A
281 ; recursion happens here.
285 REPLY QR RD RA NOERROR
287 www.example.com. IN A
289 www.example.com. 360 IN A 10.20.30.40
291 example.com. 360 IN NS ns.example.com.
293 ns.example.com. 360 IN A 1.2.3.4
296 ; let traffic flow for prefetch to happen
298 ; above a cache reply with 10% of the original TTL
299 ; but the actual cache could have been updated, try to get that
304 www.example.com. IN A
306 ; recursion happens here.
307 STEP 130 CHECK_ANSWER
310 REPLY QR RD RA NOERROR
312 www.example.com. IN A
314 www.example.com. 360 IN A 10.20.30.40
316 example.com. 360 IN NS ns.example.com.
318 ; this is picked up from the parent (because this simulation has the
319 ; parent respond with servfail, not actually timeout)
320 ns.example.com. 3600 IN A 1.2.3.4
323 ; another query to see if there is another lookup towards the authority
324 ; the server should not send too many queries towards the authority
329 www.example.com. IN A
331 ; recursion happens here.
332 STEP 150 CHECK_ANSWER
335 REPLY QR RD RA NOERROR
337 www.example.com. IN A
339 www.example.com. 360 IN A 10.20.30.40
341 example.com. 360 IN NS ns.example.com.
343 ns.example.com. 3600 IN A 1.2.3.4
346 ; some time later another query, and now it is fine to bother the authority
347 ; with another lookup attempt.
348 STEP 160 TIME_PASSES ELAPSE 30
349 ; so we are now 330 seconds before expiry.
354 www.example.com. IN A
356 ; recursion happens here.
357 STEP 180 CHECK_ANSWER
360 REPLY QR RD RA NOERROR
362 www.example.com. IN A
364 www.example.com. 330 IN A 10.20.30.40
366 example.com. 330 IN NS ns.example.com.
368 ns.example.com. 3570 IN A 1.2.3.4
370 ; now the just-looked-up entry
375 www.example.com. IN A
377 ; recursion happens here.
378 STEP 200 CHECK_ANSWER
381 REPLY QR RD RA NOERROR
383 www.example.com. IN A
385 www.example.com. 3600 IN A 10.20.30.40
387 example.com. 3600 IN NS ns.example.com.
389 ns.example.com. 3570 IN A 1.2.3.4