Open nicorusti opened 1 month ago
While researching traceroute, I wasn't able to figure out what it accomplishes: the path is already determined, link failures would be reported by scmp errors, and ping would be available to provide positive confirmation. So, what's left for traceroute to do? If traceroute is useless (not mentioning we don't really want to describe SCMP messages besides link failures), then so are the router alert flags and the associated behavior. Should we just mark them as reserved for future use and delete all mentions of traceroute (and deprecate that stuff from our code)?
From my naive perspective, it seems that router alert flags were a solution in search of a problem and that traceroute was invented as an example (contrived) of their use.
To be fair, the concept that a packet can contain a payload to be processed by the router itself seems potentially useful. Even if traceroute is a poor example. I can imagine remote administration protocols, for example. So, how about we simply state that these flags are there to enable messages destined to the router itself, but that such messages are a future extension. WDYT?
So, what's left for traceroute to do?
AFAIK, SCION traceroute is meant to allow the endpoint to be informed of ISD,ASes traversed, because the SCION path only contains a sequence of interface IDs (but not the ISD and AS numbers).
Should we just mark them as reserved for future use and delete all mentions of traceroute (and deprecate that stuff from our code)?
I think router alert flags are there in the deployed protocol, so we cannot remove them. We can leave them there and mention that they are reserved for options that must be processed at each router.
@oncilla did I get it right? Is there any other critical use of traceroute or router alert flags, that makes them necessary for the current deployment?
Traceroute is an essential SCMP message to discover path health in the current implementation. Both the IP-SCION Gateway and scion showpaths rely on it. We cannot simply remove it without an appropriate replacements.
FWIW, I think the readers are a bit confused as they seem to think the router alert flag and the interface IDs are somehow the same thing.
FWIW, I think the readers are a bit confused as they seem to think the router alert flag and the interface IDs are somehow the same thing.
Yes, this is the main point.
Traceroute is an essential SCMP message to discover path health in the current implementation. Both the IP-SCION Gateway and scion showpaths rely on it. We cannot simply remove it without an appropriate replacements.
Thanks for the clarification @oncilla. We are trying to limit the scope of the drafts as much as possible, for now we tried avoiding having to describe in full SIGs and SCMP (which might be another two drafts on their own). So we are trying to strike the right balance to add what is necessary for the data plane draft to be clear and self sufficient.
Ok, in this case, I propose to extend https://github.com/scionassociation/scion-dp_I-D/pull/49 in the following manner:
Still a bit of clarification needed for the two flags.
Current text is confusing
TODOs:
Reviewer feedback
Note: we use naming ConsIngress, ConsEgress because of https://github.com/scionproto/scion/issues/1479