Many ISPs need the kinds of quality shaping cake can do
 help / color / mirror / Atom feed
From: Herbert Wolverson <herberticus@gmail.com>
To: libreqos@lists.bufferbloat.net
Subject: [LibreQoS] In BPF pping - so far
Date: Sat, 15 Oct 2022 20:59:00 -0500	[thread overview]
Message-ID: <CA+erpM5CNocpTnxNpTyEifaLv2P-ZbRXASUxS7iYr8LgCRgRNA@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1386 bytes --]

Hey,

I've had some pretty good success with merging xdp-pping (
https://github.com/xdp-project/bpf-examples/blob/master/pping/pping.h )
into xdp-cpumap-tc ( https://github.com/xdp-project/xdp-cpumap-tc ).

I ported over most of the xdp-pping code, and then changed the entry point
and packet parsing code to make use of the work already done in
xdp-cpumap-tc (it's already parsed a big chunk of the packet, no need to do
it twice). Then I switched the maps to per-cpu maps, and had to pin them -
otherwise the two tc instances don't properly share data. Right now, output
is just stubbed - I've still got to port the perfmap output code. Instead,
I'm dumping a bunch of extra data to the kernel debug pipe, so I can see
roughly what the output would look like.

With debug enabled and just logging I'm now getting about 4.9 Gbits/sec on
single-stream iperf between two VMs (with a shaper VM in the middle). :-)

So my question: how would you prefer to receive this data? I'll have to
write a daemon that provides userspace control (periodic cleanup as well as
reading the performance stream), so the world's kinda our oyster. I can
stick to Kathie's original format (and dump it to a named pipe, perhaps?),
a condensed format that only shows what you want to use, an efficient
binary format if you feel like parsing that...

(I'll post some code soon, getting sleepy)

Thanks,
Herbert

[-- Attachment #2: Type: text/html, Size: 1764 bytes --]

             reply	other threads:[~2022-10-16  1:59 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-16  1:59 Herbert Wolverson [this message]
2022-10-16  2:26 ` Robert Chacón
2022-10-17 14:13 ` Toke Høiland-Jørgensen
2022-10-17 14:59   ` Herbert Wolverson
2022-10-17 15:14   ` Simon Sundberg
2022-10-17 18:45     ` Herbert Wolverson
2022-10-17 20:33       ` Robert Chacón
2022-10-18 18:01         ` Herbert Wolverson
2022-10-19 13:44           ` Herbert Wolverson
2022-10-19 13:58             ` Dave Taht
2022-10-19 14:01               ` Herbert Wolverson
2022-10-19 14:05                 ` Herbert Wolverson
2022-10-19 14:48                   ` Robert Chacón
2022-10-19 15:49                     ` dan
2022-10-19 16:10                       ` Herbert Wolverson
2022-10-19 16:13                         ` Dave Taht
2022-10-19 16:13                           ` Dave Taht
2022-10-22 14:32                             ` Herbert Wolverson
2022-10-22 14:44                               ` Dave Taht
2022-10-22 14:47                               ` Robert Chacón

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

  List information: https://lists.bufferbloat.net/postorius/lists/libreqos.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+erpM5CNocpTnxNpTyEifaLv2P-ZbRXASUxS7iYr8LgCRgRNA@mail.gmail.com \
    --to=herberticus@gmail.com \
    --cc=libreqos@lists.bufferbloat.net \
    /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