Summary

  • BGP sessions returned to Established while Router B had no IPv4 or IPv6 prefixes for 121 seconds.
  • Marian Rychtecký traced the delay through End-of-RIB timing to a truncated IPv6 peer address that triggered a TCP reset.

A green “Established” label and an empty route table can coexist. Marian Rychtecký’s NANOG 98 presentation starts with that awkward pairing: during a firewall high-availability upgrade, a routing session came back, but the routes did not. For 121 seconds, Router B had no IPv4 or IPv6 prefixes in its RIB. Traffic still went toward the firewall, which lacked the expected routes and stopped advertising them. The result was a black hole, not a graceful handoff.

The team had enabled BGP Graceful Restart to soften the failover. The mechanism is designed to limit routing disruption across a restart: a peer may retain routes as stale while forwarding state is preserved, then replace them as the restarting speaker sends fresh updates. End-of-RIB marks completion of the initial update for an address family. Those are protocol signals about routing state; they do not certify that a firewall can forward the traffic now reaching it.

The timing pointed to the wait. Rychtecký says End-of-RIB arrived nearly two minutes after the failover, close to a 120-second reconnect timer. The speaker’s troubleshooting traced the hold-up to the IPv6 BGP session: until the expected marker arrived, route selection remained deferred and IPv4 routes were held back too. A session could read Established while the table remained empty.

Packet captures exposed a TCP RST on the new connection. In the deck’s final diagnosis, the expected IPv6 peer 2001:db8:1::2 had been stored as 2001:db8:1:. The truncated address prevented the system from finding the right VRF and BGP context; it fell into unknown VRF ID 0 and sent a reset. A small BIRD lab test helped Rychtecký separate the protocol’s intended restart behavior from the implementation fault. He lists a one-second connect timer as a workaround in this setup.

That is the useful distinction: Graceful Restart can preserve routes only when the forwarding state it relies on still exists. Here, the recovery marker arrived late because a malformed peer identity stalled the route exchange, while the service path had already gone dark. The session status reported a conversation; the route table and packets reported the outage.

The presentation does not publish its packet captures or identify the vendors; a sanitized trace or official issue record would let readers independently inspect the parsing chain. NANOG’s session record identifies Rychtecký as NIX.CZ’s CTO. The case details come from his official NANOG slide deck; the mechanism is specified in RFC 4724. NANOG’s official speaker portrait grounds the featured image.