<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p><font size="-1">Thanks, that sounds like a good long-term approach. I know our CTO loves eBPF! As and introduction I'll start prothletising pping (;-))</font></p>
<p><font size="-1">--dave</font><br>
</p>
<div class="moz-cite-prefix">On 2020-06-04 6:56 a.m., Toke Høiland-Jørgensen wrote:<br>
</div>
<blockquote type="cite" cite="mid:87k10njdzj.fsf@toke.dk">
<pre class="moz-quote-pre" wrap="">Jonathan Morton <a class="moz-txt-link-rfc2396E" href="mailto:chromatix99@gmail.com"><chromatix99@gmail.com></a> writes:

</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">On 4 Jun, 2020, at 1:21 am, Dave Collier-Brown <a class="moz-txt-link-rfc2396E" href="mailto:dave.collier-brown@indexexchange.com"><dave.collier-brown@indexexchange.com></a> wrote:

We've good tools to measure network performance under stress, by the
simple expedient of stressing it, but is there a good approach I
could recommend to my company to monitor a bunch of reasonably modern
links, without the measurement significantly affecting their state?

I don't mind increasing bandwidth usage, but I'm downright grumpy
about adding to the service time: I have a transaction that times out
for gross slowness if it takes much more that an tenth of a second,
and it involves a scatter-gather interaction with at least 10
customers in that time.

I'm topically interested in bloat, but really we should understand
"everything" about our links. If they can get the bloats like cattle,
they can probably get the gout, like King Henry the Eighth (;-))

My platform is Centos 8, and I have lots of Smarter Colleagues to
help.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
My first advice would be to browse pollere.net for tools - like pping
(passive ping), which monitors the latency of flows in transit. That
should give you some interesting information without adding any load
at all. There is also connmon (<a class="moz-txt-link-freetext" href="https://github.com/pollere/connmon">https://github.com/pollere/connmon</a>).
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Ah, good idea, totally forgot about Kathy's tools! :)

I figure one could probably implement something like connmon in eBPF (as
an XDP or TC hook program) and have it run as an always-on monitor with
fairly low overhead. Dave, if you have development resources to throw at
this, I'll be happy to help with pointers on how to get the eBPF bits
working. I believe CentOS 8.2+ should have the needed kernel support...

Of course, you could also just use the connmon utility as-is if you have
CPU cycles to spare for the extra overhead (it looks like it's using
libpcap to capture the packets and process them in userspace).

-Toke
</pre>
</blockquote>
<pre class="moz-signature" cols="72">-- 
David Collier-Brown,         | Always do right. This will gratify
System Programmer and Author | some people and astonish the rest
<a class="moz-txt-link-abbreviated" href="mailto:dave.collier-brown@indexexchange.com">dave.collier-brown@indexexchange.com</a> |              -- Mark Twain
</pre>
<br>
<p><strong><em><span style="color: #212121;">CONFIDENTIALITY NOTICE AND DISCLAIMER</span></em></strong><em><span style="color: #212121;"> : This telecommunication, including any and all attachments, contains confidential information intended only for the person(s)
 to whom it is addressed. Any dissemination, distribution, copying or disclosure is strictly prohibited and is not a waiver of confidentiality. If you have received this telecommunication in error, please notify the sender immediately by return electronic mail
 and delete the message from your inbox and deleted items folders. This telecommunication does not constitute an express or implied agreement to conduct transactions by electronic means, nor does it constitute a contract offer, a contract amendment or an acceptance
 of a contract offer. Contract terms contained in this telecommunication are subject to legal review and the completion of formal documentation and are not binding until same is confirmed in writing and has been signed by an authorized signatory.</span></em></p>
</body>
</html>