From 6a08f8347c4f32e7cd17a398d75bd752d8bc52b4 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Wed, 22 Jul 2026 11:53:44 +0100 Subject: [PATCH 1/2] Data streaming IP addressing scheme docs --- .../datastreaming/Datastreaming-networking.md | 23 +++++++++++++++++++ .../datastreaming/Datastreaming-vetos.md | 2 +- .../Datastreaming_hardware_requirements.md | 2 +- .../Datastreaming_udp_packet_formats.md | 2 +- 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 doc/specific_iocs/datastreaming/Datastreaming-networking.md diff --git a/doc/specific_iocs/datastreaming/Datastreaming-networking.md b/doc/specific_iocs/datastreaming/Datastreaming-networking.md new file mode 100644 index 000000000..00a626f20 --- /dev/null +++ b/doc/specific_iocs/datastreaming/Datastreaming-networking.md @@ -0,0 +1,23 @@ +# Data streaming: networking + +The data streaming system requires several items to be on the same network: +- `kafka_dae_control` (speaks UDP to streaming control board) +- `event_udp_to_kafka` (recieves UDP from detector modules, converts and forwards them to Kafka) +- Streaming control board + - Control port which `kafka_dae_control` communicates with + - Status packet port which UDP headers come out of (which get processed by `event_udp_to_kafka`) +- Monitors +- Detectors + +The current standard for network addressing is: +- `192.168.1.1` is the address of the streaming server, which will currently host both `kafka_dae_control` and `event_udp_to_kafka` processes + - It is possible, in future, that these two processes may run on different servers and therefore with different IPs +- `192.168.1.250` to be the streaming control board's control port +- `192.168.1.251` to be the streaming control board's status-packet port +- `192.168.1.252` to be streaming monitors +- The rest of the range to be streaming detectors + +:::{note} +All of these IP addresses are on a private network which is **NOT** the same as the usual NDX/NDH private network. +This is a private network only used by the streaming server and streaming hardware. It therefore does not conflict with IP addresses on the NDX/NDH instrument private network. +::: diff --git a/doc/specific_iocs/datastreaming/Datastreaming-vetos.md b/doc/specific_iocs/datastreaming/Datastreaming-vetos.md index ab80f3ece..672fb0e48 100644 --- a/doc/specific_iocs/datastreaming/Datastreaming-vetos.md +++ b/doc/specific_iocs/datastreaming/Datastreaming-vetos.md @@ -1,4 +1,4 @@ -# Data streaming - Vetoes +# Data streaming: Vetoes Vetoes are essentially a way of telling either the detector acquisition hardware (with a `hard` veto) or downstream consumers of event data (`soft` veto) to ignore a set of events in a frame conditionally based on a signal (whether that's an internal state, electrical signal or a software-based condition). diff --git a/doc/specific_iocs/datastreaming/Datastreaming_hardware_requirements.md b/doc/specific_iocs/datastreaming/Datastreaming_hardware_requirements.md index 1b2bce682..5d4507051 100644 --- a/doc/specific_iocs/datastreaming/Datastreaming_hardware_requirements.md +++ b/doc/specific_iocs/datastreaming/Datastreaming_hardware_requirements.md @@ -1,4 +1,4 @@ -# Data streaming server hardware requirements +# Data streaming: server hardware requirements This page aims to set a standard for the hardware requirements for the HRPD-X, SANDALS-II, WISH and VESUVIO instrument upgrades. diff --git a/doc/specific_iocs/datastreaming/Datastreaming_udp_packet_formats.md b/doc/specific_iocs/datastreaming/Datastreaming_udp_packet_formats.md index 05774c9a0..386c28827 100644 --- a/doc/specific_iocs/datastreaming/Datastreaming_udp_packet_formats.md +++ b/doc/specific_iocs/datastreaming/Datastreaming_udp_packet_formats.md @@ -1,4 +1,4 @@ -# Datastreaming: UDP packet formats +# Data streaming: UDP packet formats This page describes the UDP packet format for instruments which stream UDP from detectors (e.g. HRPD-X). From 773bc91f7b1300d994748fa7432a3a482b8d7af4 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Wed, 22 Jul 2026 12:35:03 +0100 Subject: [PATCH 2/2] typo --- doc/specific_iocs/datastreaming/Datastreaming-networking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/specific_iocs/datastreaming/Datastreaming-networking.md b/doc/specific_iocs/datastreaming/Datastreaming-networking.md index 00a626f20..94c98eb17 100644 --- a/doc/specific_iocs/datastreaming/Datastreaming-networking.md +++ b/doc/specific_iocs/datastreaming/Datastreaming-networking.md @@ -2,7 +2,7 @@ The data streaming system requires several items to be on the same network: - `kafka_dae_control` (speaks UDP to streaming control board) -- `event_udp_to_kafka` (recieves UDP from detector modules, converts and forwards them to Kafka) +- `event_udp_to_kafka` (receives UDP from detector modules, converts and forwards them to Kafka) - Streaming control board - Control port which `kafka_dae_control` communicates with - Status packet port which UDP headers come out of (which get processed by `event_udp_to_kafka`)