Fortinet black logo

Hardware Acceleration

DoS policy hardware acceleration

DoS policy hardware acceleration

DoS policy hardware acceleration offloads processing required for IPv4 and IPv6 DoS policies, interface policies, and access control list (ACL) policies to NP7 processors.

Use the following command to configure DoS policy offloading:

config system npu

set policy-offload-level {dos-offload | full-offload}

config dos-options

set npu-dos-meter-mode {global | local}

set npu-dos-tpe-mode {disable | enable}

end

policy-offload-level can be set to dos-offload or full-offload to support DoS policy hardware acceleration. full-offload is only available if your FortiGate is licensed for hyperscale firewall support.

npu-dos-meter-mode select global (the default) to configure DoS metering across all NP7 processors. Select local to configure metering per NP7 processor.

DoS metering controls how the threshold for each configured anomaly is distributed among NP7 processors. For example, for a FortiGate with four NP7 processors and the tcp_syn_flood anomaly threshold set to 400. If npu-dos-meter-mode is set to global, the threshold of 400 is divided between the NP7 processors and the tcp_syn_flood threshold would be set to 100 for each NP7 (for a total threshold of 400 for the FortiGate). If npu-dos-meter-mode is set to local, then each NP7 would have a threshold of 400 (for a total threshold of 1600 for a FortiGate with four NP7 processors).

npu-dos-tpe-mode select enable (the default) to insert the dos meter ID into the session table. Select disable if you don't want to insert the DoS meter into the session table. If set to enable, UDP_FLOOD and ICMP_FLOOD DoS protection applies to offloaded sessions. If set to disable, UDP_FLOOD and ICMP_FLOOD DoS protection will not apply to offloaded sessions.

NP7 DoS offloading does not offload processing for all DoS policy anomalies. The following table shows that some anomaly sessions are offloaded to NP7 processors and some are handled by the CPU. In addition, when full-offload is enabled, more types of anomaly processing are handled by NP7 processors than when dos-offload is selected.

NP7 processors offload DoS sessions differently depending on the policy offload level:

DoS policy anomaly dos-offload selected full-offload selected
tcp_syn_flood NP7 NP7
tcp_port_scan NP7 NP7
tcp_src_session NP7 NP7
tcp_dst_session NP7 NP7
udp_flood NP7 NP7
udp_scan CPU NP7
udp_src_session CPU NP7
udp_dst_session CPU NP7
icmp_flood NP7 NP7
icmp_sweep CPU CPU
icmp_src_session CPU CPU
icmp_dst_session CPU CPU
ip_src_session TCP sessions are offloaded to NP7 processors. Other sessions are handled by the CPU. TCP and UDP sessions are offloaded to NP7 processors. Other sessions are handled by the CPU.
ip_dst_session TCP sessions are offloaded to NP7 processors. Other sessions are handled by the CPU. TCP and UDP sessions are offloaded to NP7 processors. Other sessions are handled by the CPU.
sctp_flood CPU, because the NP7 processor can only send sctp-init packets to MSE CPU
sctp_scan CPU CPU
sctp_src_session CPU CPU
sctp_dst_session CPU CPU

DoS policy hardware acceleration

DoS policy hardware acceleration offloads processing required for IPv4 and IPv6 DoS policies, interface policies, and access control list (ACL) policies to NP7 processors.

Use the following command to configure DoS policy offloading:

config system npu

set policy-offload-level {dos-offload | full-offload}

config dos-options

set npu-dos-meter-mode {global | local}

set npu-dos-tpe-mode {disable | enable}

end

policy-offload-level can be set to dos-offload or full-offload to support DoS policy hardware acceleration. full-offload is only available if your FortiGate is licensed for hyperscale firewall support.

npu-dos-meter-mode select global (the default) to configure DoS metering across all NP7 processors. Select local to configure metering per NP7 processor.

DoS metering controls how the threshold for each configured anomaly is distributed among NP7 processors. For example, for a FortiGate with four NP7 processors and the tcp_syn_flood anomaly threshold set to 400. If npu-dos-meter-mode is set to global, the threshold of 400 is divided between the NP7 processors and the tcp_syn_flood threshold would be set to 100 for each NP7 (for a total threshold of 400 for the FortiGate). If npu-dos-meter-mode is set to local, then each NP7 would have a threshold of 400 (for a total threshold of 1600 for a FortiGate with four NP7 processors).

npu-dos-tpe-mode select enable (the default) to insert the dos meter ID into the session table. Select disable if you don't want to insert the DoS meter into the session table. If set to enable, UDP_FLOOD and ICMP_FLOOD DoS protection applies to offloaded sessions. If set to disable, UDP_FLOOD and ICMP_FLOOD DoS protection will not apply to offloaded sessions.

NP7 DoS offloading does not offload processing for all DoS policy anomalies. The following table shows that some anomaly sessions are offloaded to NP7 processors and some are handled by the CPU. In addition, when full-offload is enabled, more types of anomaly processing are handled by NP7 processors than when dos-offload is selected.

NP7 processors offload DoS sessions differently depending on the policy offload level:

DoS policy anomaly dos-offload selected full-offload selected
tcp_syn_flood NP7 NP7
tcp_port_scan NP7 NP7
tcp_src_session NP7 NP7
tcp_dst_session NP7 NP7
udp_flood NP7 NP7
udp_scan CPU NP7
udp_src_session CPU NP7
udp_dst_session CPU NP7
icmp_flood NP7 NP7
icmp_sweep CPU CPU
icmp_src_session CPU CPU
icmp_dst_session CPU CPU
ip_src_session TCP sessions are offloaded to NP7 processors. Other sessions are handled by the CPU. TCP and UDP sessions are offloaded to NP7 processors. Other sessions are handled by the CPU.
ip_dst_session TCP sessions are offloaded to NP7 processors. Other sessions are handled by the CPU. TCP and UDP sessions are offloaded to NP7 processors. Other sessions are handled by the CPU.
sctp_flood CPU, because the NP7 processor can only send sctp-init packets to MSE CPU
sctp_scan CPU CPU
sctp_src_session CPU CPU
sctp_dst_session CPU CPU