Skip to content

Geolocation: Add Outbound-ICMP target type #3404

@ben-dz

Description

@ben-dz

Add a new OutboundIcmp target type that instructs geoprobes to measure RTT to targets via ICMP echo (ping) instead of TWAMP. This is useful for targets that don't run a TWAMP reflector — e.g., public infrastructure, cloud endpoints, or third-party servers.

This only affects the geoprobe→target measurement leg. DZDs always use TWAMP to measure geoprobes — that is unchanged.

Sub-issues

PR Issue Scope
1 #3406 Onchain program, Rust SDK, Rust CLI, Go SDK — add OutboundIcmp = 2 target type
2 #3407 Geoprobe-agent — ICMP pinger implementation and target discovery routing

PR 2 depends on PR 1.

Design Notes

  • OutboundIcmp targets use the same ip_address field as Outbound targets. location_offset_port is 0 (unused) since there's no TWAMP reflector or offset listener on the target.
  • The geoprobe-agent needs a new ICMP pinger component parallel to the existing TWAMP Pinger. RTT results feed into the measurement pipeline.
  • Open question: how are ICMP RTT measurements consumed? Outbound targets receive composite offsets via UDP, but OutboundIcmp targets don't run any DoubleZero software. The RTT data is still useful for geolocation triangulation, but the delivery mechanism is different — likely onchain submission or metrics-only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions