| Description | This article describes a multicast routing issue in a FortiGate ADVPN hub-and-spoke deployment, where multicast traffic forwarded by the hub based on the multicast routing table is received by only one spoke when hardware offloading is enabled on the hub. |
| Scope | All FortiGate hardware models, Multicast Routing. |
| Solution |
In the standard ADVPN hub-and-spoke topology described below, multicast PIM-SM (PIMv3) is enabled on the hub and both spokes.
The hub FortiGate 200F interface x3, which serves as the gateway for the multicast source, is configured as the multicast Rendezvous Point (RP). The hub forwards multicast traffic from the source to all spokes based on the multicast routing table.
BGP peering is established between the hub and spokes over the IPsec tunnel VPN1, allowing each spoke to learn the unicast route toward both the multicast source and the RP.
Part of the Multicast configuration on Hub and Spoke is as below:
Hub:
FortiGate-201F (multicast) # sh
Spoke1:
spoke1 # config router multicast Spoke2:
Spoke2 (multicast) # sh
Once a multicast receiver is registered to a spoke via an IGMP membership report, each spoke successfully joins the RP as well.
For example, on Spoke 1, the multicast routing table shows that group 234.5.6.7 is received from the RPF neighbor 169.254.96.253 (the hub) via the IPsec tunnel VPN1. The routing table on Spoke 2 shows similar output.
spoke1 # get router info multicast pim sparse-mode table
On the hub, the multicast routing table confirms that downstream receivers (spokes) have joined, and multicast traffic for group 234.5.6.7 sourced from 10.2.2.78 is forwarded out via VPN1.:
FortiGate-201F # get router info multicast pim sparse-mode table
Despite correct multicast routing state on both the hub and spokes, packet captures reveal that only one spoke receives continuous multicast traffic at any given time.
For example, in below packet capture below, Spoke 1 receives only the first two multicast packets and then stops. Spoke 2 continues to receive multicast packets without interruption. If multicast traffic stops and restarts, the issue may switch to the other spoke.
Spoke1:
Spoke1 # diagnose sniffer packet any 'host 234.5.6.7' 4 0 l Spoke2:
Spoke2 # diagnose sniffer packet any 'host 234.5.6.7' 4 0 l
This issue can be addressed by disabling the hardware acceleration either on the Multicast policy on the Hub, or the IPsec phase1 setting.
To disable the hardware acceleration on the Multicast policy that forwards the traffic to the IPsec tunnel on the Hub FortiGate 200F:
config firewall multicast-policy
Alternatively, to disable the hardware acceleration on the IPsec phase1 on the Hub:
config vpn ipsec phase1-interface edit VPN1 set npu-offload disable next end
Applying either of these workarounds resolves the issue, allowing both spokes to consistently receive multicast traffic from the hub.
This behavior is caused by a hardware acceleration limitation when FortiGate NPUs handle multicast session replication over IPsec in a multicast routing scenario. As a result, only one copy of the multicast stream is forwarded to a single spoke. Disabling hardware acceleration for multicast traffic on the hub is recommended in this scenario.
Note: |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2026 Fortinet, Inc. All Rights Reserved.