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

Add path test functionality for showpaths tool #2039

Closed
scrye opened this issue Oct 25, 2018 · 2 comments
Closed

Add path test functionality for showpaths tool #2039

scrye opened this issue Oct 25, 2018 · 2 comments
Assignees

Comments

@scrye
Copy link
Contributor

scrye commented Oct 25, 2018

It would be useful if showpaths were able to check the health of printed paths, for users to be able to differentiate between healthy, revoked, unknown, etc. This mode of operation could be enabled by specifying a flag, e.g., -p.

@scrye scrye assigned sustrik and unassigned sgmonroy Nov 2, 2018
@sustrik
Copy link
Contributor

sustrik commented Nov 7, 2018

The original idea was to use SVC_BR (see #1801) to check the health of the path. However, I think it muddles the layering of the stack.

SVC_BR implies that the packet reaches BR application but it in fact does not. It only reaches the dispatcher which in turn generates the reply.

The alternative would be to use SVC_NONE instead, with the semantics "don't even try to dispatch to a specific service and reply straight away".

That of course, would require dispatcher to live on all nodes in the network, including the BRs. But that may be a reasonable requirement in the first place: If the dispatcher is, in fact, an ersatz kernel, then running without a dispatcher is like running without a kernel.

@sustrik
Copy link
Contributor

sustrik commented Nov 7, 2018

After more discussion with Sergio and Sam, let's do it in the following way: Showpath will send a packet with SVC_NONE. The border router at the destination AS will fail to forward the packet and will send an SCMP error back to showpath. Showpath will use the error as a confirmation that the path is alive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants