3.2.34. fast-path¶
Note
requires a Product License.
Fast path configuration.
vsr running config# system fast-path
enabled (pushed)¶
Enable or disable the fast path.
vsr running config# system fast-path
vsr running fast-path# enabled true|false
- Default value
true
port¶
A physical network port managed by the fast path.
vsr running config# system fast-path
vsr running fast-path# port PORT
|
Description |
---|---|
<pci-port-name> |
PCI port name. |
<device-tree-port-name> |
Device tree port name. |
<hyper-v-port-name> |
Hyper-V port name. |
core-mask¶
Dedicate cores to fast path or exception path.
vsr running config# system fast-path core-mask
fast-path¶
List of cores dedicated to fast path.
vsr running config# system fast-path core-mask
vsr running core-mask# fast-path FAST-PATH
|
Description |
---|---|
max |
Dedicate the maximum number of cores to the fast path. |
half |
Dedicate half of the cores to the fast path. |
min |
Dedicate the minimum number of cores to the fast path. |
<coremask> |
A comma-separated list of cores or core ranges. Example: ‘1,4-7,10-12’. |
exception¶
Control plane cores allocated to exception packets processing. If unset, use the first non fast path core.
vsr running config# system fast-path core-mask
vsr running core-mask# exception EXCEPTION
EXCEPTION |
A comma-separated list of cores or core ranges. Example: ‘1,4-7,10-12’. |
linux-to-fp¶
Fast path cores that can receive packets from Linux. It must be included in fast path mask. If unset, all fast path cores can receive packets from Linux.
vsr running config# system fast-path core-mask
vsr running core-mask# linux-to-fp LINUX-TO-FP
LINUX-TO-FP |
A comma-separated list of cores or core ranges. Example: ‘1,4-7,10-12’. |
qos (deprecated)¶
Attention
none
Fast path cores dedicated for qos schedulers. These cores do not received any packets from the NIC or Linux.
vsr running config# system fast-path core-mask
vsr running core-mask# qos QOS
QOS |
A comma-separated list of cores or core ranges. Example: ‘1,4-7,10-12’. |
port¶
Map fast path cores with network ports, specifying which logical cores poll which ports. Example: ‘c1=0:1/c2=2/c3=0:1:2’ means the logical core 1 polls the port 0 and 1, the core 2 polls the port 2, and the core 3 polls the ports 0, 1, and 2. If unset, each port is polled by all the logical cores of the same socket.
vsr running config# system fast-path core-mask
vsr running core-mask# port <core-port-map>
cp-protection¶
Control plane protection configuration.
vsr running config# system fast-path cp-protection
budget¶
Maximum CPU usage allowed for Control Plane Protection in percent.
vsr running config# system fast-path cp-protection
vsr running cp-protection# budget <int16>
- Default value
10
crypto¶
Fast path crypto configuration.
vsr running config# system fast-path crypto
driver¶
Crypto driver. If unset, select automatically.
vsr running config# system fast-path crypto
vsr running crypto# driver DRIVER
|
Description |
---|---|
multibuffer |
Intel multibuffer library. |
quickassist |
Intel quickassist. |
dpdk-pmd |
DPDK crypto PMD. |
octeontxcpt |
Marvell Octeon TX. |
octeontx2cpt |
Marvell Octeon TX2. |
offload-core-mask¶
Fast path cores that can do crypto operations for other fast path cores. It must be included in fast path mask. The crypto offloading is always done on cores in the same NUMA node.
vsr running config# system fast-path crypto
vsr running crypto# offload-core-mask OFFLOAD-CORE-MASK
|
Description |
---|---|
<coremask> |
A comma-separated list of cores or core ranges. Example: ‘1,4-7,10-12’. |
none |
Disable crypto offload. |
nb-session¶
Maximum number of cryptographic sessions.
vsr running config# system fast-path crypto
vsr running crypto# nb-session <uint32>
nb-buffer¶
Maximum number of cryptographic buffers, representing the maximum number of in-flight operations, either being processed by the asynchronous crypto engine, or waiting in crypto device queues.
vsr running config# system fast-path crypto
vsr running crypto# nb-buffer <uint32>
advanced¶
Advanced configuration for fast path.
vsr running config# system fast-path advanced
nb-mbuf¶
Number of mbufs (network packet descriptors). The value can be an integer representing the total number of mbufs, an integer prefixed with ‘+’ representing the number of mbufs to add to the automatic value. In case of NUMA, the value can be a per-socket list. If unset, nb-mbuf is determined automatically.
vsr running config# system fast-path advanced
vsr running advanced# nb-mbuf <nb-mbuf>
machine-memory¶
Set the memory that will be used by the fast path (hugepages, shm, mallocs…) so it can run on a machine with this amount of physical memory.
vsr running config# system fast-path advanced
vsr running advanced# machine-memory <uint32>
mainloop-sleep-delay¶
If set, add a sleep time after each idle mainloop turn. This will drastically decrease performance. If the value is 0, it means it is disabled.
vsr running config# system fast-path advanced
vsr running advanced# mainloop-sleep-delay <uint16>
offload¶
Enable or disabled advanced offload features such as TSO, L4 checksum offloading, or offload information forwarding from a guest to the NIC through a virtual interface. If unset, use default product configuration.
vsr running config# system fast-path advanced
vsr running advanced# offload true|false
vlan-strip¶
Strip the VLAN header from incoming frames if supported by the hardware. By default, vlan stripping feature is disabled.
vsr running config# system fast-path advanced
vsr running advanced# vlan-strip true|false
intercore-ring-size¶
Set the size of the intercore rings, used by dataplane cores to send messages to another dataplane core. The default size depends on the product.
vsr running config# system fast-path advanced
vsr running advanced# intercore-ring-size <uint16>
software-txq¶
Set the default size of Tx software queue. This field must be a power of 2. Default is 0 (no software queue).
vsr running config# system fast-path advanced
vsr running advanced# software-txq <uint16>
mask-irq¶
Mask IRQ on fast path cores to reduce latency and increase zero-loss performance.
vsr running config# system fast-path advanced
vsr running advanced# mask-irq true|false
- Default value
true
nb-rxd¶
Set the default number of Rx hardware descriptors for Ethernet ports. The value must be accepted by all devices on the system. If unset, an automatic value is used.
vsr running config# system fast-path advanced
vsr running advanced# nb-rxd <uint16>
nb-txd¶
Set the default number of Tx hardware descriptors for Ethernet ports. The value must be accepted by all devices on the system. If unset, an automatic value is used.
vsr running config# system fast-path advanced
vsr running advanced# nb-txd <uint16>
reserve-hugepages¶
Enable or disable the automatic huge pages allocation by the fast path. When disabled, the user is responsible for providing enough huge pages for the fast path to start. If value is unset, it is disabled by default when running in a container, else it is enabled.
vsr running config# system fast-path advanced
vsr running advanced# reserve-hugepages true|false
arp¶
Enable or disable the fast path ARP management.
vsr running config# system fast-path advanced
vsr running advanced# arp true|false
- Default value
true
ipv4-netfilter-cache¶
Enable or disable the IPv4 netfilter cache.
vsr running config# system fast-path advanced
vsr running advanced# ipv4-netfilter-cache true|false
- Default value
true
ipv6-netfilter-cache¶
Enable or disable the IPv6 netfilter cache.
vsr running config# system fast-path advanced
vsr running advanced# ipv6-netfilter-cache true|false
- Default value
true
ipv4-pre-ipsec-fragmentation¶
Configure IPv4 pre IPsec fragmentation. When enabled, this behavior helps releasing pressure on the decrypting device, as the reassembly will be done on the destination host of the inner packet instead of the decrypting device. It applies only in tunnel mode.
vsr running config# system fast-path advanced
vsr running advanced# ipv4-pre-ipsec-fragmentation IPV4-PRE-IPSEC-FRAGMENTATION
|
Description |
---|---|
always |
Pre IPsec fragmentation is always performed. |
check-df-bit |
Pre IPsec fragmentation is performed only if the don’t fragment bit is not set on the inner packet. Applies only to IPv4 inner packets. |
off |
Post IPsec fragmentation is performed. |
- Default value
off
ipv6-pre-ipsec-fragmentation¶
Configure IPv6 pre IPsec fragmentation. When enabled, this behavior helps releasing pressure on the decrypting device, as the reassembly will be done on the destination host of the inner packet instead of the decrypting device. It applies only in tunnel mode.
vsr running config# system fast-path advanced
vsr running advanced# ipv6-pre-ipsec-fragmentation IPV6-PRE-IPSEC-FRAGMENTATION
|
Description |
---|---|
always |
Pre IPsec fragmentation is always performed. |
check-df-bit |
Pre IPsec fragmentation is performed only if the don’t fragment bit is not set on the inner packet. Applies only to IPv4 inner packets. |
off |
Post IPsec fragmentation is performed. |
- Default value
off
ipv6-lpm-long-prefix-optimization¶
Enable the IPv6 longest prefix match algorithm optimization. It improves the next hop lookup performance for routes with a long prefix.
vsr running config# system fast-path advanced
vsr running advanced# ipv6-lpm-long-prefix-optimization true|false
- Default value
false
hardware-queue-map¶
Hardware queue map used to change the destination queue according the hash computed on the packet from the RSS function.
vsr running config# system fast-path advanced
vsr running advanced# hardware-queue-map <port> <uint16> <uint16>
<port> |
PCI port name. |
<uint16> |
Hardware queue map table index. |
<uint16> |
Destination Rx queue. |
limits¶
Global runtime limits for fast path.
vsr running config# system fast-path limits
fp-max-if¶
Maximum number of interfaces. It includes physical ports and virtual interfaces like gre, vlan, …
vsr running config# system fast-path limits
vsr running limits# fp-max-if <uint32>
fp-max-vrf¶
Maximum number of VRFs.
vsr running config# system fast-path limits
vsr running limits# fp-max-vrf <uint32>
ip4-max-addr¶
Maximum number of IPv4 addresses.
vsr running config# system fast-path limits
vsr running limits# ip4-max-addr <uint32>
ip4-max-route¶
Maximum number of IPv4 routes.
vsr running config# system fast-path limits
vsr running limits# ip4-max-route <uint32>
ip4-max-neigh¶
Maximum number of IPv4 neighbors.
vsr running config# system fast-path limits
vsr running limits# ip4-max-neigh <uint32>
ip6-max-addr¶
Maximum number of IPv6 addresses.
vsr running config# system fast-path limits
vsr running limits# ip6-max-addr <uint32>
ip6-max-route¶
Maximum number of IPv6 routes.
vsr running config# system fast-path limits
vsr running limits# ip6-max-route <uint32>
ip6-max-neigh¶
Maximum number of IPv6 neighbors.
vsr running config# system fast-path limits
vsr running limits# ip6-max-neigh <uint32>
pbr-max-rule¶
Maximum number of PBR rules.
vsr running config# system fast-path limits
vsr running limits# pbr-max-rule <uint32>
filter4-max-rule¶
Maximum number of IPv4 Netfilter rules.
vsr running config# system fast-path limits
vsr running limits# filter4-max-rule <uint32>
filter6-max-rule¶
Maximum number of IPv6 Netfilter rules.
vsr running config# system fast-path limits
vsr running limits# filter6-max-rule <uint32>
filter4-max-ct¶
Maximum number of IPv4 Netfilter conntracks.
vsr running config# system fast-path limits
vsr running limits# filter4-max-ct <uint32>
filter6-max-ct¶
Maximum number of IPv6 Netfilter conntracks.
vsr running config# system fast-path limits
vsr running limits# filter6-max-ct <uint32>
filter-max-ipset¶
Maximum number of ipsets per VRF.
vsr running config# system fast-path limits
vsr running limits# filter-max-ipset <uint32>
filter-max-ipset-entry¶
Maximum number of entries per ipset.
vsr running config# system fast-path limits
vsr running limits# filter-max-ipset-entry <uint32>
filter-bridge-max-rule¶
Maximum number of bridge filter rules.
vsr running config# system fast-path limits
vsr running limits# filter-bridge-max-rule <uint32>
vxlan-max-port¶
Maximum number of (VXLAN destination port, VRF) pairs.
vsr running config# system fast-path limits
vsr running limits# vxlan-max-port <uint32>
vxlan-max-if¶
Maximum number of VXLAN interfaces.
vsr running config# system fast-path limits
vsr running limits# vxlan-max-if <uint32>
vxlan-max-fdb¶
Maximum number of VXLAN forwarding database entries.
vsr running config# system fast-path limits
vsr running limits# vxlan-max-fdb <uint32>
reass4-max-queue¶
Maximum number of simultaneous reassembly procedures for IPv4.
vsr running config# system fast-path limits
vsr running limits# reass4-max-queue <uint32>
reass6-max-queue¶
Maximum number of simultaneous reassembly procedures for IPv6.
vsr running config# system fast-path limits
vsr running limits# reass6-max-queue <uint32>
ipsec-max-sp¶
Maximum number of IPv4 and IPv6 IPsec SPs.
vsr running config# system fast-path limits
vsr running limits# ipsec-max-sp <uint32>
ipsec-max-sa¶
Maximum number of IPv4 and IPv6 IPsec SAs.
vsr running config# system fast-path limits
vsr running limits# ipsec-max-sa <uint32>
ip-max-lpm-table¶
Maximum number of IPv4 and IPv6 tables.
vsr running config# system fast-path limits
vsr running limits# ip-max-lpm-table <uint32>
ip-max-lpm-memory¶
Amount of memory reserved for IPv4 and IPv6 LPM tree.
vsr running config# system fast-path limits
vsr running limits# ip-max-lpm-memory <uint32>
filter-max-cache¶
Maximum number of IPv4 flows stored in filter cache.
vsr running config# system fast-path limits
vsr running limits# filter-max-cache <uint32>
filter6-max-cache¶
Maximum number of IPv6 flows stored in filter cache.
vsr running config# system fast-path limits
vsr running limits# filter6-max-cache <uint32>
vlan-max-if¶
Maximum number of VLAN interfaces.
vsr running config# system fast-path limits
vsr running limits# vlan-max-if <uint32>
macvlan-max-if¶
Maximum number of MACVLAN (VRRP) interfaces.
vsr running config# system fast-path limits
vsr running limits# macvlan-max-if <uint32>
gre-max-if¶
Maximum number of GRE interfaces.
vsr running config# system fast-path limits
vsr running limits# gre-max-if <uint32>
svti-max-if¶
Maximum number of SVTI interfaces.
vsr running config# system fast-path limits
vsr running limits# svti-max-if <uint32>
pppoe-max-channel¶
Maximum number of PPPoE channels.
vsr running config# system fast-path limits
vsr running limits# pppoe-max-channel <uint32>
mpls-max-label¶
Maximum number of MPLS labels in a route.
vsr running config# system fast-path limits
vsr running limits# mpls-max-label <uint8>
mpls-max-route¶
Maximum number of pure MPLS routes.
vsr running config# system fast-path limits
vsr running limits# mpls-max-route <uint32>
mpls-max-lwt¶
Maximum number of MPLS lightweight tunnels. One is needed for each IP route doing MPLS encapsulation.
vsr running config# system fast-path limits
vsr running limits# mpls-max-lwt <uint32>
qos-max-schedulers¶
Maximum number of interfaces with QoS enabled.
vsr running config# system fast-path limits
vsr running limits# qos-max-schedulers <uint32>
qos-max-filters¶
Maximum number of QoS filter rules.
vsr running config# system fast-path limits
vsr running limits# qos-max-filters <uint32>
qos-max-classes¶
Maximum number of QoS classes.
vsr running config# system fast-path limits
vsr running limits# qos-max-classes <uint32>
bridge-max-if¶
Maximum number of bridge interfaces.
vsr running config# system fast-path limits
vsr running limits# bridge-max-if <uint32>
bridge-max-ports¶
Maximum number of bridge slave ports.
vsr running config# system fast-path limits
vsr running limits# bridge-max-ports <uint32>
bridge-max-fdb¶
Maximum number of bridge forwarding database entries.
vsr running config# system fast-path limits
vsr running limits# bridge-max-fdb <uint32>
fp-cur-if (state only)¶
Current number of interfaces. It includes physical ports and virtual interfaces like gre, vlan, …
vsr> show state system fast-path limits fp-cur-if
ip4-cur-addr (state only)¶
Current number of IPv4 addresses.
vsr> show state system fast-path limits ip4-cur-addr
ip4-cur-route (state only)¶
Current number of IPv4 routes.
vsr> show state system fast-path limits ip4-cur-route
ip4-cur-neigh (state only)¶
Current number of IPv4 neighbors.
vsr> show state system fast-path limits ip4-cur-neigh
ip6-cur-addr (state only)¶
Current number of IPv6 addresses.
vsr> show state system fast-path limits ip6-cur-addr
ip6-cur-route (state only)¶
Current number of IPv6 routes.
vsr> show state system fast-path limits ip6-cur-route
ip6-cur-neigh (state only)¶
Current number of IPv6 neighbors.
vsr> show state system fast-path limits ip6-cur-neigh
pbr-cur-rule (state only)¶
Current number of PBR rules.
vsr> show state system fast-path limits pbr-cur-rule
filter4-cur-rule (state only)¶
Current number of IPv4 Netfilter rules.
vsr> show state system fast-path limits filter4-cur-rule
filter6-cur-rule (state only)¶
Current number of IPv6 Netfilter rules.
vsr> show state system fast-path limits filter6-cur-rule
filter4-cur-ct (state only)¶
Current number of IPv4 Netfilter conntracks.
vsr> show state system fast-path limits filter4-cur-ct
filter6-cur-ct (state only)¶
Current number of IPv6 Netfilter conntracks.
vsr> show state system fast-path limits filter6-cur-ct
filter-cur-ipset (state only)¶
Current number of ipsets per VRF.
vsr> show state system fast-path limits filter-cur-ipset
vxlan-cur-port (state only)¶
Current number of (VXLAN destination port, VRF) pairs.
vsr> show state system fast-path limits vxlan-cur-port
vxlan-cur-if (state only)¶
Current number of VXLAN interfaces.
vsr> show state system fast-path limits vxlan-cur-if
vxlan-cur-fdb (state only)¶
Current number of VXLAN forwarding database entries.
vsr> show state system fast-path limits vxlan-cur-fdb
ipsec-cur-sp (state only)¶
Current number of IPv4 and IPv6 IPsec SPs.
vsr> show state system fast-path limits ipsec-cur-sp
ipsec-cur-sa (state only)¶
Current number of IPv4 and IPv6 IPsec SAs.
vsr> show state system fast-path limits ipsec-cur-sa
ip-cur-lpm-table (state only)¶
Current number of IPv4 and IPv6 tables.
vsr> show state system fast-path limits ip-cur-lpm-table
ip-cur-lpm-memory (state only)¶
Current amount of memory reserved for IPv4 and IPv6 LPM tree.
vsr> show state system fast-path limits ip-cur-lpm-memory
vlan-cur-if (state only)¶
Current number of VLAN interfaces.
vsr> show state system fast-path limits vlan-cur-if
macvlan-cur-if (state only)¶
Current number of MACVLAN (VRRP) interfaces.
vsr> show state system fast-path limits macvlan-cur-if
gre-cur-if (state only)¶
Current number of GRE interfaces.
vsr> show state system fast-path limits gre-cur-if
svti-cur-if (state only)¶
Current number of SVTI interfaces.
vsr> show state system fast-path limits svti-cur-if
pppoe-cur-channel (state only)¶
Current number of PPPoE interfaces.
vsr> show state system fast-path limits pppoe-cur-channel
mpls-cur-route (state only)¶
Current number of pure MPLS routes.
vsr> show state system fast-path limits mpls-cur-route
mpls-cur-lwt (state only)¶
Current number of MPLS lightweight tunnels. One is needed for each IP route doing MPLS encapsulation.
vsr> show state system fast-path limits mpls-cur-lwt
qos-cur-schedulers (state only)¶
Current number of interfaces with QoS enabled.
vsr> show state system fast-path limits qos-cur-schedulers
qos-cur-filters (state only)¶
Current number of QoS filter rules.
vsr> show state system fast-path limits qos-cur-filters
qos-cur-classes (state only)¶
Current number of QoS classes.
vsr> show state system fast-path limits qos-cur-classes
bridge-cur-if (state only)¶
Current number of bridge interfaces.
vsr> show state system fast-path limits bridge-cur-if
bridge-cur-ports (state only)¶
Current number of bridge slave ports.
vsr> show state system fast-path limits bridge-cur-ports
bridge-cur-fdb (state only)¶
Current number of bridge forwarding database entries.
vsr> show state system fast-path limits bridge-cur-fdb
cg-nat¶
Fast path cg-nat configuration.
vsr running config# system fast-path limits cg-nat
max-conntracks¶
Maximum number of tracked connections.
vsr running config# system fast-path limits cg-nat
vsr running cg-nat# max-conntracks <uint32>
max-nat-entries¶
Maximum number of NAT translations.
vsr running config# system fast-path limits cg-nat
vsr running cg-nat# max-nat-entries <uint32>
max-users¶
Maximum number of users.
vsr running config# system fast-path limits cg-nat
vsr running cg-nat# max-users <uint32>
max-blocks¶
Maximum number of blocks.
vsr running config# system fast-path limits cg-nat
vsr running cg-nat# max-blocks <uint32>
max-block-size¶
Maximum number of ports per block.
vsr running config# system fast-path limits cg-nat
vsr running cg-nat# max-block-size <uint32>
linux-sync¶
Advanced tuning for fast path / Linux synchronization.
vsr running config# system fast-path linux-sync
fpm-socket-size¶
Buffer size of the socket used to communicate between the cache manager and the fast path manager.
vsr running config# system fast-path linux-sync
vsr running linux-sync# fpm-socket-size <uint32>
- Default value
2097152
nl-socket-size¶
Buffer size of the cache manager netlink socket.
vsr running config# system fast-path linux-sync
vsr running linux-sync# nl-socket-size <uint32>
- Default value
67108864
ipset-dump-delay¶
Delay period for polling the ipset content.
vsr running config# system fast-path linux-sync
vsr running linux-sync# ipset-dump-delay <uint32>
- Default value
1
disable¶
Disable synchronization for specific modules.
vsr running config# system fast-path linux-sync
vsr running linux-sync# disable DISABLE
|
Description |
---|---|
bpf |
Disable BPF synchronization (used by traffic capture). |
bridge |
Disable bridge interface synchronization. |
conntrack |
Disable connection tracking synchronization. |
firewall |
Disable firewall synchronization. |
gre |
Disable GRE interface synchronization. |
ipip |
Disable IP in IP interface synchronization. |
ipsec |
Disable IPsec synchronization. |
ipset4 |
Disable IPv4 ipset synchronization (used by firewall IPv4 address/network groups). |
ipset6 |
Disable IPv6 ipset synchronization (used by firewall IPv6 address/network groups). |
ipv6 |
Disable IPv6 synchronization. |
lag |
Disable LAG interface synchronization. |
macvlan |
Disable MACVLAN interface synchronization (used by VRRP). |
mpls |
Disable MPLS synchronization. |
nat |
Disable NAT synchronization. |
svti |
Disable SVTI interface synchronization. |
vlan |
Disable VLAN interface synchronization. |
vxlan |
Disable VXLAN interface synchronization. |
mirror-traffic¶
Mirror traffic.
vsr running config# system fast-path mirror-traffic
from¶
The source of mirroring.
vsr running config# system fast-path mirror-traffic
vsr running mirror-traffic# from interface <interface> vrf <vrf> type <type> \
... to interface INTERFACE vrf VRF
<interface> |
An interface name. |
<vrf> |
The vrf name. |
|
Description |
---|---|
<string> |
The type of traffic to mirror. |
ingress |
Mirror only incoming traffic. |
egress |
Mirror only outgoing traffic. |
both |
Mirror both incoming and outgoing traffic. |