From: John Fastabend <john.fastabend@gmail.com>
To: john.fastabend@gmail.com, ast@kernel.org, daniel@iogearbox.net
Cc: netdev@vger.kernel.org
Subject: [bpf-next PATCH 0/7] sockmap sample updates
Date: Mon, 08 Jan 2018 10:04:50 -0800 [thread overview]
Message-ID: <20180108180302.13647.13866.stgit@john-Precision-Tower-5810> (raw)
The sockmap sample is pretty simple at the moment. All it does is open
a few sockets attach BPF programs/sockmaps and sends a few packets.
However, for testing and debugging I wanted to have more control over
the sendmsg format and data than provided by tools like iperf3/netperf,
etc. The reason is for testing BPF programs and stream parser it is
helpful to be able submit multiple sendmsg calls with different msg
layouts. For example lots of 1B iovs or a single large MB of data, etc.
Additionally, my current test setup requires an entire orchestration
layer (cilium) to run. As well as lighttpd and http traffic generators
or for kafka testing brokers and clients. This makes it a bit more
difficult when doing performance optimizations to incrementally test
small changes and come up with performance delta's and perf numbers.
By adding a few more options and an additional few tests the sockmap
sample program can show a more complete example and do some of the
above. Because the sample program is self contained it doesn't require
additional infrastructure to run either.
This series, although still fairly crude, does provide some nice
additions. They are
- a new sendmsg tests with a sender and recv threads
- a new base tests so we can get metrics/data without BPF
- multiple GBps of throughput on base and sendmsg tests
- automatically set rlimit and common variables
That said the UI is still primitive, more features could be added,
more tests might be useful, the reporting could be better, etc. But,
IMO lets push this now rather than sit on it for weeks until I get
time to do the above improvements.
---
John Fastabend (7):
bpf: refactor sockmap sample program update for arg parsing
bpf: add sendmsg option for testing BPF programs
bpf: sockmap sample, use fork() for send and recv
bpf: sockmap sample, report bytes/sec
bpf: sockmap sample add base test without any BPF for comparison
bpf: sockmap put client sockets in blocking mode
bpf: sockmap set rlimit
samples/sockmap/sockmap_user. | 0
samples/sockmap/sockmap_user.c | 354 +++++++++++++++++++++++++++++++++++-----
2 files changed, 314 insertions(+), 40 deletions(-)
create mode 100644 samples/sockmap/sockmap_user.
next reply other threads:[~2018-01-08 18:05 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-08 18:04 John Fastabend [this message]
2018-01-08 18:05 ` [bpf-next PATCH 1/7] bpf: refactor sockmap sample program update for arg parsing John Fastabend
2018-01-09 13:30 ` Jesper Dangaard Brouer
2018-01-09 16:10 ` John Fastabend
2018-01-08 18:05 ` [bpf-next PATCH 2/7] bpf: add sendmsg option for testing BPF programs John Fastabend
2018-01-08 18:05 ` [bpf-next PATCH 3/7] bpf: sockmap sample, use fork() for send and recv John Fastabend
2018-01-09 23:54 ` Daniel Borkmann
2018-01-08 18:05 ` [bpf-next PATCH 4/7] bpf: sockmap sample, report bytes/sec John Fastabend
2018-01-09 13:27 ` Jesper Dangaard Brouer
2018-01-09 16:16 ` John Fastabend
2018-01-08 18:06 ` [bpf-next PATCH 5/7] bpf: sockmap sample add base test without any BPF for comparison John Fastabend
2018-01-08 18:06 ` [bpf-next PATCH 6/7] bpf: sockmap put client sockets in blocking mode John Fastabend
2018-01-08 18:06 ` [bpf-next PATCH 7/7] bpf: sockmap set rlimit John Fastabend
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180108180302.13647.13866.stgit@john-Precision-Tower-5810 \
--to=john.fastabend@gmail.com \
--cc=ast@kernel.org \
--cc=daniel@iogearbox.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).