Reorganize the brownfield repository, remove retired and generated artifacts, harden ignore rules, and record the GitOps/IaC redesign.
34 lines
1.3 KiB
Django/Jinja
34 lines
1.3 KiB
Django/Jinja
# {{ ansible_managed }}
|
|
# Bridge for emulator TAP interfaces. Separate from 50-cloud-init.yaml on
|
|
# purpose: cloud-init rewrites its own file, and it only claims the primary
|
|
# NIC (matched by MAC), so this file can own the second NIC without conflict.
|
|
network:
|
|
version: 2
|
|
ethernets:
|
|
{{ tap_bridge_member }}:
|
|
match:
|
|
macaddress: "{{ tap_bridge_member_mac }}"
|
|
set-name: {{ tap_bridge_member }}
|
|
dhcp4: false
|
|
dhcp6: false
|
|
accept-ra: false
|
|
# optional: do not let systemd-networkd-wait-online block boot for a port
|
|
# that has no L3 config and may have nothing plugged behind it.
|
|
optional: true
|
|
bridges:
|
|
{{ tap_bridge_name }}:
|
|
interfaces: [{{ tap_bridge_member }}]
|
|
dhcp4: false
|
|
dhcp6: false
|
|
accept-ra: false
|
|
optional: true
|
|
parameters:
|
|
# STP off + zero forward delay: taps appear and disappear every time an
|
|
# emulated machine is powered on. With STP the bridge would hold each
|
|
# new port in learning state for ~15s and silently drop the guest's
|
|
# first packets, which looks exactly like a broken guest TCP/IP stack.
|
|
# Safe here because this bridge has a single uplink -- no loop is
|
|
# possible.
|
|
stp: false
|
|
forward-delay: 0
|