Files
Monviech 53533c8732 benchmarks/iperf: modernize server mode (#5773)
* benchmarks/iperf: modernize server mode

Replace the legacy Ruby manager and its persistent socket service with a short-lived Python helper invoked through configd. Store transient jobs and JSON results in /tmp, reject duplicate ports, and support removal of running instances.

Move the server UI to an in-memory Instance model and client-style Bootgrid view under /ui/iperf/index/instance. Drop firewall manipulation, service registration, and Ruby dependencies.

* Update benchmarks/iperf/src/opnsense/mvc/app/controllers/OPNsense/iperf/Api/InstanceController.php

* server should start persistently, not one shot, and always show the last test result. That is more user friendly

* use json-stream so we can distinguish between a running and waiting iperf server

* change status icons slightly

* Add start/stop commands to client and server

* use a filter on the commands

* For client lets also use the error as stop status

* Lets keep client and server config and log inside /var/db/iperf

* Report bytes per second in the API and format with byteFormatter in the front end

* simplify error handling a bit, they cannot be translated anyway so at least make them machine readable

* Delegate client job creation completely to configd to avoid issues with permissions later

* Lets pass these parameters as json object so its generalized

* Add changelog and copyright headers

* copilot review

* normalize the API between client and server, and some other smaller fixes

* Expose the json results for the GUI and API, and make sure theyre all passed through .text() so no XSS

* the response is already escaped by Response
2026-10-09 13:54:22 +02:00

8 lines
176 B
Makefile

PLUGIN_NAME= iperf
PLUGIN_VERSION= 2.0
PLUGIN_COMMENT= Connection speed tester
PLUGIN_DEPENDS= iperf3
PLUGIN_MAINTAINER= [email protected]
.include "../../Mk/plugins.mk"