FortiGate
FortiGate Next Generation Firewall utilizes purpose-built security processors and threat intelligence security services from FortiGuard labs to deliver top-rated protection and high performance, including encrypted traffic.
ksivadas
Staff
Staff
Article Id 417489
Description This article describes the expected refresh behavior of route timers in the FortiGate routing table when a prefix is learned via two paths using the same dynamic routing protocol.
Scope FortiGate.
Solution

When a route prefix is learned from two different paths via a dynamic routing protocol such as BGP or OSPF, the route timer in the FortiGate routing table is updated whenever either path changes state (added or removed), even if the route remains in the routing table via the alternate path.

 

This timer behavior affects only the routing table. Protocol-specific tables maintain their own independent timers:

  • BGP network table: Shows how long the route has been learned from each BGP neighbor.
  • OSPF LSDB (Link-State Database):  Shows the age of LSAs learned from specific OSPF neighbors.

 

Example with OSPF:

Initial State: Route learned via two OSPF neighbors:

 

get router info routing-table details 98.98.98.98

Routing table for VRF=0
Routing entry for 98.98.98.98/32
Known via "ospf", distance 110, metric 200, best
Last update 00:18:49 ago
* via H1W1_1 tunnel 10.10.0.3 vrf 0, parent interface H1W1(24)
* via H1W1_0 tunnel 10.10.0.2 vrf 0, parent interface H1W1(24)

 

OSPF LSDB output: showing independent LSA ages:

 

get router info ospf database router lsa 10.128.202.122
Router Link States (Area 0.0.0.0)
LS age: 1249
Link State ID: 10.128.202.122
Advertising Router: 10.128.202.122

 

get router info ospf database router lsa 10.128.202.123
Router Link States (Area 0.0.0.0)
LS age: 433
Link State ID: 10.128.202.123
Advertising Router: 10.128.202.123

 

After the IPsec tunnel to 10.10.0.2 goes down, the routing table timer is reset, even though the route via 10.10.0.3 remains stable:

 

get router info routing-table details 98.98.98.98
Routing table for VRF=0
Routing entry for 98.98.98.98/32
Known via "ospf", distance 110, metric 200, best
Last update 00:00:09 ago
* via H1W1_1 tunnel 10.10.0.3 vrf 0, parent interface H1W1(24)

 

OSPF LSDB output shows the LSA age for the stable route was not reset:

 

get router info ospf database router lsa 10.128.202.123
Router Link States (Area 0.0.0.0)
LS age: 939
Link State ID: 10.128.202.123
Advertising Router: 10.128.202.123

 

Example with BGP:

Initial State: Route learned via one BGP neighbor.

 

get router info routing-table details 98.98.98.98

Routing table for VRF=0
Routing entry for 98.98.98.98/32
Known via "bgp", distance 200, metric 0
Last update 00:09:24 ago
vrf 0 10.10.0.3 priority 1 (recursive is directly connected, H1W1_1)

 

BGP network table showing the last update for the prefix:

 

get router info bgp network 98.98.98.98
VRF 0 BGP routing table entry for 98.98.98.98/32
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Local
10.10.0.3 from 10.10.0.3 (10.128.202.123)
Origin IGP distance 200 metric 0, localpref 100, valid, internal, best
Last update: Sun Nov 2 13:44:01 2025

 

After the second BGP peer, 10.10.0.,2 comes up, the Routing table timer resets:

 

get router info routing-table details 98.98.98.98

Routing table for VRF=0
Routing entry for 98.98.98.98/32
Known via "bgp", distance 200, metric 0
Last update 00:01:21 ago
vrf 0 10.10.0.2 priority 1 (recursive is directly connected, H1W1_0)
vrf 0 10.10.0.3 priority 1 (recursive is directly connected, H1W1_1)

 

The BGP network table shows an independent last update for each path:

 

get router info bgp network 98.98.98.98
VRF 0 BGP routing table entry for 98.98.98.98/32
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Local
10.10.0.2 from 10.10.0.2 (10.128.202.122)
Last update: Sun Nov 2 15:46:18 2025

Local
10.10.0.3 from 10.10.0.3 (10.128.202.123)
Last update: Sun Nov 2 13:44:01 2025

 

The BGP network table maintains independent timestamps for each path, while the routing table timer was reset when the new path was added.

 

Summary:

FortiGate refreshes the routing table timer whenever there is a change (addition or removal) to any path for the same prefix. This is expected cosmetic behavior and does not cause any issues or packet drops.

 

Protocol-specific tables (BGP network table, OSPF LSDB) maintain accurate timers for each path. If the active/best path changes, some brief traffic interruption is expected for existing sessions.