Monday, halleluja sFlow
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@ -1,8 +1,113 @@
|
||||
---
|
||||
title: "Week 7, Monday: sFlow"
|
||||
title: "Week 7, Monday: A Huge Zuchhini"
|
||||
date: 2024-09-09T21:55:00+02:00
|
||||
draft: true
|
||||
---
|
||||
|
||||
{{< image frame="true" width="17em" float="right" src="/img/headline/fluidified-04.png" alt="Credit: Fluidified, YouTube" >}}
|
||||
|
||||
I got up pretty early today, after a tremendously fine sleep. Marina was off to her water coloring
|
||||
class, and Quinn was off to work. At 08:15 I walked downstairs to do my morning ritual (ie. inhale
|
||||
caffeine). Marina pre-empted me there, putting a sticky note on the coffee machine, saying that
|
||||
she'd love to go out to lunch with me (she suggested it yesterday!) but seeing as we're going to
|
||||
travel to the Netherlands on Wednesday and we have lots of stuff still in the fridge, she was
|
||||
feeling a little bit more of a _Carpe Diem_. I made my coffee and approved the eating at home
|
||||
request.
|
||||
|
||||
Speaking of eating at home - the other day when Liv came to visit, she brought a rather ginormous
|
||||
zucchini with her. I took a picture of it - with a full sized tomato for scale. But somehow that
|
||||
picture didn't really show the truly massive nature of this vegetabohemoth. So I decided to make a
|
||||
soup out of it -- and I cut it over length wise with a large pairing knife (this kitchen knife is
|
||||
33.5cm). It looked a bit more like a green pumpkin! After removing the seeds, I chopped 'er up into
|
||||
itty bitty pieces, and boiled for a good 35 minutes, added some spices (finely milled black pepper,
|
||||
salt, vegetable bouillon, and cayenne pepper). It'll be a nice dinner soup for tonight!
|
||||
|
||||
In the morning, I finish all of my loadtests and publish the [[IPng
|
||||
Article](https://ipng.ch/s/articles/2024/09/08/vpp-with-sflow-part-1/)] about sFlow, and I'm really
|
||||
looking forward to my meeting with Neil tonight. I have lots of questions and thoughts on how we
|
||||
might proceed and make the plugin more efficient (and: lockless). I spend most of the morning
|
||||
listening to music, and doing an editorial pass over the article, fixing a few typo's and
|
||||
rearranging the flow (no pun intended!) a little bit. With this Sabbatical website, I'm kind of just
|
||||
writing using free word association, but the IPng articles take considerably more time (this one
|
||||
took about 3 days).
|
||||
|
||||
At 11:00 I call my parents - on Wednesday we'll be driving over to them and spending a few days with
|
||||
them before shipping off to Fryslan. We discuss the timing, the plans and if there's anything I
|
||||
should bring. I'll be making dinner for them on Thursday, and they will feature on this blog!
|
||||
Incidentally, I also told them about my writing, as I owe the discipline of journalling to my Mom
|
||||
who used to always write really nice logs of our vacations; sitting in the caravan or tent in the
|
||||
evening, very low tech with a pad and pencil. But, it's a habit I picked up from her, for sure!
|
||||
|
||||
Then around noon Marina tells me her ETA, which will be 12:15. I make my way upstairs and together
|
||||
we have a spot of lunch. I'm eating the smoked salmon that I had originally bought for yesterday's
|
||||
Brunch-Which-I-Never-Had, and to make up for it, I make some soft boiled eggs, njam.
|
||||
|
||||
After lunch, Marina needs to run some errands, and being the needy boyfriend I am, I chain myself to
|
||||
her and go with. I don't think she minded that much. We go to Glatt Zentrum first, and visit
|
||||
_Douglas_ for some perfume and sunscreen, then the _Qualipet_ for some wormiedealies for our
|
||||
reptilian friends Heli and Sticky, and finally we make our way to the _Coop_ for a few more nights
|
||||
of dinner for us, and a longer grocery list of shopping for Quinn, who will be home alone, hopefully
|
||||
not like [[the movie](https://www.imdb.com/title/tt0099785/)]. In the _Coop_ we are now greeted by a
|
||||
large array of wines. We chuckle as we recount having every red wine except for one, in our cellar.
|
||||
We are not fans of white wines (sorry, we're a bit racist that way).
|
||||
|
||||
Back home at 14:00, I hang out online and read some e-mail. Speaking of which, my buddy Sebas from
|
||||
IRC somehow feels the need to e-mail me on corp, so I humor him and grab the laptop. Whoops, battery
|
||||
is completely empty! Teun says: you know you are having a successful sabbatical if your battery is
|
||||
dead. And I agree with him totally. But, I charge the laptop, so that I can respond to this e-mail.
|
||||
|
||||
Meanwhile on IRC, the topic of the FrysIX website comes up. It was running off of an old webserver
|
||||
of Arend's, without SSL, and with a Hurricane Electric IPv6 tunnel -- brrr. As an Internet Exchange
|
||||
Point, I think we cao do better. On Telegram, a bright eyed Arend says: "Can we use *this* theme?",
|
||||
and shows me what he wants, what he really raelly wants.
|
||||
|
||||
"OK, Gast, als jij dat wilt!", and with a _zigazig ah_, I present to you: the new FrysIX website.
|
||||
The 80s called, they want their 80x25 ASCII art back! We have a littl bit of fun about the look and
|
||||
feel on IRC, but honestly: I think the choice is pretty cool :) Tell me what you think about it!
|
||||
|
||||
Then comes for me a hilight of the day. 18:00 rolls around and Peter Phaal and Neil McKee from inMon
|
||||
join me for a video call on the sFlow plugin. Neil has read my article, and we bounce questions back
|
||||
and forth. In discussing this, we think of a few ways to make the PSAMPLE approach scale, by using a
|
||||
worker queue to consume a multi-writer single reader lockless queue, or ring-buffer of sufficient
|
||||
size. We do a few loadtests live and toy around with the setup a little bit.
|
||||
|
||||
{{< image src="/img/brain.png" width="7em" float="left" alt="brain" >}}
|
||||
|
||||
Somehow, we arrive at the topic of SPAN and mirror ports, and Peter mentions that there is an
|
||||
ethertype for sFlow, which triggers the big-idea: what if we created a TAP from within VPP, calling
|
||||
it in Linux, say, `sflow0`, and leveraged the fact that virtio already has multiple TX queues? Now
|
||||
we could simply write the samples (and counters!) as ethernet packets into the TAP and read them
|
||||
from `hsflowd`. That would be so slick!
|
||||
|
||||
Anyway, at 19:30 Marina is about to kick down the door to my room because I'm waaaay late for
|
||||
dinner. Whoops, sorry! I scurry upstairs and make myself a cheese melt. Tonight, we're eating
|
||||
zucchini vegetabohemoth soup and toasties, and that will do just fine!
|
||||
|
||||
After dinner, we watch a two episodes of _Black Mirror_ on TV, and I play around with the
|
||||
performance of TUN/TAP in VPP a bit. I really get excited about this idea, because I manage to
|
||||
easily push 7Mpps through a single tuntap device, coming from eight different interfaces, and each
|
||||
worker thread is completely independent of others, no locks, no RPCs to main. You can expect a
|
||||
second article in a few weeks as we noodle on this design a bit.
|
||||
|
||||
After _Black Mirror_, I go downstairs to write my journal for the day, while listening to very
|
||||
relaxing, slow [[Fluidified](https://www.youtube.com/watch?v=NJQvtCmXx5g)] on YouTube. This was a
|
||||
fun day, especially as a juxtaposition with yesterday's write-off due to the headache.
|
||||
|
||||
## Pictures of the Day
|
||||
|
||||
{{< gallery-category >}}
|
||||
{{< gallery-photo fn="2024-09-07/IMG_1143.JPG" caption="The gift Liv brought - a giant zucchini, or as the Swiss say: Zucchetti" >}}
|
||||
{{< gallery-photo fn="2024-09-09/IMG_1165.JPG" caption="I've sliced this zucchini length wise, and it's about 2kg or so. Lots of it has to be disposed of though - it looks a bit like a pumpkin in here!" >}}
|
||||
{{< gallery-photo fn="2024-09-09/IMG_1166.JPG" caption="Marina thinks that maybe the atmospheric pressure differential is what gave my sinuses the heebie-jeebies. She may be right, there was a 10mBar dip the day before... hmmm." >}}
|
||||
{{< gallery-photo fn="2024-09-09/IMG_1167.JPG" caption="The Douglas is full of powders, potions, Eyes of Newt, Gillyweed, and so on. All Marina bought was some sunscreen and parfume, though :(" >}}
|
||||
{{< gallery-photo fn="2024-09-09/IMG_1169.JPG" caption="The Coop however is full of wine. And I like wine. And baking bread. And computers." >}}
|
||||
{{< gallery-photo fn="2024-09-09/IMG_1172.JPG" caption="I write a default piss-off post-it note to PostFinance AG who are vulgar spammers. One Franc well spent!" >}}
|
||||
{{< gallery-photo fn="2024-09-09/IMG_1173.JPG" caption="The corp laptop is completely dead. Also, its screen is gross, so I clean it up while it charges. I then send Phreak an e-mail." >}}
|
||||
{{< gallery-photo fn="2024-09-09/frysix.png" caption="May I present to you: the all new and improved Frys-IX website!" >}}
|
||||
{{< gallery-photo fn="2024-09-09/IMG_1174.JPG" caption="Simple cheese melt toastie and zucchini soup (with balls!)" >}}
|
||||
{{< gallery-photo fn="2024-09-09/IMG_1176.JPG" caption="The singing that 'freed' this character Abi in Black Mirror. But because it's Black Mirror, she was not freed but got entirely messed up. No spoilers here :)" >}}
|
||||
{{< /gallery-category >}}
|
||||
|
||||
{{< gallery-modal >}}
|
||||
{{< gallery-script >}}
|
||||
|
||||
|
||||
|
BIN
static/img/brain.png
(Stored with Git LFS)
Normal file
BIN
static/img/brain.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-07/IMG_1143.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-07/IMG_1143.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-09/IMG_1165.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-09/IMG_1165.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-09/IMG_1166.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-09/IMG_1166.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-09/IMG_1167.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-09/IMG_1167.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-09/IMG_1169.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-09/IMG_1169.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-09/IMG_1172.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-09/IMG_1172.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-09/IMG_1173.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-09/IMG_1173.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-09/IMG_1174.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-09/IMG_1174.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-09/IMG_1176.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-09/IMG_1176.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/fullsize/2024-09-09/frysix.png
(Stored with Git LFS)
Normal file
BIN
static/img/fullsize/2024-09-09/frysix.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-07/IMG_1143.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-07/IMG_1143.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-09/IMG_1165.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-09/IMG_1165.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-09/IMG_1166.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-09/IMG_1166.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-09/IMG_1167.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-09/IMG_1167.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-09/IMG_1169.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-09/IMG_1169.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-09/IMG_1172.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-09/IMG_1172.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-09/IMG_1173.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-09/IMG_1173.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-09/IMG_1174.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-09/IMG_1174.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-09/IMG_1176.JPG
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-09/IMG_1176.JPG
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
static/img/thumbnails/2024-09-09/frysix.png
(Stored with Git LFS)
Normal file
BIN
static/img/thumbnails/2024-09-09/frysix.png
(Stored with Git LFS)
Normal file
Binary file not shown.
Reference in New Issue
Block a user