1; Check if the prefetch option works properly for messages stored in ECS cache 2; for non-ECS clients. 3 4server: 5 trust-anchor-signaling: no 6 target-fetch-policy: "0 0 0 0 0" 7 send-client-subnet: 1.2.3.4 8 max-client-subnet-ipv4: 21 9 client-subnet-always-forward: yes 10 module-config: "subnetcache iterator" 11 verbosity: 3 12 access-control: 127.0.0.1 allow_snoop 13 qname-minimisation: no 14 minimal-responses: no 15 prefetch: yes 16 17stub-zone: 18 name: "." 19 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 20CONFIG_END 21 22SCENARIO_BEGIN Test prefetch option for ECS cache 23 24; K.ROOT-SERVERS.NET. 25RANGE_BEGIN 0 100 26 ADDRESS 193.0.14.129 27 ENTRY_BEGIN 28 MATCH opcode qtype qname ednsdata 29 ADJUST copy_id 30 REPLY QR NOERROR 31 SECTION QUESTION 32 . IN NS 33 SECTION ANSWER 34 . IN NS K.ROOT-SERVERS.NET. 35 SECTION ADDITIONAL 36 K.ROOT-SERVERS.NET. IN A 193.0.14.129 37 ENTRY_END 38 39 ENTRY_BEGIN 40 MATCH opcode qtype qname 41 ADJUST copy_id 42 REPLY QR NOERROR 43 SECTION QUESTION 44 www.example.com. IN A 45 SECTION AUTHORITY 46 com. IN NS a.gtld-servers.net. 47 SECTION ADDITIONAL 48 a.gtld-servers.net. IN A 192.5.6.30 49 ENTRY_END 50RANGE_END 51 52; a.gtld-servers.net. 53RANGE_BEGIN 0 100 54 ADDRESS 192.5.6.30 55 ENTRY_BEGIN 56 MATCH opcode qtype qname ednsdata 57 ADJUST copy_id 58 REPLY QR NOERROR 59 SECTION QUESTION 60 com. IN NS 61 SECTION ANSWER 62 com. IN NS a.gtld-servers.net. 63 SECTION ADDITIONAL 64 a.gtld-servers.net. IN A 192.5.6.30 65 ENTRY_END 66 67 ENTRY_BEGIN 68 MATCH opcode qtype qname 69 ADJUST copy_id 70 REPLY QR NOERROR 71 SECTION QUESTION 72 www.example.com. IN A 73 SECTION AUTHORITY 74 example.com. IN NS ns.example.com. 75 SECTION ADDITIONAL 76 ns.example.com. IN A 1.2.3.4 77 ENTRY_END 78RANGE_END 79 80; ns.example.com. 81RANGE_BEGIN 0 100 82 ADDRESS 1.2.3.4 83 ENTRY_BEGIN 84 MATCH opcode qtype qname 85 ADJUST copy_id 86 REPLY QR NOERROR 87 SECTION QUESTION 88 example.com. IN NS 89 SECTION ANSWER 90 example.com. IN NS ns.example.com. 91 SECTION ADDITIONAL 92 ns.example.com. IN A 1.2.3.4 93 ENTRY_END 94 95 ; response to query of interest 96 ENTRY_BEGIN 97 MATCH opcode qtype qname ednsdata 98 ADJUST copy_id copy_ednsdata_assume_clientsubnet 99 REPLY QR NOERROR 100 SECTION QUESTION 101 www.example.com. IN A 102 SECTION ANSWER 103 www.example.com. 10 IN A 10.20.30.40 104 SECTION AUTHORITY 105 example.com. IN NS ns.example.com. 106 SECTION ADDITIONAL 107 HEX_EDNSDATA_BEGIN 108 ; client is 127.0.0.1 109 00 08 ; OPC 110 00 07 ; option length 111 00 01 ; Family 112 15 00 ; source mask, scopemask 113 7f 00 00 ; address 114 HEX_EDNSDATA_END 115 ns.example.com. IN A 1.2.3.4 116 ENTRY_END 117RANGE_END 118 119STEP 1 QUERY 120ENTRY_BEGIN 121REPLY RD 122SECTION QUESTION 123www.example.com. IN A 124ENTRY_END 125 126; This answer will end up in the subnet cache 127STEP 2 CHECK_ANSWER 128ENTRY_BEGIN 129MATCH all 130REPLY QR RD RA NOERROR 131SECTION QUESTION 132www.example.com. IN A 133SECTION ANSWER 134www.example.com. IN A 10.20.30.40 135SECTION AUTHORITY 136example.com. IN NS ns.example.com. 137SECTION ADDITIONAL 138ns.example.com. IN A 1.2.3.4 139ENTRY_END 140 141; Try to trigger a prefetch 142STEP 3 TIME_PASSES ELAPSE 9 143 144STEP 4 QUERY 145ENTRY_BEGIN 146REPLY RD 147SECTION QUESTION 148www.example.com. IN A 149ENTRY_END 150 151; This record came from the cache and a prefetch is triggered 152STEP 5 CHECK_ANSWER 153ENTRY_BEGIN 154MATCH all ttl 155REPLY QR RD RA NOERROR 156SECTION QUESTION 157www.example.com. IN A 158SECTION ANSWER 159www.example.com. 1 IN A 10.20.30.40 160SECTION AUTHORITY 161example.com. 3591 IN NS ns.example.com. 162SECTION ADDITIONAL 163ns.example.com. 3591 IN A 1.2.3.4 164ENTRY_END 165 166; Allow for some time to pass to differentiate from a cached vs resolved answer 167STEP 6 TIME_PASSES ELAPSE 1 168 169STEP 7 QUERY 170ENTRY_BEGIN 171REPLY RD 172SECTION QUESTION 173www.example.com. IN A 174ENTRY_END 175 176; This prefetched record came from the ECS cache 177STEP 8 CHECK_ANSWER 178ENTRY_BEGIN 179MATCH all ttl 180REPLY QR RD RA NOERROR 181SECTION QUESTION 182www.example.com. IN A 183SECTION ANSWER 184www.example.com. 9 IN A 10.20.30.40 185SECTION AUTHORITY 186example.com. 3599 IN NS ns.example.com. 187SECTION ADDITIONAL 188ns.example.com. 3599 IN A 1.2.3.4 189ENTRY_END 190 191SCENARIO_END 192