Is the NP7 processor under heavy load?
NP7 is connected to the ISF through 2x CGMAC interfaces, each CGMAC is 100Gbps for a total of 200Gbps
With the command: diagnose npu np7 cgmac-stats <all | np7 id> <verbosity**> it is possible to check how many packets and throughput are received and transmitted by each NP7 processor.
diagnose npu np7 cgmac-stats 0 0
[NP7_0]
CGMAC0:
--------------- --------------- --------------- --------------- --------------- ---------------
Counters LANE0 LANE1 LANE2 LANE3 Total
--------------- --------------- --------------- --------------- --------------- ---------------
rx_bcast 1568 1595 1581 1562 6306
rx_mcast 107821 107428 107685 108124 431058
rx_ucast 227803 228267 229735 229616 915421
rx_goodoctet 227165253 227183155 228702445 228728383 911779236
rx_octet 227165253 227183155 228702445 228728383 911779236
--------------- --------------- --------------- --------------- --------------- ---------------
tx_bcast 350 333 341 369 1393
tx_mcast 18063 18064 18063 18063 72253
tx_ucast 533957 533972 533965 533937 2135831
tx_goodoctet 374562928 364020455 374612480 364029464 1477225327
tx_octet 374562928 364020455 374612480 364029464 1477225327
--------------- --------------- --------------- --------------- --------------- ---------------
RX_RATE(pps) 0 0 0 0 0
RX_RATE(kbps) 1 0 0 0 2
TX_RATE(pps) 0 0 0 0 0
TX_RATE(kbps) 0 0 0 0 0
--------------- --------------- --------------- --------------- --------------- ---------------
CG_FULL 0
CGMAC1:
--------------- --------------- --------------- --------------- --------------- ---------------
Counters LANE0 LANE1 LANE2 LANE3 Total
--------------- --------------- --------------- --------------- --------------- ---------------
rx_bcast 39572 39496 39743 39810 158621
rx_mcast 240155 241243 240570 241309 963277
rx_ucast 387952 388015 387442 387205 1550614
rx_goodoctet 405397003 406242711 405111720 405148982 1621900416
rx_octet 405397003 406242711 405111720 405148982 1621900416
--------------- --------------- --------------- --------------- --------------- ---------------
tx_bcast 345 359 348 324 1376
tx_mcast 1 0 3 1 5
tx_ucast 417439 417426 417434 417459 1669758
tx_goodoctet 268194630 270121006 268254445 270368412 1076938493
tx_octet 268194630 270121006 268254445 270368412 1076938493
--------------- --------------- --------------- --------------- --------------- ---------------
RX_RATE(pps) 0 0 0 0 0
RX_RATE(kbps) 1 0 0 0 2
TX_RATE(pps) 0 0 0 0 0
TX_RATE(kbps) 0 0 0 0 0
--------------- --------------- --------------- --------------- --------------- ---------------
CG_FULL 0
In addition to each RX_TX rate metric to see the actual CGMAC bandwidth there is also the GC_FULL counter, this counter increases when there is congestion at the CGMAC level.
With the following command, it is also possible to check the usage in percentage for every NP7 module:
diagnose npu np7 pmon <all | np7 id> <verbosity**>
diagnose npu np7 pmon 0 0
[NP7_0]
EIF0_IGR EIF1_IGR EIF1_EGR EIF1_EGR HRX HTX DFR
-------- -------- -------- -------- -------- -------- -------- --------
Usage% 0 0 0 0 0 0 0
-------- -------- -------- -------- -------- -------- -------- --------
SSE0 SSE1 SSE2 SSE3
-------- -------- -------- -------- --------
Usage% 1 1 1 1
-------- -------- -------- -------- --------
IPSEC IPTI IPTO L2TI L2TO VEP IVS
-------- -------- -------- -------- -------- -------- -------- --------
Usage% 0 0 0 0 0 0 0
-------- -------- -------- -------- -------- -------- -------- --------
PLE MSE SYNK DSE NSS
-------- -------- -------- -------- -------- --------
Usage% 0 0 0 12 0
-------- -------- -------- -------- -------- --------
* EIFx_IGR: EIF ingress, EIFx_EGR: EIF egress
3. Is the NP7 processor stuck?
Each packet reaching the NP7 processor is stored on an allocated buffer and it is freed when the packet is processed and leaves the FortiGate (buffers used to store packets are limited). It might happen under specific conditions that buffers are not freed when packets are processed, this is called a PBA leak (PBA: packet buffer allocator).
The command: diagnose npu np7 pba 0, compares a normal usage of buffers with the current usage and shows the delta.
diagnose npu np7 pba all
[NP7_0]
normal current Delta Empty
pba 00003f7c 00003f61 27 0
dba 00001ddf 00001ddc 3
hba 00000ff5 00000ff5 0
!!!Leak!!!
NOTE: '!!! Leak !!!' is printed every time one of the delta is greater than 1.
Having a positive value displayed is normal when traffic is being processed by the NP7, an administrator should be concerned when the delta value is high and constantly increasing over time as it means that the buffers are not being released correctly.