From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 1BC993B29E for ; Sat, 15 Oct 2022 21:59:11 -0400 (EDT) Received: by mail-pj1-x1036.google.com with SMTP id t10-20020a17090a4e4a00b0020af4bcae10so8071511pjl.3 for ; Sat, 15 Oct 2022 18:59:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=OqcbL1EPq5705nQvUBYzGO+nNfapTIivF9MbdiKdm8w=; b=Q8iP5HBbw8cvkbqgXw3hJSMorkXwtAXbxVASt+PdpvqfAnr3Fp/s3oYqViwqGU6OyM ktYQHHkCYtnDa07o6DuW5qO2a2gsb46W2H1x4qpWzA14VEnqoshSazh++LIWDb2g9C47 jlwrd2RxR1wlbXOo+2m9BvbiT2UZdmZ08hWlsVtAQV32DVZV+CKUIyTiRhxdtDSb+5Jy yaUheWwAO49tC/OCT5QY4PpFuvPw/6QOra+qghkgP3WQIO24TSULsc0rDliJertTyNJF Ilqc0kd2AzIZPue5/7vWkCBxSLCkbjhLPTe+Yos2WvJ9rL37p+d5pmIMwB9Lfpw+2j8D KoPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=OqcbL1EPq5705nQvUBYzGO+nNfapTIivF9MbdiKdm8w=; b=Wfk85vvTqhYS2n8AW60Z6urEKb0fPJgxhtnRIWnJ4Kg2oWk5GipBs5l6PpNDoNlatl FvNFLP71STkW/C7A3E+be/WOYCv7ZZqgMnJ4V48Ae/Wa0pGh3pw3xf2U62x85tuXLQRX /42MuNna9PWUzF9SUzqzW5yUJnxwWxrcddTicqhSj/6ODDanqIOWifJaLwk3e6fBXx9l i0KTXmeb5bEYw9TBIfkZhv0YMiAUDgZrYWAUJXXF+Yvri1MoFvSsv7UjOIBckGifxd+J THxmn0iVL+EjqEICXOpYtyDdu7V+KV8jupH6TD1lq9NXfx+yXAEqrOjyu0uEzjSBIImS l/TA== X-Gm-Message-State: ACrzQf03Ejn0W9r8knv1pEVuBh62wn+X2XtCXl7ZXPoS9DkKk3ykRNDF aWpZKM1r8NsaERVuM0WtfFXnD1wXLBHAPp/I7MYh4+HFerY= X-Google-Smtp-Source: AMsMyM5IfPzltVKyJ1/1jfK76PGZ69FqFf/r0KdZPbv1I9dfk57m0jVpNmnmg+ZxP6549zB1Ubdb2Tgc8itatDefdQE= X-Received: by 2002:a17:902:dad2:b0:17f:7439:20f2 with SMTP id q18-20020a170902dad200b0017f743920f2mr5261538plx.29.1665885549692; Sat, 15 Oct 2022 18:59:09 -0700 (PDT) MIME-Version: 1.0 From: Herbert Wolverson Date: Sat, 15 Oct 2022 20:59:00 -0500 Message-ID: To: libreqos@lists.bufferbloat.net Content-Type: multipart/alternative; boundary="0000000000006d0b9c05eb1d3470" Subject: [LibreQoS] In BPF pping - so far X-BeenThere: libreqos@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Oct 2022 01:59:11 -0000 --0000000000006d0b9c05eb1d3470 Content-Type: text/plain; charset="UTF-8" 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 --0000000000006d0b9c05eb1d3470 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hey,

I've had some prett= y good success with merging xdp-pping ( https://github.com/xdp-proje= ct/bpf-examples/blob/master/pping/pping.h ) into xdp-cpumap-tc ( https://github.com/xdp-p= roject/xdp-cpumap-tc ).

I ported over most of = the xdp-pping code, and then changed the entry point and packet parsing cod= e to make use of the work already done in xdp-cpumap-tc (it's already p= arsed a big chunk of the packet, no need to do it twice). Then I switched t= he maps to per-cpu maps, and had to pin them - otherwise the two tc instanc= es 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 b= unch of extra data to the kernel debug pipe, so I can see roughly what the = output would look like.

With debug enabled and jus= t logging I'm now getting about 4.9 Gbits/sec on single-stream iperf be= tween 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, pe= rhaps?), a condensed format that only shows what you want to use, an effici= ent binary format if you feel like parsing that...

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

Thanks,
Herbert
--0000000000006d0b9c05eb1d3470--