]>
git.ipfire.org Git - fireperf.git/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
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>
Michael Tremer [Thu, 28 Jan 2021 18:27:03 +0000 (18:27 +0000)]
client: Use getaddrinfo to resolve any hostnames given
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 18:11:24 +0000 (18:11 +0000)]
client+server: Remove useless configuration dump
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 18:10:35 +0000 (18:10 +0000)]
client+server: Configure ulimits before opening any connections
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 14:46:01 +0000 (14:46 +0000)]
server: Gracefully close connections when the client went away
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 14:31:58 +0000 (14:31 +0000)]
client+server: Process fewer epoll events in one go
This will allow us to terminate quicker because we will evaluate the
outer while loop more often which should be a rather cheap operation.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 14:31:34 +0000 (14:31 +0000)]
client+server: Remove some excessive debugging output
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 14:30:53 +0000 (14:30 +0000)]
client+server: Terminate gracefully when receiving a signal
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 14:11:09 +0000 (14:11 +0000)]
client: Enable sending keepalive packets every 10 seconds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 11:28:55 +0000 (11:28 +0000)]
client: ALlow keepalive only mode
In this mode, the client won't send any data and only hold the
connections open.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 11:13:18 +0000 (11:13 +0000)]
client: Add some example for gathering random data
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 11:07:04 +0000 (11:07 +0000)]
client: Give the user the choice whether to send random data or zero
This is useful when compression is being used on the link since random
data cannot be compressed, but the zeroes can.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 28 Jan 2021 10:57:23 +0000 (10:57 +0000)]
client: Add timeout
This is a safety precausion which will terminate the client
automatically after a certain time just in case the network becomes
unresponsive.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 18:06:12 +0000 (18:06 +0000)]
client: Add a basic implementation
This will make the client connect to the server with one or more
connections and it will send data.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 17:01:34 +0000 (17:01 +0000)]
logging: Revert to log to console
This is easier for debugging
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 16:53:46 +0000 (16:53 +0000)]
server: Add basic implementation that accepts connections
This creates an asynchronous loop which listens for new connections
opening and which will close connections after the client has closed
them.
This will also read any data that is being received on the sockets and
discard it.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 14:26:41 +0000 (14:26 +0000)]
Implement to configure parallelism
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 14:17:18 +0000 (14:17 +0000)]
Add scaffolding for client/server code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 14:09:02 +0000 (14:09 +0000)]
Parse IP address which we need in client mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 13:45:25 +0000 (13:45 +0000)]
Add a basic logging infrastructure
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 13:07:36 +0000 (13:07 +0000)]
Set default port to 5001
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 13:06:41 +0000 (13:06 +0000)]
Make port configurable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 12:59:01 +0000 (12:59 +0000)]
Parse mode from command line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 25 Jan 2021 12:32:30 +0000 (12:32 +0000)]
Initial checkin
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>