Repository navigation
prefixd 0.23.1 makes planned rustbgpd restarts clearer and shorter. A blackhole that the speaker holds from selection after its restart now reports the unexported reason selection_deferred, and the example rustbgpd configuration disables Graceful Restart on its placeholder neighbor, so in the Compose quickstart replayed rules are selected as soon as reconciliation re-adds them instead of after the 120-second restart window. There is no migration and no configuration change; copy the updated alert rules.
Upgrade notes
-
Follow v0.23.0 → 0.23.1 in the upgrade guide: replace the controller and dashboard, then copy
grafana/prometheus-alerts.yml. No migration, adoption step or configuration change is required, and rustbgpd stays at 0.80.1. -
selection_deferredis a new value of thereasonlabel onprefixd_blackhole_unexportedand of the blackhole export warning. Check your own queries and silences that matchreason="pending". -
If you based your rustbgpd configuration on the shipped example, set
graceful_restart = falseon any neighbor that never comes up, or remove that neighbor. See speaker upgrade notes.
Known limitations
- After a planned speaker restart, rustbgpd v0.80.x holds injected routes, blackholes included, from selection while any Graceful Restart peer is down, until that peer sends End-of-RIB or
gr_restart_timeexpires (120 seconds by default).MarkReplayCompletedoes not end the hold. Disable Graceful Restart on peers that never come up. The example configuration change removes only its placeholder neighbor's hold. prefixd reports a held blackhole asselection_deferredand cannot end the hold. - The 0.23.0 known limitations otherwise still apply.
Changed
- A blackhole that every Established peer reports as pending with rustbgpd's
selection_deferredreason now carries the unexported reasonselection_deferredinstead ofpending, in detail, health andprefixd_blackhole_unexported{reason}. The speaker accepted the route but holds route selection after its restart until Graceful Restart peers send End-of-RIB or the restart window expires. Health staysdegradedwhile the route is exported to no peer. A mix of pending reasons stayspending.PrefixdBlackholeNotExportedadds a hint for the new reason and keeps its five-minute window, which outlasts the default 120-second hold.
Fixed
- The example
configs/rustbgpd.tomldisables Graceful Restart on its placeholder neighbor. That neighbor never connects, so after each planned rustbgpd restart in the Compose quickstart, replayed FlowSpec rules were held from selection until the restart window (gr_restart_time, 120 seconds by default) expired. They are now selected as soon as reconciliation re-adds them. Enable Graceful Restart on real peers that support it.
Artifacts
Container images, tagged 0.23.1 and 0.23:
ghcr.io/lance0/prefixd@sha256:15b34cd17c2f3a0ee8f6716482bb5e7a07da8804f407334897d601e0babee389ghcr.io/lance0/prefixd-dashboard@sha256:6ea41bfe9605b318d951efa7c756e93819bfff4f9a3a1c49628c03d91b6e084a
SHA256SUMS:
9a6f9f91dea493ddb4be657a29c4e5d3fefeda2705ce6cffcf91467a4865d4af prefixd-linux-amd64.tar.gz
f6922b051fea82400ee7464ab06d768ccc59c10d592f6e6fe7ff4c61bdf64c61 prefixd-sbom.cdx.json
Full changelog: v0.23.0...v0.23.1