Skip to main content
fwilliams
Staff & Editor
Staff & Editor
February 27, 2023

Technical Tip: BFD with Graceful Restart on FortiGate

  • February 27, 2023
  • 0 replies
  • 7945 views

Description

This article describes what to expect if Graceful Restart is implemented with BFD on FortiGate.

Scope

FortiGate.

Solution

Graceful Restart lets FortiGate inform its adjacent neighbor that it will be undergoing a restart, and routes learned from it (FortiGate) should be preserved for this period of rebooting.

 

For BGP graceful restart to work, the hold-timer must be large enough so that the peer will not detect the hold-timer expiring. If an aggressive hold-timer is used, a graceful restart will not work

 

Graceful restart resides in the control plane, and it is woven into each control plane protocol it serves.

For example, BGP graceful restart (RFC 4724) is different from OSPF graceful restart (RFC 3623).

 

While BFD, on the other hand, resides in the data plane and detects data plane failures.

This operational difference makes implementing BFD alongside graceful restart an option that should be carefully considered.

 

BGP graceful restart or OSPF graceful restart doesn’t work with BFD, and it is not recommended.

For instance, if it is configured between FortiGate (on-premises router) and GCP (Google Cloud Platform), according to Google, GCP will turn off BFD and send AdminDown [BFD Event:  bfd disabled, state [Up, NoDiagnostic] to [AdminDown, AdminDown] to the on-premises router, but FortiGate will not respond to the AdminDown, and will interpret it as BFD is DOWN on the neighbor ('Neighbor Signaled Session Down', not 'Administratively Down').

 

For more information on BFD/graceful restart on GCP: Google Cloud: Graceful restart and BFD.

 

In a scenario where a FortiGate and a Juniper are BGP/BFD peers, the same behaviour can occur. According to the Juniper documentation below, it is better not to use BFD in conjunction with Graceful Restart:  Juniper: Using Control Plane Dependent BFD along with Graceful Restart Helper Mode 

 

To implement BFD/Graceful restart at all costs, consider the following workaround:

Under 'config router bfd', fine-tune the following parameters:

 

bfd-desired-min-tx : 500   
bfd-required-min-rx : 600
bfd-detect-mult : 4


Increase the numbers until it works.

Related documents:

Technical Tip: How FortiGate calculates BFD timers (Transmit Interval, Detection Time) 

Bidirectional Forwarding Detection (BFD)

    Virtual event | September 2026. SASE summit. The age of autonomous trust. Register here!