1 ; config options 2 server: 3 target-fetch-policy: "0 0 0 0 0" 4 qname-minimisation: "no" 5 module-config: "dns64 iterator" 6 dns64-prefix: 64:ff9b::0/96 7 minimal-responses: no 8 iter-scrub-promiscuous: no 9 prefetch: yes 10 11 stub-zone: 12 name: "." 13 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 14 CONFIG_END 15 16 SCENARIO_BEGIN Test dns64 with prefetch and cache store. 17 18 ; K.ROOT-SERVERS.NET. 19 RANGE_BEGIN 0 200 20 ADDRESS 193.0.14.129 21 ENTRY_BEGIN 22 MATCH opcode qtype qname 23 ADJUST copy_id 24 REPLY QR NOERROR 25 SECTION QUESTION 26 . IN NS 27 SECTION ANSWER 28 . IN NS K.ROOT-SERVERS.NET. 29 SECTION ADDITIONAL 30 K.ROOT-SERVERS.NET. IN A 193.0.14.129 31 ENTRY_END 32 33 ENTRY_BEGIN 34 MATCH opcode subdomain 35 ADJUST copy_id copy_query 36 REPLY QR NOERROR 37 SECTION QUESTION 38 com. IN NS 39 SECTION AUTHORITY 40 com. IN NS a.gtld-servers.net. 41 SECTION ADDITIONAL 42 a.gtld-servers.net. IN A 192.5.6.30 43 ENTRY_END 44 RANGE_END 45 46 ; a.gtld-servers.net. 47 RANGE_BEGIN 0 200 48 ADDRESS 192.5.6.30 49 ENTRY_BEGIN 50 MATCH opcode qtype qname 51 ADJUST copy_id 52 REPLY QR NOERROR 53 SECTION QUESTION 54 com. IN NS 55 SECTION ANSWER 56 com. IN NS a.gtld-servers.net. 57 SECTION ADDITIONAL 58 a.gtld-servers.net. IN A 192.5.6.30 59 ENTRY_END 60 61 ENTRY_BEGIN 62 MATCH opcode subdomain 63 ADJUST copy_id copy_query 64 REPLY QR NOERROR 65 SECTION QUESTION 66 example.com. IN NS 67 SECTION AUTHORITY 68 example.com. IN NS ns.example.com. 69 SECTION ADDITIONAL 70 ns.example.com. IN A 1.2.3.4 71 ENTRY_END 72 RANGE_END 73 74 ; ns.example.com. 75 RANGE_BEGIN 0 100 76 ADDRESS 1.2.3.4 77 ENTRY_BEGIN 78 MATCH opcode qtype qname 79 ADJUST copy_id 80 REPLY QR AA NOERROR 81 SECTION QUESTION 82 example.com. IN NS 83 SECTION ANSWER 84 example.com. IN NS ns.example.com. 85 SECTION ADDITIONAL 86 ns.example.com. IN A 1.2.3.4 87 ENTRY_END 88 89 ENTRY_BEGIN 90 MATCH opcode qtype qname 91 ADJUST copy_id 92 REPLY QR AA NOERROR 93 SECTION QUESTION 94 www.example.com. IN A 95 SECTION ANSWER 96 www.example.com. IN A 10.20.30.40 97 SECTION AUTHORITY 98 example.com. IN NS ns.example.com. 99 SECTION ADDITIONAL 100 ns.example.com. IN A 1.2.3.4 101 ENTRY_END 102 RANGE_END 103 104 STEP 1 QUERY 105 ENTRY_BEGIN 106 REPLY RD 107 SECTION QUESTION 108 www.example.com. IN A 109 ENTRY_END 110 111 ; recursion happens here. 112 STEP 10 CHECK_ANSWER 113 ENTRY_BEGIN 114 MATCH all ttl 115 REPLY QR RD RA NOERROR 116 SECTION QUESTION 117 www.example.com. IN A 118 SECTION ANSWER 119 www.example.com. 3600 IN A 10.20.30.40 120 SECTION AUTHORITY 121 example.com. 3600 IN NS ns.example.com. 122 SECTION ADDITIONAL 123 ns.example.com. 3600 IN A 1.2.3.4 124 ENTRY_END 125 126 STEP 20 TIME_PASSES ELAPSE 3500 127 128 STEP 30 QUERY 129 ENTRY_BEGIN 130 REPLY RD 131 SECTION QUESTION 132 www.example.com. IN A 133 ENTRY_END 134 135 ; the prefetch is started, the older cache reply is returned. 136 STEP 40 CHECK_ANSWER 137 ENTRY_BEGIN 138 MATCH all ttl 139 REPLY QR RD RA NOERROR 140 SECTION QUESTION 141 www.example.com. IN A 142 SECTION ANSWER 143 www.example.com. 100 IN A 10.20.30.40 144 SECTION AUTHORITY 145 example.com. 100 IN NS ns.example.com. 146 SECTION ADDITIONAL 147 ns.example.com. 100 IN A 1.2.3.4 148 ENTRY_END 149 150 ; check what is in the cache 151 STEP 42 QUERY 152 ENTRY_BEGIN 153 REPLY RD 154 SECTION QUESTION 155 www.example.com. IN A 156 ENTRY_END 157 158 STEP 43 CHECK_ANSWER 159 ENTRY_BEGIN 160 MATCH all ttl 161 REPLY QR RD RA NOERROR 162 SECTION QUESTION 163 www.example.com. IN A 164 SECTION ANSWER 165 www.example.com. 3600 IN A 10.20.30.40 166 SECTION AUTHORITY 167 example.com. 3600 IN NS ns.example.com. 168 SECTION ADDITIONAL 169 ns.example.com. 3600 IN A 1.2.3.4 170 ENTRY_END 171 172 STEP 50 TIME_PASSES ELAPSE 300 173 174 ; now the upstream is offline, the prefetched answer should be in the cache. 175 STEP 110 QUERY 176 ENTRY_BEGIN 177 REPLY RD 178 SECTION QUESTION 179 www.example.com. IN A 180 ENTRY_END 181 182 STEP 120 CHECK_ANSWER 183 ENTRY_BEGIN 184 MATCH all ttl 185 REPLY QR RD RA NOERROR 186 SECTION QUESTION 187 www.example.com. IN A 188 SECTION ANSWER 189 www.example.com. 3300 IN A 10.20.30.40 190 SECTION AUTHORITY 191 example.com. 3300 IN NS ns.example.com. 192 SECTION ADDITIONAL 193 ns.example.com. 3300 IN A 1.2.3.4 194 ENTRY_END 195 196 SCENARIO_END 197