Skip to content

A Toolset for the Internet of Threads (IoTh): Fine-Grained IPv6 Networking in User Space#

FOSDEM 2026 digest Program Wildcard pick 31 January – 1 February 2026

Renzo Davoli

  • Why: A genuinely novel networking model: instead of containers or VMs, assign full IPv6 identities — addresses, routing, protocol stacks — to individual processes or threads, using user-space TCP/IP stacks. Not on any roadmap you'd be reading, but it reframes what "identity" means at the network layer.
  • What: A complete toolchain: libioth (pluggable user-space stack framework with a Berkeley-sockets API where the stack is chosen at runtime — stacks include vdestack, which recycles the kernel TCP/IP stack via a dedicated netns thread + TUN/TAP, a picoTCP-ng-based stack, and a lwIP proof of concept), netlink configuration libraries (libnlq, and nlinline implemented entirely in a header file), one-string stack configuration (iothconf: "stack=vdestack,vnl=...,eth,dhcp"), plus DNS tooling.
  • How: The DNS layer is the interesting part: hash-based IPv6 addressing (names deterministically hash to addresses within a prefix, with reverse DNS), OTIP one-time IPv6 addresses for privacy, and namedhcp, a DHCPv6 server that assigns addresses by looking up the node's FQDN in DNS — so a node's identity is its name, and addressing follows.
  • Where applicable: Experimental/research; useful today for sandboxed per-service networking, testing, and VDE-based virtual labs. The FQDN-as-address-source idea and the netlink-configuration libraries are the transferable bits.