Revision history for udpbench udp network benchmarking tool.

1.13 2026-01-03
  * Fix multicast TTL option parsing.
  * Allow to test read(2) and write(2) system call.
  * On Linux the -G option enables Generic Receive Offload (GRO).
  * Several man page corrections.

1.12 2025-01-09
  * Implement sending and receiving IPv4 and IPv6 UDP multicast
    packets.

1.11 2024-08-11
  * Command line option -C allows to specify a OpenBSD network
    pseudo device that is used.  The header and packet length
    calculation is adopted to print correct statistic values.
  * Rework starting remote udpbench via ssh.  Pass pseudo device
    option also to the other side.
  * Print bit per second in statistics with %e to get consistent
    output and proper alignment.

1.10 2024-03-29
  * Use pkgconf to build on GNU/Linux.

1.09 2024-01-27
  * Improve printing status line and explain it in man page.
  * Measure final packet after receive timeout.
  * Send and receive empty packet before initial delay.

1.08 2023-07-07
  * Repeat count is limited to 256.
  * Adjust timeout documentation.

1.07 2023-06-13
  * All options are allowed on command line for both sides.
    This is needed as ssh udpbench sets all options now.
  * Implement -d idle to set idle timeout via command line.
    Global receive timeout is adjusted by delay and idle.
  * Implement -d delay to sleep before sending.
  * Implement -N repeat to fork multiple udpbench processes.
  * Revert idle timeout calculation.  Check idle time every tenth
    of a second to make it more reliable.
  * Call remote ssh udpbench with full set ot options.
  * Option -m mmsglen value 0 explicitly turns multiple messages
    off.

1.06 2023-06-05
  * Create gpg signature .asc for released .tar.gz files.
  * Lot of code cleanup and refactoring.
  * Print warning if received packet is truncated or oversized.
  * Recv timeout is increaed by 4 on the local side.
  * Idle timeout is implemented as 1 second recv timeout.
  * Print start and end time in status line.
  * Print frames containng IP fragments in status lines.
  * Timeout -t 0 disables timeout and runs forever.

1.05 2022-10-04
  * With option -m udpbench uses system calls sendmmsg(2) and
    recvmmsg(2) instead of send(2) and recv(2).
  * Add tests and documentation for mmsg feature.
  * Improve recv idle time logic and document it in diagnostics.
  * Document recv interrupted system call in diagnostics.

1.04 2022-08-16
  * Send hop-by-hop router alert IPv6 extension header with -H.
  * Divert mode is only allowed for receiving.
    Warning: Option -D for non remote send generates error.
  * Sending packets does not abort with EINTR anymore.

1.03 2022-08-10
  * Portable GNU makefile for Debian and Ubuntu.
  * Fix calculation of frame length for full size IP packet.
  * Delay sender with -B bitrate or -P packetrate.
    Warning: -d delaypacket has been renamed.
  * Print length of IP packets and Ether frames in status line.
    Warning: Format of status line has changed.

1.02 2022-08-01
  * Option -D receives udp packets from divert raw socket.
  * Add minimal test on localhost.
  * Set progname to show if error is from send or recv process.
  * Start ssh with -nT to avoid stopped background process.

1.01 2022-07-29
  * Write man page udpbench(1).

1.00 2022-07-28
  * Initial public release.
