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).
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
-pbecause the listening port is decided at runtime.Acceptable resolutions
--network host(Linux only).Document as the supported VXI-11 mode. Loses port-isolation
benefit but the protocol works as-is.
(already done in the
Vxi11Backendconstructor — seesrc/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 inivicli visa scandetecting the mock via VXI-11 portmapper broadcast (Batch W)
and
visa querysucceeding through it.