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.

0
U

Property:udpst

From BoxMatrix


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

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-11-17 05:19 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.

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-11-17 07:59 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-11-17 06:06 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 - 7.90 /usr/bin 73.4k - 73.5k
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-11-17 07:59 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

SMW-Browser

Information is currently being retrieved from the backend.
 

Synonyms

Showing 1 related property.

u