Skip to content
Snippets Groups Projects

Additional processing for REFUSED & SERVFAIL rcodes

Merged Grigorii Demidov requested to merge ref_serv into master

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Marek Vavrusa Status changed to closed

    Status changed to closed

  • Marek Vavrusa Status changed to reopened

    Status changed to reopened

  • How about just changing this code: https://gitlab.labs.nic.cz/knot/resolver/blob/master/lib/resolve.c#L479-481 The iterator should still return FAIL state, but this code should evaluate how many attempts have we made and allow up to 2-3 retries with the same server before invalidating it for the resolution? I'm generally unhappy with introducing new logic into scoring code, it's quite simple now and I'm afraid special cases for this and that it will bring more side effects.

  • Author Contributor

    I can't evaluate how many times particular address has failed without involving any additional logic. IMHO, it requires at least map_t (failed src addr -> counter) at kr_query. It implies map_set() \ map_get(). If exist more cheaper way, explain it, please.

    Your variant - retry counter is placed directly at kr_query.kr_nsrep, right? When current ns server returns SERVFAIL & REFUSED, only action - increase fail counter and do not penalize it at rtt cache? When server fails 2-3 times, we must invalidate it? Looks like the fastest way. But ns election process shouldn't be run since it clears kr_query.kr_nsrep. Otherwise additional logic must be involved again... If this is not an issue, i do it, no problem.

    Edited by Grigorii Demidov
  • Grigorii Demidov Added 1 commit:

    Added 1 commit:

    • 96b4486b - lib/resolve,layer/iterate: processing for REFUSED & SERVFAIL rcodes
  • Author Contributor

    Done.

  • Grigorii Demidov Added 1 commit:

    Added 1 commit:

    • 4f463d76 - tests/tests.mk: fails if deckard/contrib/libswrap/obj directory already exists
  • Marek Vavrusa Added 4 commits:

    Added 4 commits:

    • 634159dd - tests/deckard: sync to master
    • cf8e5717 - tests/tests.mk: fails if deckard/contrib/libswrap/obj directory already exists
    • bc9ef681 - lib/resolve,layer/iterate: processing for REFUSED & SERVFAIL rcodes
    • 7b679ecf - lib: cleanup servfail soft-fails
  • Marek Vavrusa mentioned in commit 8c15fb81

    mentioned in commit 8c15fb81

  • Marek Vavrusa Status changed to merged

    Status changed to merged

  • Please register or sign in to reply
    Loading