IPv6 Multicast Routing for Syncthing discovery

By default, Syncthing instances send IPv4 broadcast and IPv6 multicast discovery packages into the local network to find each other. I have my router set up so wired and wireless interfaces are connected by routing, not bridged, so broadcasts can’t reach the other segment. With IPv6 multicast packets it should be possible to set upContinue reading “IPv6 Multicast Routing for Syncthing discovery”

Set Tab Width for Indentation in Emacs

I’ve been working with Strongswan for a while now and created a few patches to enhance conftest, the testing framework included in Strongswan. Like most software projects, Strongswan requires that patches adhere to their coding style. I wanted to configure my Emacs to take care of that, but only for the Strongswan source directory becauseContinue reading “Set Tab Width for Indentation in Emacs”

Multiple Network Devices in KVM

Recently I needed to build a test system at work which required a client to communicate with a server through a NAT router. I decided to assemble the system from three KVM-based virtual machines with tap networking. The router would get two network interfaces, and two bridge interfaces on the host connect server and clientContinue reading “Multiple Network Devices in KVM”

Shogun’s Glasses

After arriving in Tokyo yesterday, today was the first day of sightseeing. The first stop was Akihabara (秋葉原, “autumn leaves field”). In case you didn’t know, this area is famous for electronics and Japanese pop culture of all kinds. Two signs in the picture below indicate that this is indeed the way to Akihabara. I’llContinue reading “Shogun’s Glasses”

Get USB device information from sysfs

The Linux kernel names USB devices depending on their location on the bus. When I plug my USB flash drive into my computer, a line like this will appear in the kernel log: usb 1-4: new high speed USB device using ehci_hcd and address 7 “1-4” is the kernel’s name for the device: “1” isContinue reading “Get USB device information from sysfs”

Catch SIGTERM, exit gracefully

I knew that programs can catch a SIGTERM and exit gracefully. What I didn’t know is how to do that, and that it’s actually quite simple. You need just two things: A function that will cause your program to exit gracefully The sigaction() function and the struct of the same name, defined in the systemContinue reading “Catch SIGTERM, exit gracefully”

Design a site like this with WordPress.com
Get started