[PR #297] [CLOSED] Merge Zerotier network backend support #408

Open
opened 2026-01-31 21:31:09 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/qemu/qemu/pull/297
Author: @DatanoiseTV
Created: 8/28/2025
Status: Closed

Base: masterHead: zerotier-network-backend


📝 Commits (10+)

  • 81ac9a9 Add ZeroTier network backend support to QEMU
  • 66bfaba Add ZeroTier network backend for QEMU
  • e25ef1b Implement persistent storage and dual network setup for ZeroTier
  • 14f867f Optimize ZeroTier performance with event-driven I/O and add persistent disk
  • e42c857 Add ZeroTier network backend documentation to README
  • b7200c2 Optimize ZeroTier UDP packet processing to reduce packet loss
  • fd7d288 Remove verbose debugging to eliminate performance bottlenecks
  • c16c995 Adopt QEMU standard network driver patterns for better performance
  • 22141e7 Add Debian packaging support for QEMU ZeroTier
  • 38ec0c9 Fix Debian build script with robust ZeroTier library handling

📊 Changes

35 files changed (+1694 additions, -6 deletions)

View changed files

.DS_Store (+0 -0)
📝 .gitignore (+9 -0)
📝 .gitmodules (+3 -0)
DEBIAN-PACKAGE.md (+136 -0)
README-ZeroTier.md (+99 -0)
📝 README.rst (+33 -0)
build-deb.sh (+241 -0)
debian/changelog (+11 -0)
debian/compat (+1 -0)
debian/control (+66 -0)
debian/copyright (+64 -0)
debian/qemu-system-zerotier.install (+5 -0)
debian/qemu-system-zerotier.postinst (+37 -0)
debian/qemu-system-zerotier.postrm (+16 -0)
debian/qemu-zerotier-utils.install (+4 -0)
debian/rules (+76 -0)
debian/source/format (+1 -0)
include/net/clients.h (+2 -0)
📝 meson.build (+30 -0)
📝 meson_options.txt (+2 -0)

...and 15 more files

📄 Description

This experimental commit adds support for ZeroTier as a network backend, which acts as a private internet-wide layer 2 network.

Features:

Direct Layer 2 Ethernet integration with ZeroTier networks
Event-driven packet processing for high performance (800+ Mbps throughput)
Persistent ZeroTier identity and network credentials
Automatic MAC address assignment from ZeroTier
Low latency (1-7ms typical)

Usage::

qemu-system-x86_64
-netdev user,id=net0
-device virtio-net,netdev=net0
-netdev zerotier,id=zt0,network=<network_id>,storage=<storage_path>
-device virtio-net,netdev=zt0

Note: For bidirectional connectivity, you may need to run arping from the VM
to establish ARP table entries before external hosts can ping the VM.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/qemu/qemu/pull/297 **Author:** [@DatanoiseTV](https://github.com/DatanoiseTV) **Created:** 8/28/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `zerotier-network-backend` --- ### 📝 Commits (10+) - [`81ac9a9`](https://github.com/qemu/qemu/commit/81ac9a9b38a880641a9e4651d4b4cbdd23e4f6f9) Add ZeroTier network backend support to QEMU - [`66bfaba`](https://github.com/qemu/qemu/commit/66bfaba1e80e43f647d83ce2a0227f47ff386928) Add ZeroTier network backend for QEMU - [`e25ef1b`](https://github.com/qemu/qemu/commit/e25ef1bd37146f2a99de048c3d38efb83f3db85e) Implement persistent storage and dual network setup for ZeroTier - [`14f867f`](https://github.com/qemu/qemu/commit/14f867f53ac69b39aac138199c7da5b0639f588a) Optimize ZeroTier performance with event-driven I/O and add persistent disk - [`e42c857`](https://github.com/qemu/qemu/commit/e42c8579e142db357a3f0fb868fed0327b2c405f) Add ZeroTier network backend documentation to README - [`b7200c2`](https://github.com/qemu/qemu/commit/b7200c2740cdea0b1b13ebe17b67912d4dca00c1) Optimize ZeroTier UDP packet processing to reduce packet loss - [`fd7d288`](https://github.com/qemu/qemu/commit/fd7d2884a00ba28b0da4bf9d72d119a8772f1bcb) Remove verbose debugging to eliminate performance bottlenecks - [`c16c995`](https://github.com/qemu/qemu/commit/c16c9959caf4bec5559a829e76ca26346273da0f) Adopt QEMU standard network driver patterns for better performance - [`22141e7`](https://github.com/qemu/qemu/commit/22141e7ed5e353c51e6e33e40d7ea1853f73f123) Add Debian packaging support for QEMU ZeroTier - [`38ec0c9`](https://github.com/qemu/qemu/commit/38ec0c9d221ded99c90d97c082b5b5b782d2ebcd) Fix Debian build script with robust ZeroTier library handling ### 📊 Changes **35 files changed** (+1694 additions, -6 deletions) <details> <summary>View changed files</summary> ➕ `.DS_Store` (+0 -0) 📝 `.gitignore` (+9 -0) 📝 `.gitmodules` (+3 -0) ➕ `DEBIAN-PACKAGE.md` (+136 -0) ➕ `README-ZeroTier.md` (+99 -0) 📝 `README.rst` (+33 -0) ➕ `build-deb.sh` (+241 -0) ➕ `debian/changelog` (+11 -0) ➕ `debian/compat` (+1 -0) ➕ `debian/control` (+66 -0) ➕ `debian/copyright` (+64 -0) ➕ `debian/qemu-system-zerotier.install` (+5 -0) ➕ `debian/qemu-system-zerotier.postinst` (+37 -0) ➕ `debian/qemu-system-zerotier.postrm` (+16 -0) ➕ `debian/qemu-zerotier-utils.install` (+4 -0) ➕ `debian/rules` (+76 -0) ➕ `debian/source/format` (+1 -0) ➕ `include/net/clients.h` (+2 -0) 📝 `meson.build` (+30 -0) 📝 `meson_options.txt` (+2 -0) _...and 15 more files_ </details> ### 📄 Description This experimental commit adds support for [ZeroTier](https://www.zerotier.com/) as a network backend, which acts as a private internet-wide layer 2 network. Features: Direct Layer 2 Ethernet integration with ZeroTier networks Event-driven packet processing for high performance (800+ Mbps throughput) Persistent ZeroTier identity and network credentials Automatic MAC address assignment from ZeroTier Low latency (1-7ms typical) Usage:: qemu-system-x86_64 \ -netdev user,id=net0 \ -device virtio-net,netdev=net0 \ -netdev zerotier,id=zt0,network=<network_id>,storage=<storage_path> \ -device virtio-net,netdev=zt0 Note: For bidirectional connectivity, you may need to run arping from the VM to establish ARP table entries before external hosts can ping the VM. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 21:31:09 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/qemu#408