Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preserve results when NLM_F_DUMP_INTR is set #1018

Merged
merged 1 commit into from
Sep 22, 2024

Commits on Sep 19, 2024

  1. Add ErrDumpInterrupted

    Add a specific error to report that a netlink response had
    NLM_F_DUMP_INTR set, indicating that the set of results may be
    incomplete or inconsistent.
    
    unix.EINTR was previously returned (with no results) when the
    NLM_F_DUMP_INTR flag was set. Now, errors.Is(err, unix.EINTR) will
    still work. But, this will be a breaking change for any code that's
    checking for equality with unix.EINTR.
    
    Return results with ErrDumpInterrupted. Results may be incomplete
    or inconsistent, but give the caller the option of using them.
    
    Look for NLM_F_DUMP_INTR in more places:
    - linkSubscribeAt, neighSubscribeAt, routeSubscribeAt
      - can do an initial dump, which may report inconsistent results
      -> if there's an error callback, call it with ErrDumpInterrupted
    - socketDiagXDPExecutor
      - makes an NLM_F_DUMP request, without using Execute()
      -> give it the same behaviour as functions that do use Execute()
    
    Signed-off-by: Rob Murray <[email protected]>
    robmry committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    5da8257 View commit details
    Browse the repository at this point in the history