Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Virtual clients #8

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Virtual clients #8

wants to merge 2 commits into from

Conversation

inkdot7
Copy link
Contributor

@inkdot7 inkdot7 commented Feb 9, 2023

The commits makes it possible to have more clients available without using a large netmask for the source IP.

The virtual client number is encoded in the local_id, i.e. the transmit timestamp.

The virtual client bits are used to extended the number of available clients.

Note: not tested for PTP or interleave mode.

See it as WIP:

Should perhaps more masks be precalculated?

Some checks against too-large virtual bit numbers are needed as well.

…ients per IP.

A virtual client (subindex) would then be encoded in the local_id (sent as transmit timestamp), which is returned by the server, thereby identifying the message.
…re 'clients' available without a large netmask.
@mlichvar
Copy link
Owner

What is the use case? Testing in a network where routing cannot be configured, or testing if the server performance degrades if all requests come from a single address (possibly matching a single NIC queue)? I'm wondering if this could be simplified to a special case with one IP address.

@inkdot7
Copy link
Contributor Author

inkdot7 commented Feb 19, 2023

Initially it was for the reason of network which I did not want to reconfigure, but now that you say it, it would actually also be nice to have this capability in order to test various rate-limiting measures. And then I think it would be useful to keep the ability to have multiple clients as well.

Would it be a reasonable start to precalculate things like 1U << (32 - config->src_bits) into num_sources (or something such) variable? If so, inside the struct config, or as some global variable?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants