mirror of
https://github.com/opnsense/plugins.git
synced 2026-10-12 02:20:37 +00:00
* 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
24 lines
921 B
Plaintext
24 lines
921 B
Plaintext
iperf3 is a tool for measuring the achievable TCP, UDP, and SCTP
|
|
throughput along a path between two hosts. It allows the tuning of
|
|
various parameters such as socket buffer sizes and maximum attempted
|
|
throughput. It reports (among other things) bandwidth, delay jitter,
|
|
and datagram loss. iperf was originally developed by NLANR/DAST.
|
|
|
|
iperf3 is a new implementation developed from scratch at the Energy
|
|
Sciences Network (ESnet). Among its goals were a smaller, simpler
|
|
code base (compared to its predecessor, iperf2) and a library version
|
|
of the functionality that can be used in other programs. Note that
|
|
iperf3 does not interoperate with with iperf 2.x.
|
|
|
|
Plugin Changelog
|
|
================
|
|
|
|
2.0
|
|
|
|
* Added client mode (contributed by François Maymil)
|
|
* Reworked server mode
|
|
|
|
Note: The API has changed.
|
|
Note: Stored jobs and results persist across reboots, but running server and
|
|
client processes are not restarted.
|