Usage¶
In this section, it is assumed that Virtual Accelerator has been properly installed and configured. See Getting Started for more details.
Example
# echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
# ip addr add 3ffe:2:10::1/64 dev eth1
# ip link set up dev eth1
# ip route add 3ffe:100:2:2::1/128 via 3ffe:2:10::5
# ip -6 route show dev eth1
3ffe:2:10::/64 proto kernel metric 256
3ffe:100:2:2::1 via 3ffe:2:10::5 metric 1024
fe80::/64 proto kernel metric 256
# fp-cli
<fp-0> route6
# - Preferred, * - Active, > - selected
3ffe:100:2:2::1/128 [03] ROUTE gw 3ffe:2:10::5 via eth1-vr0 (6)
<fp-0> addr6 eth1
number of ip address: 1
3ffe:0002:0010:0000:0000:0000:0000:0001 [0]
<fp-0> iface
1:lo [VR-0] ifid=1 (virtual) <UP|RUNNING|FWD4|FWD6> (0x63)
type=loop mac=00:00:00:00:00:00 mtu=16436 tcp4mss=0 tcp6mss=0
IPv4 routes=0 IPv6 routes=0
if_ops: rx_dev=none tx_dev=none ip_output=none
7:eth3 [VR-0] ifid=7 (port 2) <FWD4|FWD6> (0x60)
type=ether mac=00:1b:21:c5:7f:76 mtu=1500 tcp4mss=0 tcp6mss=0
IPv4 routes=0 IPv6 routes=0
if_ops: rx_dev=none tx_dev=none ip_output=none
8:eth2 [VR-0] ifid=8 (port 1) <UP|RUNNING|FWD4|FWD6> (0x63)
type=ether mac=00:1b:21:c5:7f:75 mtu=1500 tcp4mss=0 tcp6mss=0
IPv4 routes=0 IPv6 routes=0
if_ops: rx_dev=none tx_dev=none ip_output=none
9:eth1 [VR-0] ifid=9 (port 0) <UP|RUNNING|FWD4|FWD6> (0x63)
type=ether mac=00:1b:21:c5:7f:74 mtu=1500 tcp4mss=0 tcp6mss=0
IPv4 routes=0 IPv6 routes=2
if_ops: rx_dev=none tx_dev=none ip_output=none
10:eth0 [VR-0] ifid=10 (virtual) <FWD4|FWD6> (0x60)
type=ether mac=00:21:85:c1:82:58 mtu=1500 tcp4mss=0 tcp6mss=0
IPv4 routes=0 IPv6 routes=0
if_ops: rx_dev=none tx_dev=none ip_output=none
11:eth4 [VR-0] ifid=11 (port 3) <FWD4|FWD6> (0x60)
type=ether mac=00:1b:21:c5:7f:77 mtu=1500 tcp4mss=0 tcp6mss=0
IPv4 routes=0 IPv6 routes=0
if_ops: rx_dev=none tx_dev=none ip_output=none
ECMP routes¶
Synopsis
An ECMP route is a single route to a destination, with several next hops. The traffic matching this route is dispatched among the specified next hops based on a hash of the packet source and destination IP addresses. That way, packets of a same flow follow the same path.
IPv6 ECMP routes are configured in several steps: the route is first created with a nexthop, then extra nexthops are appended by specifying a route to the same destination and with the same metric. The routes will be merged into a single ECMP route.
Example
Enable IPv6 forwarding and configure eth1
and eth2
:
# echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
# ip addr add 2001:db8:1::1/64 dev eth1
# ip link set up dev eth1
# ip addr add 2001:db8:2::1/64 dev eth2
# ip link set up dev eth2
Add an ECMP route to 2001:db8:10::/56
via gateways 2001:db8:1::2
and
2001:db8:2::5
:
# ip route add 2001:db8:10::/56 via 2001:db8:1::2
# ip route append 2001:db8:10::/56 via 2001:db8:2::5
Display Linux IPv6 routes. Note that the ECMP route is displayed as separate routes, although it is actually a single route with several next hops:
# ip -6 route
2001:db8:1::/64 dev eth1 proto kernel metric 256 pref medium
2001:db8:2::/64 dev eth2 proto kernel metric 256 pref medium
2001:db8:10::/56 via 2001:db8:1::2 dev eth1 metric 1024 pref medium
2001:db8:10::/56 via 2001:db8:2::5 dev eth2 metric 1024 pref medium
fe80::/64 dev mgmt0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth2 proto kernel metric 256 pref medium
Display fast path IPv6 routes:
<fp-0> route6
# - Preferred, * - Active, > - selected
(254) 2001:db8:10::/56 metric 1024 Multipath Entry (8)
[06] # (p=001) ROUTE gw 2001:db8:2::5 via eth2-vr0
[05] # (p=001) ROUTE gw 2001:db8:1::2 via eth1-vr0
Deleting an IPv6 ECMP route requires to remove all its next hops one by one. If no next hop is specified, then the first one will be removed. The route is actually deleted when all of its next hops were removed.
Example
Delete next hop 2001:db8:1::2
from ECMP route to 2001:db8:10::/56
:
# ip route del 2001:db8:10::/56 via 2001:db8:1::2
Display Linux IPv6 routes:
# ip -6 route
2001:db8:1::/64 dev eth1 proto kernel metric 256 pref medium
2001:db8:2::/64 dev eth2 proto kernel metric 256 pref medium
2001:db8:10::/56 via 2001:db8:2::5 dev eth2 metric 1024 pref medium
fe80::/64 dev mgmt0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth2 proto kernel metric 256 pref medium
Display fast path IPv6 routes:
<fp-0> route6
# - Preferred, * - Active, > - selected
(254) 2001:db8:10::/56 metric 1024 [06] ROUTE gw 2001:db8:2::5 via eth2-vr0 (8)
Route metric¶
Synopsis
The fast path supports several IPv6 routes to the same destination with different metrics (a.k.a. priority or preference). Unlike an ECMP route, packets can only match the route with the lowest metric.
Example
Enable IPv6 forwarding and configure eth1
and eth2
:
# echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
# ip addr add 2001:db8:1::1/64 dev eth1
# ip link set up dev eth1
# ip addr add 2001:db8:2::1/64 dev eth2
# ip link set up dev eth2
Add 2 routes to 2001:db8:10::/56
with different metrics:
# ip route add 2001:db8:10::/56 metric 200 via 2001:db8:1::2
# ip route add 2001:db8:10::/56 metric 100 via 2001:db8:2::5
Display Linux IPv6 routes:
root@dut-vm:~# ip -6 route
2001:db8:1::/64 dev eth1 proto kernel metric 256 pref medium
2001:db8:2::/64 dev eth2 proto kernel metric 256 pref medium
2001:db8:10::/56 via 2001:db8:2::5 dev eth2 metric 100 pref medium
2001:db8:10::/56 via 2001:db8:1::2 dev eth1 metric 200 pref medium
Display fast path IPv6 routes:
<fp-0> route6
# - Preferred, * - Active, > - selected
(254) 2001:db8:10::/56 metric 100 [08] ROUTE gw 2001:db8:2::5 via eth2-vr0 (13)
(254) 2001:db8:10::/56 metric 200 [07] ROUTE gw 2001:db8:1::2 via eth1-vr0 (12)
Each of these routes may itself be an ECMP route. Change route with metric 100 to an ECMP route by adding a next hop:
# ip route append 2001:db8:10::/56 metric 100 via 2001:db8:1::2
Display Linux IPv6 routes:
root@dut-vm:~# ip -6 route
2001:db8:1::/64 dev eth1 proto kernel metric 256 pref medium
2001:db8:2::/64 dev eth2 proto kernel metric 256 pref medium
2001:db8:10::/56 via 2001:db8:2::5 dev eth2 metric 100 pref medium
2001:db8:10::/56 via 2001:db8:1::2 dev eth1 metric 100 pref medium
2001:db8:10::/56 via 2001:db8:1::2 dev eth1 metric 200 pref medium
fe80::/64 dev mgmt0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth2 proto kernel metric 256 pref medium
Display fast path IPv6 routes:
<fp-0> route6
# - Preferred, * - Active, > - selected
(254) 2001:db8:10::/56 metric 100 Multipath Entry (13)
[12] # (p=001) ROUTE gw 2001:db8:1::2 via eth1-vr0
[13] # (p=001) ROUTE gw 2001:db8:2::5 via eth2-vr0
(254) 2001:db8:10::/56 metric 200 [12] ROUTE gw 2001:db8:1::2 via eth1-vr0 (12)
Neighbors management¶
Displaying the neighbors table¶
Synopsis
neigh6
Example
<fp-0> neigh6
R[000006] GW/NEIGH 3ffe:2:10::6 00:1b:21:cc:0d:97 via eth1-vr0 REACHABLE (nh:6)
Displaying CT6 hitflags parameters¶
Synopsis
hitflags [all|conntrack6|...]
- No parameter
Display parameters for all categories.
- all
Same as wit no parameters.
- conntrack6
Display only the IPv6 conntrack category.
Example
<fp-0> hitflags conntrack6
conntrack6 hitflags
period_in_seconds:1
max_scanned:2500
max_sent:1600
Addresses management¶
Displaying IPv6 addresses¶
Description
Display IPv6 addresses of a given interface.
Synopsis
addr6 <iface>
Parameters
- <iface>
Name of the interface.
Examples
<fp-0> addr6 eth0
number of ip address: 1
fd00:0175:0000:0000:0000:0000:0000:0001 [2]
Routes management¶
Displaying the rt_entry
table¶
Synopsis
rt6 [<rt index>]
- No parameter
Display the whole
rt_entry
table.- <rt index>
Index to dump specifically in
rt_table
.
Example
<fp-0> rt6
R6[000001]IFACE/LOCAL via ifid0-vr0 (nh:5001)
R6[000002]IFACE/LOCAL via ifid0-vr0 (nh:5001)
R6[000003]IFACE/BLACKHOLE via ifid0-vr0 (nh:5002)
R6[000004]IFACE/CONNECTED via eth1-vr0 (nh:1)
R6[000005]GW/ADDRESS :: 00:00:00:00:00:00 via eth1-vr0 NONE (nh:2)
R6[000006]GW/ROUTE 3ffe:2:10::5 00:00:00:00:00:00 via eth1-vr0 NONE (nh:3)
R6[000007]GW/NEIGH 3ffe:2:10::6 00:15:17:34:2a:d8 via eth1-vr0 REACHABLE (nh:4)
R6[000008]GW/ROUTE fe80::1 00:00:00:00:00:00 via eth1-vr0 NONE (nh:5)
Displaying the IPv6 next hop table¶
Synopsis
nh [<nh index>]
- No parameter
Display the whole next hop table.
- <nh index>
Index to dump specifically in next hop table.
Example
<fp-0> nh6
N6[0001] IFACE/CONNECTED via eth1-vr0 refcnt=1
N6[0002] GW/ADDRESS :: 00:00:00:00:00:00 via eth1-vr0 NONE refcnt=1
N6[0003] GW/ROUTE 3ffe:2:10::5 00:00:00:00:00:00 via eth1-vr0 NONE refcnt=1
N6[0004] GW/NEIGH 3ffe:2:10::6 00:15:17:34:2a:d8 via eth1-vr0 REACHABLE refcnt=1
N6[0005] GW/ROUTE fe80::1 00:00:00:00:00:00 via eth1-vr0 NONE refcnt=1
Displaying the user routing entries¶
Display the user routing entries.
Synopsis
route6 [dst <addr dst>|<addr dst/prefix> [src <addr src>]]|[type TYPE]
- No parameter
Display only routes configured by user.
- dst <addr dst>|<addr dst/prefix>
Search a route by destination address with or without prefix.
- src <addr src>
Reduce search to a specific source address.
- type TYPE
Display routes with a specific type:
Type
description
all
Display all kind of routes.
fpm
Display routes configured via
fpm
.route
Display global routes.
addr
Display local addresses.
local
Display local routes, ones to hosts on directly connected networks.
neigh
Display routes to neighbor hosts.
connected
Display routes to connected hosts.
black
Display black hole routes.
Example
<fp-0> route6
# - Preferred, * - Active, > - selected
3ffe:2:20::/48 [05] ROUTE gw fe80::1 via eth1-vr0 (8)
3ffe:100:2:2::1/128 [03] ROUTE gw 3ffe:2:10::5 via eth1-vr0 (6)
<fp-0> route6 type fpm
<fp-0> route6 type local
# - Preferred, * - Active, > - selected
fe80::/10 [5001] LOCAL (1)
ff00::/8 [5001] LOCAL (2)
<fp-0> route6 type neigh
# - Preferred, * - Active, > - selected
3ffe:2:10::6/128 [04] NEIGH gw 3ffe:2:10::6 (N) via eth1-vr0 (7)
<fp-0> route6 type connected
# - Preferred, * - Active, > - selected
3ffe:2:10::/64 [01] CONNECTED via eth1-vr0 (4)
<fp-0> route6 type black
# - Preferred, * - Active, > - selected
::/80 [5002] BLACKHOLE (3)
<fp-0> route6 type all
# - Preferred, * - Active, > - selected
::/80 [5002] BLACKHOLE (3)
3ffe:2:10::/64 [01] CONNECTED via eth1-vr0 (4)
3ffe:2:10::1/128 [02] ADDRESS via eth1-vr0 (5)
3ffe:2:10::6/128 [04] NEIGH gw 3ffe:2:10::6 (N) via eth1-vr0 (7)
3ffe:2:20::/48 [05] ROUTE gw fe80::1 via eth1-vr0 (8)
3ffe:100:2:2::1/128 [03] ROUTE gw 3ffe:2:10::5 via eth1-vr0 (6)
fe80::/10 [5001] LOCAL (1)
ff00::/8 [5001] LOCAL (2)
Saving LPM tree in a DOT file¶
Dump IPv6 LPM tree in a dot file. This file can be opened with xdot or dotty to display the routing table as a graph.
Synopsis
route6-dot <filename> [table <tableid>]
- <filename>
The name of the file where the data is saved.
- table <tableid>
The identifier of the table to dump. Default is main table.
Example
<fp-0> route6-dot /tmp/ipv6-lpm.dot
Displaying the filling of each table in memory¶
Synopsis
route6-filling
Example
<fp-0> route6-filling
IPv6 tables filling:
fp_lpm_table_shared: 128/256 (50.000000%) IPv6:64
fp_lpm_mem: 232448/8388608 (2.770996%)
fp_rt6_table: 3/50001 (0.006000%)
fp_nh6_table: 0/5001 (0.000000%)
VRF support¶
See also
Please see the VRF
section in the Fast Path Forwarding IPv4 documentation.
RPF check¶
Displaying IPv6 RPF flag status¶
Synopsis
rpf6 <iface>
- <iface>
Name of the interface.
Example
<fp-0> rpf6 eth3
eth3: IPv6 RPF is off
Setting IPv6 RPF flag¶
Synopsis
rpf6-set <iface> on|off
- <iface>
Name of the interface.
- on or off
Enable/disable the RPF on this interface (optional). If this argument is omitted, only the status of the RPF check is displayed.
Example
<fp-0> rpf6-set eth3 on
eth3: IPv6 RPF is on
<fp-0> iface
9:eth3 [VR-0] ifid=9 (port 2) <UP|RUNNING|FWD4|FWD6|RPF6> (0x663)
type=ether mac=00:1b:21:c5:7f:76 mtu=1500 tcp6mss=0 tcp6mss=0
IPv4 routes=0 IPv6 routes=0
if_ops: rx_dev=none tx_dev=none ip_output=none
TCP MSS clamping¶
TCP MSS clamping can be configured by interface.
Editing the default value of MSS¶
0 means no change is made in packets.
Synopsis
tcpmss6-set <iface> <mss6>
- <iface>
Name of the interface.
- <mss6>
MSS, default is 0 (disabled).
Example
<fp-0> tcpmss6-set eth0 1440
Statistics¶
Displaying IPv6 statistics¶
Synopsis
ip6-stats [percore|agg[regated]] [all]
- percore
Display all statistics per core running the fast path.
- aggregated
Display sum of Linux and fast path statistics.
- all
Display all statistics (even those that are null).
Example
<fp-0> ip6-stats all
IpForwDatagrams:232
IpInReceives:232
IpInReceivesRaw:232
IpInReceivesExcept:0
IpInDelivers:124
IpInHdrErrors:0
IpInTruncatedPkts:0
IpInAddrErrors:0
IpDroppedNoArp:0
IpDroppedNoMemory:0
IpDroppedForwarding:0
IpDroppedIPsec:0
IpDroppedBlackhole:0
IpDroppedInvalidInterface:0
IpDroppedNetfilter:0
IpDroppedRouteException:0
IpReasmReqds:0
IpReasmOKs:0
IpReasmFails:0
IpReasmTimeout:0
IpReasmExceptions:0
IpFragOKs:0
IpFragFails:0
IpFragCreates:0
IpReasmErrorPacketTooShort:0
IpReasmErrorTooManySegments:0
IpReasmErrorHeaderEncap:0
IpReasmErrorFragmentHeader:0
IpReasmErrorQueueFull:0
IpReasmErrorIPOptionTooLarge:0
IpReasmErrorSizeExceed:0
IpReasmErrorLastAlreadyReceived:0
IpReasmErrorSizeOverflow:0
IpReasmErrorOverlapPrevious:0
IpReasmErrorOverlapNext:0
IpReasmErrorQueueAlloc:0
IpReasmErrorOffsetTooLarge:0
IpReasmDroppedSessionComplete:0
IpReasmDroppedSessionAlreadyFull:0
IpNhrpPacket:0
IpNhrpErrorSend:0
IpNhrpPacket:0
IpSr6HdrProcessed:0
IpSr6HdrErrors:0
IpSr6Inline:0
IpSr6InlineErrors:0
IpSr6Encap:0
IpSr6EncapErrors:0
IpSr6L2Encap:0
IpSr6L2EncapErrors:0
Transparent IPv6 extended header support¶
The default handling of IPv6 packets with Hop-by-hop extension headers is to send these packets to control plane, where the kernel will have a specific management.
This option is used to ignore the non-default extension header of the packets and forward the packets containing an extended header as if they had a default header.
To enable or disable check of IPv6 options use the ip6-options
and
ip6-options-set
commands. If the options checking is disabled IP packets
with non-default header length are transparently forwarded.
Displaying fast path processing of IPv6 packets with options in header¶
Synopsis
ip6-options
Example
<fp-0> ip6-options
IPv6 options are checked
Defining fast path processing of IPv6 packets with options in header¶
The default behavior of the fast path is to send IPv6 packets with non-default header lenght to the control plane as exception packets.
Synopsis
ip6-options-set ignore|check
- ignore or check
Check: packets with extended option are sent as exception to the control plane.
Example
<fp-0> ip6-options
IPv6 options are checked
<fp-0> ip6-options-set ignore
IPv6 options are ignored
SRv6 support¶
Segment Routing over IPv6 is a source routing technique. It uses a type of routing extension header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the destination address of the packet. The next active segment is indicated by a pointer in the new routing header.
There are 3 different types of nodes that may be involved in segment routing networks:
Source node
Transit node
Endpoint node
To enable an interface as an active segment in Linux:
# sysctl -w net.ipv6.conf.all.seg6_enabled=1
# sysctl -w net.ipv6.conf.eth1.seg6_enabled=1
SR Source Node¶
A source node originates an IPv6 packets with a segment routing header.
Example
Add an IPv6 route with SRv6 encapsulation and two segments attached:
# ip -6 route add 2001:db8:1::/64 encap seg6 mode encap segs 2001:db8:1::1,2001:db8:1::2 dev eth1
Modes supported
SEG6 modes currently supported by Fast Path:
inline: Insert Segment Routing Header after IPv6 header
encap: Encapsulate L3 packet in an IPv6 header with Segment Routing Header
l2encap : Encapsulate L2 packet in an IPv6 header with Segment Routing Header
IPv6 source address for encapsulation¶
For encap and l2encap mode, it is possible to manually set the IPv6 source address for the outer header. By default, the source address is set to ::, it will select an interface address but it may affect performance.
# ip sr tunsrc set 2001:db8:1::3
HMAC usage and configuration¶
The use of a HMAC TLV with SRH will ensure the authenticity and integrity of the SRH.
To set a HMAC TLV with SRH, parameter hmac <keyid>
is added to ip route
command:
# ip -6 route add 2001:db8:1::/64 encap seg6 mode encap segs 2001:db8:1::1,2001:db8:1::2 hmac 10 dev eth1
The HMAC keyid is mapped to the HMAC key info set with the command:
# ip sr hmac set 10 sha1
The current algorithms supported are sha1 and sha256.
Display HMAC keys info in fastpath:
<fp-0> sr6-hmac-key
vrfid 0 hmac keyid 10 algo sha1 secret "doc"
To accept only SRv6 packets with HMAC TLV, the seg6_require_hmac sysctl options must be set to 1, other possible values are -1 (Ignore HMAC TLV) and 0 (accept and validate HMAC TLV):
# sysctl -w net.ipv6.conf.eth1.seg6_require_hmac=1
SR Transit Node¶
A transit node is any node forwarding an IPv6 packet where the destination address of that packet is not locally configured as a segment, it acts like a classic forwarding node. Segment routing support is not required for this type of node.
SR Endpoint Node¶
An endpoint node is any node receiving an IPv6 packet where the destination address of that packet is locally configured as a segment.
This is possible to define a special behavior for a segment like the example below.
Example
Add an IPv6 route to decapsulate a L2 packet within an IPv6 header with SRH and forward it via eth1 interface:
# ip -6 route add fdaa::1/128 encap seg6local action End.DX2 oif eth1 dev eth1
Actions supported
SEG6LOCAL actions currently supported by Fast Path:
End: Regular endpoint
End.DX2: Endpoint with decapsulation and L2 cross-connect
End.B6: Insert a specified SRH before the current SRH
End.B6.Encaps: Regular endpoint and encapsulate L3 packet in an IPv6 header with SRH
More information about Endpoint actions behaviors: https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-28
Providing options¶
Some capabilities can be tuned for this module.
Example
FP_OPTIONS="--mod-opt=ip6:--max-neigh=100"
- --max-addr¶
Maximum number of IPv6 addresses
- Default value
4096
- Memory footprint per IPv6 address
20 B
- Range
0 .. 4M
- --max-route¶
Maximum number of IPv6 routes
- Default value
50000
- Memory footprint per IPv6 route
50 B
- Range
0 .. 4M
- --max-neigh¶
Maximum number of IPv6 neighbors
- Default value
5000
- Memory footprint per IPv6 neighbor
50 B
- Range
0 .. 400K
- --max-reass-queues¶
Power of 2 of the maximum number of simultaneous reassembly procedures for IPv6
- Default value
6
- Memory footprint
None
- Range
0 .. 30
- --reass-hash-order¶
Size order of reassembly hash table for IPv6. Value automatically updated if
--max-reass-queues
is changed.- Default value
7
- Range
1 .. 31
- --max-reass-time¶
Maximum lifetime of a reassembly procedure for IPv6 (ms).
- Default value
2000
- Range
1 .. 100M
- --max-reass-interfrag¶
Maximum time between two fragments for a IPv6 reassembly procedure (ms).
- Default value
200
- Range
1 .. 100M
- --max-sr6-segments¶
Maximum number of segment for IPV6 segment routing
- Default value
32
- Range
1 .. 128
- --max-sr6-seg6-lwt¶
Maximum number of lwtunnel SEG6 routes
- Default value
5000
- Memory footprint per SEG6 lwtunnel
60 B + 16 B * max-sr6-segments
- Range
1 .. 400k
- --max-sr6-seg6local-lwt¶
Maximum number of lwtunnel SEG6_LOCAL routes
- Default value
5000
- Memory footprint per SEG6 lwtunnel
92 B + 16 B * max-sr6-segments
- Range
1 .. 400k
- --max-sr6-hmac-keys¶
Maximal number of HMAC keys for IPV6 segment routing
Default value
- Memory footprint per SEG6 lwtunnel
86B
- Range
1 .. 10k
- --max-sr6-hmac-keys¶
Size order of HMAC keys hash table for IPV6 segment routing
Default value
- Range
1 .. 31
Note
See Fast Path Capabilities documentation for impact of the available memory on the default value of configurable capabilities