]>
git.ipfire.org Git - fireperf.git/log
Adolf Belka [Wed, 14 May 2025 17:00:17 +0000 (17:00 +0000)]
configure: Explicitely configure Gettext
From version 0.25, Gettext will complain about not calling autopoint to
set up all required macros required by autoconf later on.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 28 Sep 2024 16:20:50 +0000 (16:20 +0000)]
main: Output everything in Bit/s
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 28 Sep 2024 16:11:34 +0000 (16:11 +0000)]
tui: Show lines for the average data rates
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 28 Sep 2024 16:11:01 +0000 (16:11 +0000)]
stats: Return NULL if stats don't have any meaninhful data, yet
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 28 Sep 2024 15:08:39 +0000 (15:08 +0000)]
main: Don't try to free any state if it was never set up
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 28 Sep 2024 14:50:41 +0000 (14:50 +0000)]
workers: Prototype implementation with IO uring
This should help us to reduce the number of syscalls that we have to
perform which are the bottleneck whenever we benchmark anything.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 28 Sep 2024 11:52:03 +0000 (11:52 +0000)]
tui: Add a log window to show log messages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 28 Sep 2024 11:19:20 +0000 (11:19 +0000)]
logging: Implement with a callback so we can change it later
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 24 Sep 2024 15:16:51 +0000 (15:16 +0000)]
configure: Depend on liburing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 24 Sep 2024 15:07:37 +0000 (15:07 +0000)]
configure: Enable lots of compiler features
Mainly this turns on as many warnings as possible.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 24 Sep 2024 15:01:20 +0000 (15:01 +0000)]
configure: Update to autoconf 2.71
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 24 Sep 2024 14:42:30 +0000 (14:42 +0000)]
util: Statically allocate size buffer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 24 Sep 2024 14:42:16 +0000 (14:42 +0000)]
stats: Drop the unused stats dump function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 24 Sep 2024 14:31:31 +0000 (14:31 +0000)]
tui: Show more information in the status bar
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 14:59:57 +0000 (14:59 +0000)]
tui: Erase the graph instead of clear to avoid window flashing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 14:52:49 +0000 (14:52 +0000)]
tui: Add a grid to the graph
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 14:15:18 +0000 (14:15 +0000)]
ui: Add a graph and plot the sent/received traffic
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 13:10:17 +0000 (13:10 +0000)]
main: Pass stats to the TUI
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 13:10:02 +0000 (13:10 +0000)]
tui: Return the pointer to the main object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 12:57:20 +0000 (12:57 +0000)]
tui: Avoid blocking
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 12:53:40 +0000 (12:53 +0000)]
tui: Add scaffolding for a basic TUI
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 11:55:41 +0000 (11:55 +0000)]
configure: Link against ncurses
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 11:44:18 +0000 (11:44 +0000)]
main: Don't spread across more ports any more
Since we now have the main loop taking care of the connection handling
there is probably very little point in spreading this across multiple
processors.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 11:39:59 +0000 (11:39 +0000)]
stats: Refactor stats calculation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 11:16:32 +0000 (11:16 +0000)]
ctx: Build out worker allocation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 10:44:30 +0000 (10:44 +0000)]
client: Actually initialize the state
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 10:42:28 +0000 (10:42 +0000)]
worker: Move sending/receiving data into the worker
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 10:35:02 +0000 (10:35 +0000)]
main: Merge client and server to use the workers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 09:31:35 +0000 (09:31 +0000)]
main: Refactor setting up the timer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 09:08:21 +0000 (09:08 +0000)]
stats: Move them into their own file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 09:00:41 +0000 (09:00 +0000)]
main: Fix fetching the random buffer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 08:59:48 +0000 (08:59 +0000)]
server: Move creating workers into the context
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 08:47:10 +0000 (08:47 +0000)]
random: Refactor to use a statically allocated pool
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 08:38:54 +0000 (08:38 +0000)]
ctx: Move context initialization
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 08:20:03 +0000 (08:20 +0000)]
constants: Move all constants into their own header file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 08:13:05 +0000 (08:13 +0000)]
ctx: Move the context declaration into its own source file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 07:57:07 +0000 (07:57 +0000)]
conf: Rename to ctx
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 07:50:56 +0000 (07:50 +0000)]
server: Use the new worker
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 06:58:23 +0000 (06:58 +0000)]
worker: Create scaffolding for a new universal worker
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 19 Sep 2024 06:39:56 +0000 (06:39 +0000)]
server: Experimental changes to make this multithreaded
We seem to be hitting a bottleneck with the single-threaded approach on
weaker processors which makes it a necessity to have more threads.
This is a proof of concept.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 20 Oct 2021 18:15:33 +0000 (18:15 +0000)]
Enable ZEROCOPY
https://www.kernel.org/doc/html/latest/networking/msg_zerocopy.html
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 17 Aug 2021 15:16:54 +0000 (15:16 +0000)]
rlimit: Automatically set to maximum
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 15:03:25 +0000 (15:03 +0000)]
debian: Update changelog
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 14:46:51 +0000 (14:46 +0000)]
Bump version to 0.2.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 14:47:25 +0000 (14:47 +0000)]
configure: Fix indentation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 15:03:33 +0000 (15:03 +0000)]
Remove double declaration of ZERO
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 14:46:09 +0000 (14:46 +0000)]
main: Ensure that epollfd is always initialized
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 14:44:30 +0000 (14:44 +0000)]
server: Do not send any data when in keepalive only mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 14:32:17 +0000 (14:32 +0000)]
server: Move sending keepalives to the server when enabled
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 14:30:00 +0000 (14:30 +0000)]
timespec_delta: Return seconds as double
The stats printing function expected this in seconds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 22 Feb 2021 19:34:48 +0000 (19:34 +0000)]
Set socket buffer size to 64k
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 22 Feb 2021 19:34:14 +0000 (19:34 +0000)]
Set socket buffer sizes on both sides for duplex traffic
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 22 Feb 2021 19:22:18 +0000 (19:22 +0000)]
client: Remove default timeout
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 18 Feb 2021 16:51:13 +0000 (16:51 +0000)]
server: Support "--close"
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 18 Feb 2021 16:44:37 +0000 (16:44 +0000)]
stats: Show sent/received stats everywhere
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 18 Feb 2021 16:21:18 +0000 (16:21 +0000)]
client: Implement duplex mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 18 Feb 2021 16:11:00 +0000 (16:11 +0000)]
man: The --zero option is now effective for the server, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 18 Feb 2021 16:10:16 +0000 (16:10 +0000)]
Change that the server is now sending data and the client is receiving it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 18 Feb 2021 16:01:12 +0000 (16:01 +0000)]
Move functions to send/receive data to main
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 18 Feb 2021 15:56:26 +0000 (15:56 +0000)]
Initialize the random pool for both, client and server
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 18 Feb 2021 15:39:14 +0000 (15:39 +0000)]
random: Move pool into extra file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Feb 2021 11:53:48 +0000 (11:53 +0000)]
Include number of listening sockets in open file limit
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 15:59:45 +0000 (15:59 +0000)]
Avoid closing timerfd when it has never been opened
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 15:03:24 +0000 (15:03 +0000)]
Bump version to 0.1.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 15:01:34 +0000 (15:01 +0000)]
client: Implement closing connections straight away
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 14:51:30 +0000 (14:51 +0000)]
stats: Reset bytes sent, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 14:50:36 +0000 (14:50 +0000)]
server: Make listening sockets reusable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 14:46:04 +0000 (14:46 +0000)]
Move dumping stats into main.c
The code is very common between client and server and therefore we can
share it better.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 14:35:05 +0000 (14:35 +0000)]
stats: Merge client and server stats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 14:28:32 +0000 (14:28 +0000)]
stats: Show new connections per second
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 14:20:45 +0000 (14:20 +0000)]
stats: Rename connections to open_connections
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 14:12:18 +0000 (14:12 +0000)]
client: Print current bandwidth and total bytes sent
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 12:05:19 +0000 (12:05 +0000)]
client: Show timestamp when dumping stats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 12:03:12 +0000 (12:03 +0000)]
util: Move some helper functions into an extra module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Feb 2021 11:57:28 +0000 (11:57 +0000)]
client: Avoid double-closing the epoll file descriptor
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Feb 2021 23:19:38 +0000 (23:19 +0000)]
client: Add scaffolding to dump stats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Feb 2021 23:14:52 +0000 (23:14 +0000)]
Move creation of epoll() and timerfd() to main
This is shared code between the client and the server and it is easier
to just maintain it once.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Feb 2021 22:52:13 +0000 (22:52 +0000)]
debian: Add build dependencies
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Feb 2021 22:45:59 +0000 (22:45 +0000)]
debian: Add tooling to build packages for various releases and architectures
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Stefan Schantl [Wed, 3 Feb 2021 19:14:14 +0000 (20:14 +0100)]
Add required files to allow building debian packages.
Fixes #12570.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Feb 2021 18:49:59 +0000 (18:49 +0000)]
man: Add fireperf.8
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Feb 2021 18:41:03 +0000 (18:41 +0000)]
Add version information
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 18:57:58 +0000 (18:57 +0000)]
client+server: Try parsing port ranges
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 18:57:43 +0000 (18:57 +0000)]
Rename sockets -> listening_sockets
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 18:27:40 +0000 (18:27 +0000)]
client: Use a random port to connect to the server
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 18:25:59 +0000 (18:25 +0000)]
server: Automatically open 10 sockets
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 18:11:06 +0000 (18:11 +0000)]
client+server: Increase socket send/recevie buffer size to 128k
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 17:55:37 +0000 (17:55 +0000)]
Revert "client: Use getaddrinfo to resolve any hostnames given"
This reverts commit
e5c9467df37a2d6914164ec9c2cd9b35cfb0c3cb .
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 17:43:12 +0000 (17:43 +0000)]
client: Try to keep "conf->parallel" connections open
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 17:19:38 +0000 (17:19 +0000)]
client: Create random pool to send data faster
This creates a pool of one thousand times the send buffer size which
will be used to send random data. This data might repeat itself, but
that is not a problem here because we only need to have more data than
the window of any compression algorithm.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 16:35:29 +0000 (16:35 +0000)]
server: Read the correct events when handling peer connections
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 16:12:50 +0000 (16:12 +0000)]
Allocate send/receive buffers the same as socket buffers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Feb 2021 16:10:01 +0000 (16:10 +0000)]
client+server: Configure socket send/receive buffer size
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 29 Jan 2021 17:21:25 +0000 (17:21 +0000)]
server: Prevent useless stats printed when called too soon
Sometimes the timer event gets stuck in the queue and we would be called
multiple times in a row. To prevent printing any useless output, we just
ignore any calls that were too soon.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 29 Jan 2021 17:20:57 +0000 (17:20 +0000)]
server: Show bandwidth in bit/s instead of bytes/s
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 29 Jan 2021 16:56:59 +0000 (16:56 +0000)]
server: Show current bandwidth
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 29 Jan 2021 15:50:56 +0000 (15:50 +0000)]
server: Show how many bytes were received in total
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 29 Jan 2021 15:33:03 +0000 (15:33 +0000)]
server: Compute delta in seconds between dump_stats() calls
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 29 Jan 2021 15:06:53 +0000 (15:06 +0000)]
server: Print some useful statistics about open connections
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 18:56:49 +0000 (18:56 +0000)]
server: Add a timer that triggers printing the statistics one a second
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>