The original PIM-SM daemon

- 2 mins read
Protocol Independent Multicast, PIM, allows existing networks to route IP multicast, regardless of what unicast routing protocol is in use. It is designed to use existing routing tables to make its multicast routing decisions. PIM-SM is suitable for sparsely located multicast subscribers, for dense mode operation mrouted is recommended, and for static multicast routing smcroute may be used. pimd is a lightweight standalone PIM-SM/SSM v2 multicast routing daemon. It is the original USC (netweb/catarina.

FLOSS Progress

- 3 mins read

This post is an update of what’s happened since last I posted about my many pet projects. As usual nothing fancy. If you want to know more I suggest you find one on GitHub you’re interested in. File an issue, or better yet, post a pull request to scratch that itch you have deep down: šŸ‘‰ https://github.com/troglobit

Odd Progress

- 2 mins read

A lot has happened since my last post; I had my bike stolen, stumbled upon the guys who’d stolen it, got mugged by same guys, decided I’d had enough and then bought a house and moved to another city. That’s the long and short of it.

I’m OK, sort of.

Dark Themes Ahead

- 1 min read

Reminder to self: How to fix Firefox about:config when using a Dark Theme in Gnome or Awesome.

I use System76 amazing Gtk+ theme from Pop!_OS. It’s quite simple to set up on top of Ubuntu and use in Awesome:

sudo add-apt-repository ppa:system76/pop
sudo apt update
sudo apt install pop-theme

I then use gnome-tweaks to select the Pop-dark-slim theme. Now, the problem is that certain text box inputs in Firefox is either completely dark or white and the text cannot be seen until you mark it. This isn’t specific to the Pop!_OS theme, Adwaita-dark is exactly as bad.

N E M E S I S

- 2 mins read

Summer is almost upon us. The weather in Sweden has been amazing the last couple of weeks, sunny and warm. This has of course not prevented me from pursuing my favorite indoor activity; coding! This time around I’ve spent some time to resurrect the packet injection tool Nemesis.

Slow Down

- 1 min read
Anyone who knows me knows I’m quite stubborn. Whenever I set my sights on something I finish it. The last couple of years I’ve been quite busy on GitHub, making at least one commit per day. I’ve had a lot of things I’ve wanted to do and complete, and this commit regimen has kept me on track to do just that. However, nothing comes for free, and although I’ve achieved my goals, I’ve also had to make a lot of sacrifices.

Multicast routing with PIM-SM over GRE

- 8 mins read

GRE tunnels are useful in many ways. This blog post shows how to set up multicast routing with pimd over a GRE tunnel. To achieve this we will also set up OSPF over GRE with Quagga, because PIM, unlike DVMRP (mrouted), require unicast routing rules to be established.

       .----{ Intranet }----.
      /    192.168.1.0/24    \
     /                        \
.10 /                          \.20
.--'---. .1  GRE Tunnel  .2 .---`--.
|      |====================|      |
|  R1  |   172.16.16.0/30   |  R2  |
|      |                    |      |
'--.---'                    '------'
   | .1                        | .1 
   |    10.0.1.0/24            |    10.0.2.0/24
   | .2                        | .2 
.--'---.                    .--'---.
|      |                    |      |
|  C1  |                    |  C2  |
|      |                    |      |
'------'                    '------'

In this post we are using the home WiFi network, 192.168.1.0/24, to hook up the GRE tunnel. It is just as easy to extend this to a big corporate Intranet with more routers between R1 and R2. As long as that IT department takes care of the unicast routing between R1 and R2 so that the GRE tunnel can be established.

Threads vs Event Loop, Again ...

- 2 mins read

I still get asked this, from time to time. Maybe it’s because I only use event loops, maybe it’s because I’ve written libuEv, or maybe people still don’t understand:

Why an event loop, why not use threads?

So here’s my response, once more.