Volt VMM (Neutron Stardust): source-available under AGPSL v5.0
KVM-based microVMM for the Volt platform: - Sub-second VM boot times - Minimal memory footprint - Landlock LSM + seccomp security - Virtio device support - Custom kernel management Copyright (c) Armored Gates LLC. All rights reserved. Licensed under AGPSL v5.0
This commit is contained in:
25
networking/systemd/90-volt-tap.link
Normal file
25
networking/systemd/90-volt-tap.link
Normal file
@@ -0,0 +1,25 @@
|
||||
# Link configuration for Volt TAP devices
|
||||
# Ensures consistent naming and settings for VM TAPs
|
||||
#
|
||||
# Install: cp 90-volt-vmm-tap.link /etc/systemd/network/
|
||||
|
||||
[Match]
|
||||
# Match TAP devices created by Volt
|
||||
# Pattern: tap-<vm-id> or nova-tap-<vm-id>
|
||||
OriginalName=tap-* nova-tap-*
|
||||
Driver=tun
|
||||
|
||||
[Link]
|
||||
# Don't rename these devices (we name them explicitly)
|
||||
NamePolicy=keep
|
||||
|
||||
# Enable multiqueue for better performance
|
||||
# (requires TUN_MULTI_QUEUE at creation time)
|
||||
# TransmitQueues=4
|
||||
# ReceiveQueues=4
|
||||
|
||||
# MTU (match bridge MTU)
|
||||
MTUBytes=1500
|
||||
|
||||
# Disable wake-on-lan (not applicable)
|
||||
WakeOnLan=off
|
||||
17
networking/systemd/90-volt-veth.link
Normal file
17
networking/systemd/90-volt-veth.link
Normal file
@@ -0,0 +1,17 @@
|
||||
# Link configuration for Volt/Voltainer veth devices
|
||||
# Ensures consistent naming and settings for container veths
|
||||
#
|
||||
# Install: cp 90-volt-vmm-veth.link /etc/systemd/network/
|
||||
|
||||
[Match]
|
||||
# Match veth host-side devices
|
||||
# Pattern: veth-<container-id> or nova-veth-<id>
|
||||
OriginalName=veth-* nova-veth-*
|
||||
Driver=veth
|
||||
|
||||
[Link]
|
||||
# Don't rename
|
||||
NamePolicy=keep
|
||||
|
||||
# MTU
|
||||
MTUBytes=1500
|
||||
14
networking/systemd/volt-tap@.network
Normal file
14
networking/systemd/volt-tap@.network
Normal file
@@ -0,0 +1,14 @@
|
||||
# Template for TAP device attachment to bridge
|
||||
# Used with systemd template instances: nova-tap@vm123.network
|
||||
#
|
||||
# This is auto-generated per-VM, showing the template
|
||||
|
||||
[Match]
|
||||
Name=%i
|
||||
|
||||
[Network]
|
||||
# Attach to the Volt bridge
|
||||
Bridge=nova0
|
||||
|
||||
# No IP on the TAP itself (VM gets IP via DHCP or static)
|
||||
# The TAP is just a L2 pipe to the bridge
|
||||
14
networking/systemd/volt-veth@.network
Normal file
14
networking/systemd/volt-veth@.network
Normal file
@@ -0,0 +1,14 @@
|
||||
# Template for veth host-side attachment to bridge
|
||||
# Used with systemd template instances: nova-veth@container123.network
|
||||
#
|
||||
# This is auto-generated per-container, showing the template
|
||||
|
||||
[Match]
|
||||
Name=%i
|
||||
|
||||
[Network]
|
||||
# Attach to the Volt bridge
|
||||
Bridge=nova0
|
||||
|
||||
# No IP on the host-side veth
|
||||
# Container side gets IP via DHCP or static in its namespace
|
||||
30
networking/systemd/volt0.netdev
Normal file
30
networking/systemd/volt0.netdev
Normal file
@@ -0,0 +1,30 @@
|
||||
# Volt shared bridge device
|
||||
# Managed by systemd-networkd
|
||||
# Used by both Volt VMs (TAP) and Voltainer containers (veth)
|
||||
#
|
||||
# Install: cp nova0.netdev /etc/systemd/network/
|
||||
# Apply: systemctl restart systemd-networkd
|
||||
|
||||
[NetDev]
|
||||
Name=nova0
|
||||
Kind=bridge
|
||||
Description=Volt unified VM/container bridge
|
||||
|
||||
[Bridge]
|
||||
# Forward delay for fast convergence (microVMs boot fast)
|
||||
ForwardDelaySec=0
|
||||
|
||||
# Enable hairpin mode for container-to-container on same bridge
|
||||
# This allows traffic to exit and re-enter on the same port
|
||||
# Useful for service mesh / sidecar patterns
|
||||
HairpinMode=true
|
||||
|
||||
# STP disabled by default (single bridge, no loops)
|
||||
# Enable if creating multi-bridge topologies
|
||||
STP=false
|
||||
|
||||
# VLAN filtering (optional, for multi-tenant isolation)
|
||||
VLANFiltering=false
|
||||
|
||||
# Multicast snooping for efficient multicast
|
||||
MulticastSnooping=true
|
||||
62
networking/systemd/volt0.network
Normal file
62
networking/systemd/volt0.network
Normal file
@@ -0,0 +1,62 @@
|
||||
# Volt bridge network configuration
|
||||
# Assigns IP to bridge and configures DHCP server
|
||||
#
|
||||
# Install: cp nova0.network /etc/systemd/network/
|
||||
# Apply: systemctl restart systemd-networkd
|
||||
|
||||
[Match]
|
||||
Name=nova0
|
||||
|
||||
[Network]
|
||||
Description=Volt unified network
|
||||
|
||||
# Bridge IP address (gateway for VMs/containers)
|
||||
Address=10.42.0.1/24
|
||||
|
||||
# Enable IP forwarding for this interface
|
||||
IPForward=yes
|
||||
|
||||
# Enable IPv6 (optional)
|
||||
# Address=fd42:nova::1/64
|
||||
|
||||
# Enable LLDP for network discovery
|
||||
LLDP=yes
|
||||
EmitLLDP=customer-bridge
|
||||
|
||||
# Enable built-in DHCP server (systemd-networkd DHCPServer)
|
||||
# Alternative: use dnsmasq or external DHCP
|
||||
DHCPServer=yes
|
||||
|
||||
# Configure masquerading (NAT) for external access
|
||||
IPMasquerade=both
|
||||
|
||||
[DHCPServer]
|
||||
# DHCP pool range
|
||||
PoolOffset=2
|
||||
PoolSize=252
|
||||
|
||||
# Lease time
|
||||
DefaultLeaseTimeSec=3600
|
||||
MaxLeaseTimeSec=86400
|
||||
|
||||
# DNS servers to advertise
|
||||
DNS=10.42.0.1
|
||||
# Use host's DNS if available
|
||||
# DNS=_server_address
|
||||
|
||||
# Router (gateway)
|
||||
Router=10.42.0.1
|
||||
|
||||
# Domain
|
||||
# EmitDNS=yes
|
||||
# DNS=10.42.0.1
|
||||
|
||||
# NTP server (optional)
|
||||
# NTP=10.42.0.1
|
||||
|
||||
# Timezone (optional)
|
||||
# Timezone=UTC
|
||||
|
||||
[Route]
|
||||
# Default route through this interface for the subnet
|
||||
Destination=10.42.0.0/24
|
||||
Reference in New Issue
Block a user