Networking Architecture
PiVirt delivers software-defined networking (SDN) spanning single-node bridge topologies, 802.1Q VLAN isolation, cross-host VXLAN overlays, and SR-IOV hardware passthrough.
Network Modes
Section titled “Network Modes”Bridge Networking (Default)
Section titled “Bridge Networking (Default)”VM ←veth→ linux-bridge ←phys→ uplinkSimple layer-2 connectivity through a Linux bridge.
VLAN Tagging
Section titled “VLAN Tagging”VM ←veth→ linux-bridge (vlan=100) ←phys→ trunk port802.1q VLAN tagging for network segmentation.
VXLAN Overlay
Section titled “VXLAN Overlay”VM ←veth→ vxlan0 ←UDP:4789→ vxlan0 ←veth→ VM (remote host)Overlay networks for multi-host deployments.
SR-IOV Passthrough
Section titled “SR-IOV Passthrough”VM ←VF→ Physical NIC (no bridge)Direct hardware access for maximum performance.
Network Configuration
Section titled “Network Configuration”Bridge Network
Section titled “Bridge Network”network: default_bridge: "virbr0" bridges: - name: "virbr0" type: "bridge" interface: "eth0" vlan_aware: trueVLAN Network
Section titled “VLAN Network”network: vlans: - name: "vlan10" bridge: "virbr0" vlan_id: 10VXLAN Network
Section titled “VXLAN Network”network: vxlans: - name: "vxlan100" vni: 100 local_ip: "10.0.1.10" remote_ips: ["10.0.1.11", "10.0.1.12"]VM Network Interfaces
Section titled “VM Network Interfaces”spec: nics: - name: eth0 network: virbr0 model: virtio mac: "aa:bb:cc:dd:ee:01" queues: 2 # Multi-queueNetwork Policies
Section titled “Network Policies”Isolation
Section titled “Isolation”apiVersion: pivirt.pilab.hu/v1kind: NetworkPolicymetadata: name: web-isolation namespace: productionspec: podSelector: matchLabels: app: web ingress: - from: - namespaceSelector: matchLabels: name: monitoring ports: - protocol: TCP port: 80Bandwidth Limits
Section titled “Bandwidth Limits”spec: nics: - name: eth0 network: virbr0 bandwidth: ingress: rate: "100Mbps" burst: "150Mbps" egress: rate: "50Mbps" burst: "75Mbps"IP Address Management
Section titled “IP Address Management”spec: nics: - name: eth0 network: virbr0 ipam: mode: dhcpStatic IP
Section titled “Static IP”spec: nics: - name: eth0 network: virbr0 ipam: mode: static address: "10.0.1.100/24" gateway: "10.0.1.1" dns: ["8.8.8.8", "8.8.4.4"]