4.2. Fast Path Information

4.2.1. Fast Path statistics

Use fp-cli stats [percore] [non-zero] to get the statistics recorded by the fast path:

# fp-cli stats non-zero
==== interface stats:
lo-vr0 port:254
mgmt0-vr0 port:254
enp3s0f1-vr0 port:254
ens785f1-vr0 port:254
ens787f1-vr0 port:254
ens804f1-vr0 port:254
ens806f1-vr0 port:254
fpn0-vr0 port:254
ntfp4-vr0 port:0
ntfp1-vr0 port:1
ntfp2-vr0 port:2
ntfp3-vr0 port:3
==== global stats:
==== exception stats:
  LocalBasicExceptions:7
  LocalExceptionClass:
  LocalExceptionType:
==== IPv4 stats:
  IpForwDatagrams:509870627
  IpInReceives:509870627
==== arp stats:
==== IPv6 stats:
==== TCP stats:
==== UDP stats:
==== UDP6 stats:
==== IPsec stats:
==== IPsec IPv6 stats:
==== L2 stats:
==== fp-vswitch stats:

4.2.2. fp-cpu-usage

Use this command to get the fast path usage per core, and the number of cycles to process one packet:

# fp-cpu-usage
Fast path CPU usage:
cpu: %busy     cycles   cycles/packet
  2:   70%  227166479             990
  3:   69%  222733174             991
...
average cycles/packets received from NIC: 991 (5389132282/5436242)

It is a good indicator regarding how busy the fast path cores are, processing packets.

4.2.3. Turn Fast Path off

Use the following command to turn most of the fast path off:

# fp-cli fp-state-set off
FP is stopped (was started)

By doing this, no processing will be done by the fast path. As soon as the fast path receives a packet on a port, without any processing, it will inject it in the linux stack.

If the test works with the fast path thus disabled, it usually means the fast path drops packets.