Skip to content

Mock-VISA container: support VXI-11 gateway alongside HiSLIP/SOCKET #14

Description

@ShortArrow

Context

The v0.1.0 mock-VISA container (ghcr.io/shortarrow/ivi-cli-mock)
exposes the HiSLIP (4880) and raw SOCKET (5025) gateways, but
not the VXI-11 gateway. Documented in
CHANGELOG.md → Known limitations and
ADR 0018 §Out-of-scope.

Why deferred

VXI-11 is ONC RPC: clients hit portmapper at UDP/111 (or TCP/111)
to discover the dynamically-allocated Device Core port for each
session. Inside Docker, that dynamic port cannot be reliably
mapped via -p because the listening port is decided at runtime.

Acceptable resolutions

  • (a) Run the container with --network host (Linux only).
    Document as the supported VXI-11 mode. Loses port-isolation
    benefit but the protocol works as-is.
  • (b) Pin the gateway's Device Core port to a known value
    (already done in the Vxi11Backend constructor — see
    src/IviCli.Backends.Vxi11/Vxi11Backend.cs:36 DefaultVxi11Port),
    expose both portmapper:111 and the pinned port via -p,
    and respond on portmapper with that fixed port. May require a
    custom portmapper implementation in the gateway.

Acceptance

  • docker run ... -p 1024:1024 ... (option b) or
    --network host (option a) results in ivicli visa scan
    detecting the mock via VXI-11 portmapper broadcast (Batch W)
    and visa query succeeding through it.
  • Choice documented in ADR 0018 (update in place).

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:containerMock-VISA Docker container + imagearea:serverGateway servers (HiSLIP / VXI-11 / SOCKET)enhancementNew feature or requestpriority:mediumImproves UX/security but not blocking

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions