3 target-fetch-policy: "0 0 0 0 0"
9 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
12 SCENARIO_BEGIN Test resolver prefetch where it fails to fetch
18 MATCH opcode qtype qname
24 . IN NS K.ROOT-SERVERS.NET.
26 K.ROOT-SERVERS.NET. IN A 193.0.14.129
30 MATCH opcode subdomain
31 ADJUST copy_id copy_query
36 com. IN NS a.gtld-servers.net.
38 a.gtld-servers.net. IN A 192.5.6.30
46 MATCH opcode qtype qname
52 com. IN NS a.gtld-servers.net.
54 a.gtld-servers.net. IN A 192.5.6.30
58 MATCH opcode subdomain
59 ADJUST copy_id copy_query
64 example.com. IN NS ns.example.com.
66 ns.example.com. IN A 1.2.3.4
74 MATCH opcode qtype qname
80 example.com. IN NS ns.example.com.
82 ns.example.com. IN A 1.2.3.4
86 MATCH opcode qtype qname
90 ns.example.com. IN AAAA
93 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 2 3 4 5
97 MATCH opcode qtype qname
103 ns.example.com. IN A 1.2.3.4
107 MATCH opcode qtype qname
111 www.example.com. IN A
113 www.example.com. 3600 IN A 10.20.30.40
115 example.com. 3600 IN NS ns.example.com.
117 ns.example.com. 3600 IN A 1.2.3.4
125 MATCH opcode qtype qname
131 example.com. IN NS ns.example.com.
133 ns.example.com. IN A 1.2.3.4
137 MATCH opcode qtype qname
143 ns.example.com. IN A 1.2.3.4
147 MATCH opcode qtype qname
151 ns.example.com. IN AAAA
154 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 2 3 4 5
158 MATCH opcode qtype qname
162 www.example.com. IN A
164 ;www.example.com. 3600 IN A 10.20.30.40
166 ;example.com. 3600 IN NS ns.example.com.
168 ;ns.example.com. 3600 IN A 1.2.3.4
172 ; note ns.example.com range for steps 100 - 160 is not entered
173 ; no queries should be sent there
179 MATCH opcode qtype qname
185 example.com. IN NS ns.example.com.
187 ns.example.com. IN A 1.2.3.4
191 MATCH opcode qtype qname
195 ns.example.com. IN AAAA
198 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 2 3 4 5
202 MATCH opcode qtype qname
208 ns.example.com. IN A 1.2.3.4
212 MATCH opcode qtype qname
216 www.example.com. IN A
218 www.example.com. 3600 IN A 10.20.30.40
220 example.com. 3600 IN NS ns.example.com.
222 ns.example.com. 3600 IN A 1.2.3.4
230 www.example.com. IN A
233 ; recursion happens here.
237 REPLY QR RD RA NOERROR
239 www.example.com. IN A
241 www.example.com. 3600 IN A 10.20.30.40
243 example.com. 3600 IN NS ns.example.com.
245 ns.example.com. 3600 IN A 1.2.3.4
248 ; after 1800 secs still the cached answer
249 STEP 20 TIME_PASSES ELAPSE 1800
255 www.example.com. IN A
257 ; recursion happens here.
261 REPLY QR RD RA NOERROR
263 www.example.com. IN A
265 www.example.com. 1800 IN A 10.20.30.40
267 example.com. 1800 IN NS ns.example.com.
269 ns.example.com. 1800 IN A 1.2.3.4
272 ; after 1440 we are 360 seconds before the expiry
273 ; (the authority changes behind the scenes to detect new lookup)
274 STEP 50 TIME_PASSES ELAPSE 1440
280 www.example.com. IN A
282 ; recursion happens here.
286 REPLY QR RD RA NOERROR
288 www.example.com. IN A
290 www.example.com. 360 IN A 10.20.30.40
292 example.com. 360 IN NS ns.example.com.
294 ns.example.com. 360 IN A 1.2.3.4
297 ; let traffic flow for prefetch to happen
299 ; above a cache reply with 10% of the original TTL
300 ; but the actual cache could have been updated, try to get that
305 www.example.com. IN A
307 ; recursion happens here.
308 STEP 130 CHECK_ANSWER
311 REPLY QR RD RA NOERROR
313 www.example.com. IN A
315 www.example.com. 360 IN A 10.20.30.40
317 example.com. 360 IN NS ns.example.com.
319 ; this is picked up from the parent (because this simulation has the
320 ; parent respond with servfail, not actually timeout)
321 ns.example.com. 3600 IN A 1.2.3.4
324 ; another query to see if there is another lookup towards the authority
325 ; the server should not send too many queries towards the authority
330 www.example.com. IN A
332 ; recursion happens here.
333 STEP 150 CHECK_ANSWER
336 REPLY QR RD RA NOERROR
338 www.example.com. IN A
340 www.example.com. 360 IN A 10.20.30.40
342 example.com. 360 IN NS ns.example.com.
344 ns.example.com. 3600 IN A 1.2.3.4
347 ; some time later another query, and now it is fine to bother the authority
348 ; with another lookup attempt.
349 STEP 160 TIME_PASSES ELAPSE 30
350 ; so we are now 330 seconds before expiry.
355 www.example.com. IN A
357 ; recursion happens here.
358 STEP 180 CHECK_ANSWER
361 REPLY QR RD RA NOERROR
363 www.example.com. IN A
365 www.example.com. 330 IN A 10.20.30.40
367 example.com. 330 IN NS ns.example.com.
369 ns.example.com. 3570 IN A 1.2.3.4
371 ; now the just-looked-up entry
376 www.example.com. IN A
378 ; recursion happens here.
379 STEP 200 CHECK_ANSWER
382 REPLY QR RD RA NOERROR
384 www.example.com. IN A
386 www.example.com. 3600 IN A 10.20.30.40
388 example.com. 3600 IN NS ns.example.com.
390 ns.example.com. 3570 IN A 1.2.3.4