Sources for the network pages¶
You want to check a statement on the network pages against the file or record it came from. The list is from the earlier docs page; the entries were not all re-read, and what each file is said to show was not re-checked. Line numbers into the poe scripts are from the earlier page.
In fpgas.online-infra (main)¶
VLAN-per-port network design for fpgas.online: the goals and non-goals, the addressing and VLAN formulas and their reading rule, the trunk/access/management port model, the failure-modes list, the
fpgas-switch-setupbehaviour and ordering rule, the host_vars schema.VLAN-per-port network: hardware prototype runbook: stages 6, 7 and 8 (isolation matrix, port identity, quarantine), the per-VLAN gateway IPv6 address, the CLI exit codes, and the
commitFailedand two-seconds-per-operation quirks.ansible/site.yml:vlan_portsandswitch_vlansboth gated onwhen: switches is defined.ansible/inventory/group_vars/all/srv.yml: thetftp_rootexpression, the other placeswitches is defineddecides behaviour.ansible/inventory/host_vars/fpgas.online.yml: theswitches:list, the confirmed 2026-08-22 cabling and access-port counts,pib_network,pib_network6_base, the/16eth_local_netmaskand why it is not/24, the note thatdhcp_rangeis deliberately absent, the vaulted per-switch write communities.ansible/inventory/host_vars/ps1.fpgas.online.yml: the legacypib_network: 10.21.0, the flat/24eth_local_netmaskanddhcp_range,switch.nosand the100+portaddress expression.tests/inventory/host_vars/test-vm.yml: the CI VM’s single-access-portswitches:entry andswitches_manage: false.ansible/filter_plugins/port_vlans.py: the single implementation of the per-port formulas.ansible/roles/vlan_ports/tasks/main.ymland itstemplates/: the per-port netdev/network files, the/32gateway IPv4 and the/64per-switch gateway IPv6, proxy ARP, the trunk’s 1504-byte MTU.ansible/roles/switch_vlans/tasks/main.yml: the CLI venv,/etc/fpgas/switches.yml, the per-switch converge withFPGAS_SWITCH_COMMUNITYfrom a vaulted variable.ansible/roles/firewall/templates/nftables.conf.j2: theswitches is definedsplit, theforwardchain’spolicy dropwithv*tov*falling through to it, both DNAT port formulas.ansible/roles/pxe/templates/ports.conf.j2anddnsmasq-base.conf.j2: onedhcp-rangeper interface tag, thehost-recordnames, the quarantine pool and its one-hour lease, the deliberate absence of MAC addresses.ansible/roles/netif/tasks/main.ymlandtemplates/link.j2: the gateway’s MAC-matched.linkfiles, theType=etherguard against matching VLAN children, the one-time reboot.ansible/roles/site/tasks/snmp.yml: the/etc/environment.exportsvariablespoe.shneeds,pi_portsbuilt fromswitch.nos, theswitch.mpi_port is definedguard, skipped on per-port hosts by design.TECHDEBT.md: the onboard-versus-dongle enumeration incident and theeth-uplink/eth-fpganaming that followed.
In other repositories¶
fpgas.online-poe:
README.mdfor thefpgas-switch-setupinvocation, its owned VLAN range and exit codes, and the SNMP environment variables;scripts/poe.sh(lines 37-88: the sourced env file, theutils.pycall, and the deadsnmpget.py/snmpset.pyblock at 67-88, after theexiton line 65),scripts/allpoe.sh(lines 6-14) andscripts/allpoeoff.sh(lines 5-30: the hardcodedseq 1 48and legacy10.21.0/100bases, and the commented-out shutdown loop). See The PoE scripts.fpgas.online-test-designs:
docs/hardware/acorn-pinmap.md, the troubleshooting table, for the 0.4 W wedged-Pi symptom and the manual S3300 PoE cycle;docs/verify-hardware.mdfor the two-minute power-on-to-SSH figure.fpgas.online-setup-pi:
README.mdfor the package contents,nfpm.yamlfor where the.linkfiles are installed, andfixpi/etc/systemd/network/{11-eth-uplink,12-eth-fpga}.linkfor thePath=matches themselves.fpgas.online-gw:
README.mdfor the slug-to-address derivation, PoE control by board slug, and the note that the API documentation lands with the implementation on an unmerged branch.fpgas-online.github.io:
site/index.html, “How It Works”, for the user-facing “isolated networks” claim.