From: Štěpán Balážik Date: Thu, 3 Sep 2020 14:36:56 +0000 (+0200) Subject: WIP: timeout tweaks X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df41e8b3ab9fa42947bc2e93023d8df0cb5aab6c;p=thirdparty%2Fknot-resolver.git WIP: timeout tweaks Set retries to 10 and static forwarding timeout to 2000 ms. --- diff --git a/lib/defines.h b/lib/defines.h index 4e7c9291b..683f14418 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -50,7 +50,7 @@ static inline int KR_COLD kr_error(int x) { #define KR_ITER_LIMIT 100 /* Built-in iterator limit */ #define KR_RESOLVE_TIME_LIMIT 10000 /* Upper limit for resolution time of single query, ms */ #define KR_CNAME_CHAIN_LIMIT 13 /* Built-in maximum CNAME chain length */ -#define KR_TIMEOUT_LIMIT 4 /* Maximum number of retries after timeout. */ +#define KR_TIMEOUT_LIMIT 10 /* Maximum number of retries after timeout. */ #define KR_QUERY_NSRETRY_LIMIT 4 /* Maximum number of retries per query. */ #define KR_COUNT_NO_NSADDR_LIMIT 5 #define KR_CONSUME_FAIL_ROW_LIMIT 3 /* Maximum number of KR_STATE_FAIL in a row. */ diff --git a/lib/selection_forward.c b/lib/selection_forward.c index f491707a8..27bb1a490 100644 --- a/lib/selection_forward.c +++ b/lib/selection_forward.c @@ -75,6 +75,10 @@ void forward_choose_transport(struct kr_query *qry, struct kr_transport **transp } *transport = choose_transport(choices, valid, NULL, 0, qry->server_selection.timeouts, &qry->request->pool, qry->flags.TCP, &local_state->last_choice_index); + if (*transport) { + // Set static timeout for forwarding + (*transport)->timeout = 2000; + } } void forward_success(struct kr_query *qry, const struct kr_transport *transport) {