Data Fields | |
| hashvalue_type | qinfo_hash |
| We need the hash for both cache lookup and insert. | |
| int | qinfo_hash_calculated |
| struct ecs_data | ecs_client_in |
| ecs_data for client communication | |
| struct ecs_data | ecs_client_out |
| struct ecs_data | ecs_server_in |
| ecss data for server communication | |
| struct ecs_data | ecs_server_out |
| int | subnet_downstream |
| int | subnet_sent |
| int | subnet_sent_no_subnet |
| If there was no subnet sent because the client used source prefix length 0 for omitting the information. | |
| int | track_max_scope |
| keep track of longest received scope, set after receiving CNAME for incoming QNAME. | |
| uint8_t | max_scope |
| longest received scope mask since track_max_scope is set. | |
| int | started_no_cache_store |
| has the subnet module been started with no_cache_store? | |
| int | started_no_cache_lookup |
| has the subnet module been started with no_cache_lookup? | |
| int | wait_subquery |
| Wait for subquery that has been started for nonsubnet lookup. | |
| int | wait_subquery_done |
| The subquery waited for is done. | |
| int | is_subquery_nonsubnet |
| The subnet state is a subquery state for nonsubnet lookup. | |
| int | is_subquery_scopezero |
| This is a subquery, and it is made due to a scope zero request. | |
| int subnet_qstate::subnet_sent_no_subnet |
If there was no subnet sent because the client used source prefix length 0 for omitting the information.
Then the answer is cached like subnet was a /0 scope. Like the subnet_sent flag, but when the EDNS subnet option is omitted because the client asked.
| uint8_t subnet_qstate::max_scope |
longest received scope mask since track_max_scope is set.
This value is used for caching and answereing to client.