Description | This article describes how to handle ECMP traffic on FortiGate 6000. |
Scope | FortiGate 6K. |
Solution |
The FortiGate-6000 distributes traffic across multiple FPCs for scalability.
By default, sessions are hashed to a specific FPC based on Source IP, Destination IP, Protocol, and Port (5-tuple hash). This ensures that return traffic for the same session goes back to the same FPC. If all packets of a session land on the same FPC, session state is maintained locally within that FPC
When FortiGate 6000 is configured with ECMP, users may experience random session drops. This is because different FPCs handle the traffic on Ingress and Egress
The following is an example of a debug output:
[FPC06] id=65308 trace_id=1002 func=print_pkt_detail line=5938 msg="vd-root:0 received a packet(proto=17, 10.X.X.35:35968->10.X.X.50:161) tun_id=0.0.0.0 from ZZZ-Servers. "
Due to the ECMP route, the traffic is sent to the destination via Port 28, and the return traffic is received on Port 27. In the debug flow above, the initial packet is processed by FPC06, and the return traffic is handled by FPC05.
To avoid this situation, make 2 changes on the FortiGate6000.
This is required because the FortiGate-6000 uses a distributed architecture with multiple DP processors, and VDOM-based session tables ensure proper session handling in an ECMP environment.
Enable VDOM-Based Session Tables:
Before configuring ECMP, run the following command in the global CLI configuration mode:
config global config system settings set vdom-session-mode enable end end
This command ensures that session tables are maintained per-VDOM, which is necessary for proper ECMP operation on the FortiGate-6000.
When ECMP is enabled, TCP traffic for the same session can exit and enter the FortiGate on different interfaces. To allow this traffic to pass through, FortiOS creates auxiliary sessions. Allowing the creation of auxiliary sessions is handled with the following command:
Apply the changes on the respective VDOMs:
config vdom edit root config system settings set auxiliary-sessions enable end end
By default, the auxiliary-session option is disabled. This can block some TCP traffic when ECMP is enabled. If this occurs, enabling auxiliary-session may solve the problem. |
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 2025 Fortinet, Inc. All Rights Reserved.