Skip to content

v0.23.1

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Oct 17:14
· 11 commits to main since this release
2592a8b

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_deferred is a new value of the reason label on prefixd_blackhole_unexported and of the blackhole export warning. Check your own queries and silences that match reason="pending".

  • If you based your rustbgpd configuration on the shipped example, set graceful_restart = false on 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_time expires (120 seconds by default). MarkReplayComplete does 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 as selection_deferred and 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_deferred reason now carries the unexported reason selection_deferred instead of pending, in detail, health and prefixd_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 stays degraded while the route is exported to no peer. A mix of pending reasons stays pending. PrefixdBlackholeNotExported adds a hint for the new reason and keeps its five-minute window, which outlasts the default 120-second hold.

Fixed

  • The example configs/rustbgpd.toml disables 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:15b34cd17c2f3a0ee8f6716482bb5e7a07da8804f407334897d601e0babee389
  • ghcr.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