// Package birdfmt builds BIRD 2 configuration text: main bird.conf skeleton, include // fragments under bird.d/, export filters, static route protocols, BGP templates, and // BGP peer protocols (from template or standalone). Runtime helpers parse-check configs // (bird -p) and reload (birdc configure). // // # Layout // // Operator keeps a stable bird.conf (or generated skeleton) next to EvoBGP fragments: // // bird.conf — router id, protocol device, protocol direct, include lines // bird.d/evobgp_*.conf — generated prefixes, filters, BGP templates, peers (names from constants) // // Include order should list filter definitions before protocols that reference them // (see StandardIncludeFragments). // // # Apply workflow // // 1. Write new fragment files to a staging directory, run bird -c -p. // 2. Atomically swap staging → live config dir, then birdc configure (see BirdCtl). package birdfmt