Documentation
¶
Overview ¶
Package pathprobe contains methods to probe scion paths. This is helpful to detect path status.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FilterEmptyPaths ¶
FilterEmptyPaths removes all empty paths from paths and returns a copy.
Types ¶
type Prober ¶
type Prober struct {
// DstIA is the destination ISD-AS.
DstIA addr.IA
// LocalIA is the source ISD-AS.
LocalIA addr.IA
// LocalIP is the local IP endpoint to be used when probing. If not set, the proper will resolve
// an appropriate local IP endpoint depending on the path that should be probed. Note, LocalIP
// should not be set, unless you know what you are doing.
LocalIP net.IP
// Metrics injected into snet.DefaultConnector.
SCIONPacketConnMetrics snet.SCIONPacketConnMetrics
// Topology is the helper class to get control-plane information for the
// local AS.
Topology snet.Topology
}
Prober can be used to get the status of a path.
func (Prober) GetStatuses ¶
func (p Prober) GetStatuses(ctx context.Context, paths []snet.Path, opts ...Option, ) (map[string]Status, error)
GetStatuses probes the paths and returns the statuses of the paths. The returned map is keyed with path.Path.FwdPath. The input should only be non-empty paths.
type Status ¶
type Status struct {
Status StatusName
LocalIP netip.Addr
AdditionalInfo string
}
Status indicates the state a path is in.
type StatusName ¶
type StatusName string
StatusName defines the different states a path can be in.
const ( // StatusUnknown indicates that it is not clear what state the path is in. StatusUnknown StatusName = "Unknown" // StatusTimeout indicates that a reply did come back in time for the path. StatusTimeout StatusName = "Timeout" // StatusAlive indicates that the expected reply did come back in time. StatusAlive StatusName = "Alive" // StatusSCMP indicates that an unexpected SCMP packet came in the reply. StatusSCMP StatusName = "SCMP" )
Click to show internal directories.
Click to hide internal directories.