If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.
Property:udpst
BoxMatrix >> Shell-Commands >> udpst | @ BoxMatrix - IRC-Chat - Translate: de es fr it nl pl |
News | Selectors | Models | Accessories | Components | Environment | Config | Commands | System | Webif | Software | Develop | Lexicon | Community | Project | Media |
Startup-Scr | Hotplug-Scr | BusyBox-Cmds | Bash-Cmds | AVM-Cmds | Chipset-Cmds | Linux-Cmds | Shared-Libs | Kernel-Mods | Research |
Linux-Command
Command: | udpst - type Exec | Wiki | Freetz | IPPF | whmf | AVM | Web |
Location: | Shell-Commands >> Linux-Commands - Origin: Linux | ||||||
Path: | Release: /usr/bin Lab+Rel: /usr/bin | ||||||
Properties: | Size: 73.4k - 103k - Firmware: 7.39 - 8.00 | ||||||
Function: | UDP speed test client / server application. |
Goto: Examples - Server - Client - GPL-Browser - Source - Dependencies - Model-Matrix - Symbols - SMW-Browser
Details
udpst is a versatile UDP speed test client / server application.
It is highly configurable but in minimalistic mode as easy to use as iperf, see the Examples.
udpst supports IPv4 and IPv6 and can even run tests over SSL / TLS.
The test results are very verbose and separate for OSI layer 1-3, with round trip time and packet loss statistics.
They can even be exported in different JSON formats. This is really an industry grade tool.
The project has the cryptic name obudpst
(Open Broadband-UDP Speed Test
) and has its Github Repo.
Quoting its description:
"OB-UDPST
is a client/server utility to do UDP-based IP capacity measurements
(see TR-471 for details)".
See also libavmudpst.so, udptest, udpspread.
7530 fw 7.39 help:
root@fake0:/var/mod/root# udpst -? UDP Speed Test Usage: udpst [option]... [server] Specify '-u' or '-d' to test as a client (a server parameter is then required), else run as a server and await client test requests. Options: (c) -u|-d Test Upstream OR Downstream as client -4 Use only IPv4 address family (AF_INET) -6 Use only IPv6 address family (AF_INET6) (s) -x Execute server as background (daemon) process (e) -e Disable suppression of socket (send/receive) errors -v Enable verbose output messaging -s Summary/Max output only (no sub-interval output) -f format JSON output (json, jsonb [brief], jsonf [formatted]) (j) -j Disable jumbo datagram sizes above 1 Gbps -T Use datagram sizes for traditional (1500 byte) MTU -D Enable debug output messaging (requires '-v') (m) -X Randomize datagram payload (else zeroes) -S Show server sending rate table and exit -B mbps Max bandwidth required by client OR available to server -r Display loss ratio instead of delivered percentage -i count Display bimodal maxima (specify initial sub-intervals) (c) -o Use One-Way Delay instead of RTT for delay variation (c) -R Ignore Out-of-Order/Duplicate datagrams -a key Authentication key (32 characters max) (m,v) -m value Packet marking octet (IP_TOS/IPV6_TCLASS) [Default 0] (m,i) -I [@]index Index of sending rate (see '-S') [Default @0 = <Auto>] (m) -t time Test interval time in seconds [Default 10, Max 3600] (c) -P period Sub-interval period in seconds [Default 1] -p port Port number used for control [Default 25000] (c) -A algo Rate adjustment algorithm (B - B) [Default B] -b buffer Socket buffer request size (SO_SNDBUF/SO_RCVBUF) (c) -L delvar Low delay variation threshold in ms [Default 30] (c) -U delvar Upper delay variation threshold in ms [Default 90] (c) -F interval Status feedback/trial interval in ms [Default 50] (c) -c thresh Congestion slow adjustment threshold [Default 3] (c) -h delta High-speed (row adjustment) delta [Default 10] (c) -q seqerr Sequence error threshold [Default 10] (c) -E intf Show local interface traffic rate (ex. eth0) (c) -M Use local interface rate to determine maximum (s) -l logfile Log file name when executing as daemon (s) -k logsize Log file maximum size in KBytes [Default 1000] Parameters: server Hostname/IP of server (or local interface IP if server) Notes: (c) = Used only by client. (s) = Used only by server. (e) = Suppressed due to expected errors with overloaded network interfaces. (j) = Datagram sizes that would result in jumbo frames if available. (m) = Used as a request by the client or a maximum by the server. Client requests that exceed server maximum are automatically coerced down. (v) = Values can be specified as decimal (0 - 255) or hex (0x00 - 0xff). (i) = Static OR starting (with '@' prefix) sending rate index.
Examples
7530 fw 7.39 examples:
Server
First of all we need the server. The minimalistic way is calling udpst without arguments to run the server in foreground:
root@fritz0:/var/mod/root# udpst UDP Speed Test Software Ver: 7.4.0, Protocol Ver: 8-9, Built: Sep 13 2022 15:01:45 Mode: Server, Payload Default[Max]: 1222[8972], Authentication: Available, SendMMsg(): Available ^C
This provides informative output but blocks the shell so we Ctrl-C it to run it in background:
root@fritz0:/var/mod/root# udpst -x root@fritz0:/var/mod/root# ps | grep udpst 2755 root 4004 R udpst -x 3543 root 1624 S grep udpst
The help shows no option to stop the background server but killing it seems to work gracefully:
root@fritz0:/var/mod/root# killall udpst root@fritz0:/var/mod/root# ps | grep udpst 3568 root 1624 S grep udpst
Client
The client can either perform a downstream or an upstream test. Bidirectional test is not supported.
Downstream test:
This minimalistic call performs a 10 seconds downstream test:
root@fritz0:/var/mod/root# udpst -d localhost UDP Speed Test Software Ver: 7.4.0, Protocol Ver: 9, Built: Sep 13 2022 15:01:45 Mode: Client, Payload Default[Max]: 1222[8972], Authentication: Available, SendMMsg(): Available Downstream Test Int(sec): 10, DelayVar Thresh(ms): 30-90 [RTT], Trial Int(ms): 50, Ignore OoO/Dup: Disabled, Payload: zeroes, SendRate Index: <Auto>, Cong. Thresh: 3, High-Speed Delta: 10, SeqError Thresh: 10, Algo: B, IPv4 ToS: 0 Sub-Interval[1](sec): 1, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/0, RTTVar(ms): 0-1, Mbps(L3/IP): 86.24 Sub-Interval[2](sec): 2, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-0, Mbps(L3/IP): 215.70 Sub-Interval[3](sec): 3, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 231.77 Sub-Interval[4](sec): 4, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 234.25 Sub-Interval[5](sec): 5, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 234.75 Sub-Interval[6](sec): 6, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 426.53 Sub-Interval[7](sec): 7, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 756.71 Sub-Interval[8](sec): 8, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/2, RTTVar(ms): 0-1, Mbps(L3/IP): 1030.33 Sub-Interval[9](sec): 9, Delivered(%): 99.89, Loss/OoO/Dup: 19/0/0, OWDVar(ms): 0/0/4, RTTVar(ms): 0-1, Mbps(L3/IP): 1160.89 Sub-Interval[10](sec): 10, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 1165.53 Downstream Summary Delivered(%): 99.99, Loss/OoO/Dup: 19/0/0, OWDVar(ms): 0/0/4, RTTVar(ms): 0-1, Mbps(L3/IP): 554.27 Downstream Minimum One-Way Delay(ms): 0 [w/clock difference], Round-Trip Time(ms): 0 Downstream Maximum Mbps(L3/IP): 1165.53, Mbps(L2/Eth): 1167.39, Mbps(L1/Eth): 1170.57, Mbps(L1/Eth+VLAN): 1171.10
Upstream test:
This minimalistic call performs a 10 seconds upstream test:
root@fritz0:/var/mod/root# udpst -u localhost UDP Speed Test Software Ver: 7.4.0, Protocol Ver: 9, Built: Sep 13 2022 15:01:45 Mode: Client, Payload Default[Max]: 1222[8972], Authentication: Available, SendMMsg(): Available Upstream Test Int(sec): 10, DelayVar Thresh(ms): 30-90 [RTT], Trial Int(ms): 50, Ignore OoO/Dup: Disabled, Payload: zeroes, SendRate Index: <Auto>, Cong. Thresh: 3, High-Speed Delta: 10, SeqError Thresh: 10, Algo: B, IPv4 ToS: 0 Sub-Interval[1](sec): 1, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/3, RTTVar(ms): 0-6, Mbps(L3/IP): 86.71 Sub-Interval[2](sec): 2, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-0, Mbps(L3/IP): 233.76 Sub-Interval[3](sec): 3, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-0, Mbps(L3/IP): 261.96 Sub-Interval[4](sec): 4, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 261.70 Sub-Interval[5](sec): 5, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/2, RTTVar(ms): 0-1, Mbps(L3/IP): 256.34 Sub-Interval[6](sec): 6, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 478.74 Sub-Interval[7](sec): 7, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 865.64 Sub-Interval[8](sec): 8, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 1148.98 Sub-Interval[9](sec): 9, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/1, RTTVar(ms): 0-1, Mbps(L3/IP): 1286.38 Sub-Interval[10](sec): 10, Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/2, RTTVar(ms): 0-1, Mbps(L3/IP): 1300.28 Upstream Summary Delivered(%): 100.00, Loss/OoO/Dup: 0/0/0, OWDVar(ms): 0/0/3, RTTVar(ms): 0-6, Mbps(L3/IP): 618.05 Upstream Minimum One-Way Delay(ms): 0 [w/clock difference], Round-Trip Time(ms): 0 Upstream Maximum Mbps(L3/IP): 1300.28, Mbps(L2/Eth): 1302.34, Mbps(L1/Eth): 1305.88, Mbps(L1/Eth+VLAN): 1306.47
GPL-Browser
Daily updated index of all udpst code findings on the GPL-Browser. Last update: 2024-12-20 05:01 GMT.
The Browse
column points to the Path
containing the respective source code on the gpl.boxmatrix.info service.
The SoC
column lists the Chip-Codenames, the Model
column lists the nicks of the Box-Models.
The Diff
column links the comparison of the AVM Kernel to the pristine original from Kernel.org.
The Download
column links the full tarball the respective directory content is extracted from.
The presence of the source does not mean it fits the respective model and architecture. See the Model-Matrix where it's used.
Browse | Path | SoC | Arch | Model | Firmw | Diff | Download |
---|---|---|---|---|---|---|---|
alder-5690pro-762 | packages/obudpst | Alder | ARM | 5690pro | 7.62 | 5.4.213 | Download |
bcm63-7530ax-756 | packages/obudpst | BCM63 | ARM | 7530ax | 7.56 | 4.19.183 | Download |
bcm63-7530ax-800 | packages/obudpst | BCM63 | ARM | 7530ax | 8.00 | 4.19.183 | Download |
dakota-7530ac-750 | packages/obudpst | Dakota | ARM | 7530ac | 7.50 | 4.4.271 | Download |
hawkeye-5590-750 | packages/obudpst | Hawkeye | ARM | 5590 | 7.50 | 4.4.271 | Download |
miami-7690-761 | packages/obudpst | Miami | ARM | 7690 | 7.61 | 5.4.213 | Download |
puma7-atom-6591-750 | packages/obudpst | Puma7 | ATOM | 6591 | 7.50 | 4.9.279 | Download |
puma7-atom-6670-761 | packages/obudpst | Puma7 | ATOM | 6670 | 7.61 | 5.15.111 | Download |
seale-7590ac-750 | packages/obudpst | Seale | MIPS | 7590ac | 7.50 | 4.9.218 | Download |
9 directories containing udpst source code |
Source
The names of source files compiled into an executable often help to understand function blocks (and show gaps in the docs).
fw 7.39 source files:
$ strings /usr/bin/udpst | grep -e '\.c$' -e '\.cpp$' <empty>
Dependencies
Daily updated index of all dependencies of this command. Last update: 2024-12-20 07:46 GMT.
A *
in the Mod
column marks info from Supportdata-Probes, which will always stay incomplete.
Relation | Typ | Object | Mod | Firmware | Info | Origin |
---|---|---|---|---|---|---|
Depends on | lib | ld.so | 7 | 7.39 - 8.00 | Dynamic linker / loader | Linux |
Depends on | lib | libc.so | 24 | 7.39 - 8.00 | Standard C library | Linux |
Depends on | lib | libcrypto.so | 24 | 7.39 - 8.00 | OpenSSL general crypto and X.509 library | Linux |
Depends on | lib | libm.so | 5 | 7.39 - 8.00 | C math library | Linux |
Depends on | lib | libssl.so | 24 | 7.39 - 8.00 | OpenSSL implementations of SSL and TLS | Linux |
5 dependencies for this command |
Model-Matrix
Daily updated index of the presence, path and size of this command for each model. Last update: 2024-12-20 05:44 GMT.
Showing all models using this command. Click any column header (click-wait-click) to sort the list by the respective data.
The (main/scrpn/boot/arm/prx/atom/rtl)
label in the Model
column shows which CPU is meant for Multi-Linux models.
Note that this list is merged from Firmware-Probes of all known AVM firmware for a model, including Recovery.exe and Labor-Files.
Model | Firmware | Path | Size |
---|---|---|---|
FRITZ!Box 4040 | 7.39 - 8.00 | /usr/bin | 73.4k - 73.5k |
FRITZ!Box 4050 | 7.58 - 7.90 | /usr/bin | 73.5k |
FRITZ!Box 4060 | 7.39 - 7.90 | /usr/bin | 73.4k - 73.5k |
FRITZ!Box 5590 Fiber (main) | 7.39 - 8.00 | /usr/bin | 73.4k - 73.5k |
FRITZ!Box 5690 Pro (main) | 7.62 | /usr/bin | 73.4k |
FRITZ!Box 6591 Cable (atom) | 7.39 - 8.00 | /usr/bin | 77.5k - 81.5k |
FRITZ!Box 6660 Cable (atom) | 7.39 - 8.00 | /usr/bin | 77.5k - 81.5k |
FRITZ!Box 6670 Cable (atom) | 7.61 - 7.90 | /usr/bin | 81.5k - 81.6k |
FRITZ!Box 6690 Cable (atom) | 7.39 - 7.90 | /usr/bin | 77.5k - 81.5k |
FRITZ!Box 6850 LTE | 7.39 - 7.90 | /usr/bin | 73.4k - 103k |
FRITZ!Box 6850 5G | 7.39 - 7.90 | /usr/bin | 73.4k - 73.5k |
FRITZ!Box 6890 LTE (main) | 7.39 - 7.57 | /usr/bin | 99.0k - 103k |
FRITZ!Box 6890 LTE v1 (main) | 7.39 - 7.57 | /usr/bin | 99.0k - 103k |
FRITZ!Box 6890 LTE v2 (main) | 7.39 - 7.57 | /usr/bin | 99.0k - 103k |
FRITZ!Box 7510 | 7.39 - 8.00 | /usr/bin | 73.4k - 73.5k |
FRITZ!Box 7520 | 7.39 - 8.00 | /usr/bin | 73.4k - 73.5k |
FRITZ!Box 7520 v2 (main) | 7.39 - 8.00 | /usr/bin | 73.4k - 73.5k |
FRITZ!Box 7530 | 7.39 - 8.00 | /usr/bin | 73.4k - 73.5k |
FRITZ!Box 7530 AX | 7.39 - 8.00 | /usr/bin | 77.5k - 81.6k |
FRITZ!Box 7583 (main) | 7.50 - 7.59 | /usr/bin | 103k |
FRITZ!Box 7583 VDSL (main) | 7.59 - 8.00 | /usr/bin | 103k |
FRITZ!Box 7590 (main) | 7.39 - 8.00 | /usr/bin | 99.0k - 103k |
FRITZ!Box 7590 AX (main) | 7.39 - 8.00 | /usr/bin | 99.0k - 103k |
FRITZ!Box 7690 | 7.61 - 7.90 | /usr/bin | 73.4k - 73.5k |
24 models use this command |
Symbols
Daily updated index of all symbols of this command. Last update: 2024-12-20 07:46 GMT.
Firmware | Symbol |
---|---|
7.39 - 8.00 | adjust_sending_rate |
7.39 - 8.00 | cJSON_AddItemToArray |
7.39 - 8.00 | cJSON_AddItemToObject |
7.39 - 8.00 | cJSON_AddNumberPToObject |
7.39 - 8.00 | cJSON_AddNumberToObject |
7.39 - 8.00 | cJSON_AddStringToObject |
7.39 - 8.00 | cJSON_Compare |
7.39 - 8.00 | cJSON_CreateArray |
7.39 - 8.00 | cJSON_CreateBool |
7.39 - 8.00 | cJSON_CreateFalse |
7.39 - 8.00 | cJSON_CreateNull |
7.39 - 8.00 | cJSON_CreateNumber |
7.39 - 8.00 | cJSON_CreateObject |
7.39 - 8.00 | cJSON_CreateRaw |
7.39 - 8.00 | cJSON_CreateString |
7.39 - 8.00 | cJSON_CreateTrue |
7.39 - 8.00 | cJSON_Delete |
7.39 - 8.00 | cJSON_DetachItemFromArray |
7.39 - 8.00 | cJSON_DetachItemFromObject |
7.39 - 8.00 | cJSON_DetachItemFromObjectCaseSensitive |
7.39 - 8.00 | cJSON_DetachItemViaPointer |
7.39 - 8.00 | cJSON_Duplicate |
7.39 - 8.00 | cJSON_GetObjectItem |
7.39 - 8.00 | cJSON_GetObjectItemCaseSensitive |
7.39 - 8.00 | cJSON_IsInvalid |
7.39 - 8.00 | cJSON_IsNumber |
7.39 - 8.00 | cJSON_IsString |
7.39 - 8.00 | cJSON_ParseWithLengthOpts |
7.39 - 8.00 | cJSON_ParseWithOpts |
7.39 - 8.00 | cJSON_PrintBuffered |
7.39 - 8.00 | cJSON_ReplaceItemViaPointer |
7.39 - 8.00 | cJSON_free |
7.39 - 8.00 | connected |
7.39 - 8.00 | create_timestamp |
7.39 - 8.00 | def_sending_rates |
7.39 - 8.00 | get_rate |
7.39 - 8.00 | init_conn |
7.39 - 8.00 | json_finish |
7.39 - 8.00 | main |
7.39 - 8.00 | new_conn |
7.39 - 8.00 | null_action |
7.39 - 8.00 | output_currate |
7.39 - 8.00 | output_maxrate |
7.39 - 8.00 | output_warning |
7.39 - 8.00 | param_error |
7.39 - 8.00 | proc_parameters |
7.39 - 8.00 | proc_subinterval |
7.39 - 8.00 | recv_proc |
7.39 - 8.00 | send1_loadpdu |
7.39 - 8.00 | send2_loadpdu |
7.39 - 8.00 | send_loadpdu |
7.39 - 8.00 | send_proc |
7.39 - 8.00 | send_setupreq |
7.39 - 8.00 | send_statuspdu |
7.39 - 8.00 | service_actreq |
7.39 - 8.00 | service_actresp |
7.39 - 8.00 | service_loadpdu |
7.39 - 8.00 | service_setupreq |
7.39 - 8.00 | service_setupresp |
7.39 - 8.00 | service_statuspdu |
7.39 - 8.00 | show_sending_rates |
7.39 - 8.00 | signal_alrm |
7.39 - 8.00 | signal_exit |
7.39 - 8.00 | sis_copy |
7.39 - 8.00 | sock_connect |
7.39 - 8.00 | sock_mgmt |
7.39 - 8.00 | socket_error |
7.39 - 8.00 | sr_copy |
7.39 - 8.00 | stop_test |
7.39 - 8.00 | timeout_testinit |
7.39 - 8.00 | upd_intf_stats |
71 symbols for this command |