UFT profiles
The processors in 7220 IXR-D1, 7220 IXR-D2/D3, and 7220-IXR H2/H3 systems use shared memory tables known as Unified Forwarding Tables (UFTs). With UFTs, the processor has a set of shared banks that can be partitioned to support the following types of forwarding table entries:
-
Learned MAC addresses
-
IP host entries
-
IP longest-prefix-match routes
The default settings for the shared bank allocations can be changed by modifying the UFT profile for the system.
Shared bank partitioning for SR Linux systems
The number of shared banks, the size of each shared bank, and the way they can be divided depend on the SR Linux system, as described in Shared bank configuration for SR Linux systems.
SR Linux system |
Shared bank configuration |
---|---|
7220 IXR-D1 |
6 shared banks 16K single-wide/SW or 8K double-wide/DW entries per shared bank
If ALPM is enabled, it requires 4 shared banks; each of the remaining banks can be allocated to either IP host entries or MAC addresses. |
7220 IXR-D2/D3 |
8 shared banks 32K single-wide of 16K double-wide entries per shared bank
ALPM can be enabled in 8-bank (high-scale) mode; each of the remaining banks, if there are any, can be allocated to either IP host entries or MAC addresses. |
7220 IXR-H2/H3 |
8 shared banks 8K entries per shared bank ALPM is enabled by default. ALPM uses all of the shared banks. |
LPM table partitioning
IP FIB scale depends significantly on the number of UFT banks used for ALPM, but also depends on the partitioning of the hardware LPM table, which is an always-present TCAM + SRAM table that stores IP LPM route entries.
When ALPM is not active, IP FIB scale is entirely determined by the size and partitioning of this table. When ALPM is active, the hardware LPM table is used as a first-search table into the ALPM banks, so it also plays an important role.
If the ipv6-128bit-lpm-entries parameter is configured to be greater than zero, the hardware LPM table is partitioned into two sub-blocks: a single-wide sub-block and a double-wide sub-block:
The single-wide sub-block can store IPv4 routes (each consuming half of a single-wide entry) and IPv6 routes up to /64 prefix length (each consuming a single-wide entry).
The size of the double-wide sub-block is controlled by the ipv6-128bit-lpm-entries parameter, and this sub-block can store IPv6 routes up to /128 prefix length (each consuming a double-wide entry).
It can also store IPv4 routes and IPv6 routes up to /64 prefix length; inside the double-wide sub-block, IPv4 routes consume half of a single-wide entry, and IPv6 routes up to /64 prefix length require a double-wide entry.
Default UFT allocations for SR Linux systems
The default UFT shared bank allocations and hardware LPM table parameters for each SR Linux system are summarized in Default UFT allocations and hardware LPM table parameters.
SR Linux system |
Default UFT allocations and L3DEFIP table parameters |
---|---|
7220 IXR-D1 |
Extra IP host shared banks: 3 Extra MAC address shared banks: 3 ALPM: disabled ipv6-128bit-lpm-entries: 1024 |
7220 IXR-D2/D3 |
Extra IP host shared banks: 4 Extra MAC address shared banks: 4 ALPM: disabled ipv6-128bit-lpm-entries: 2048 |
7220 IXR-H2/H3 |
ALPM: enabled ipv6-128bit-lpm-entries: 512 |
Configuring a UFT profile
You can change the settings for the UFT shared bank allocations and hardware LPM table parameters from the defaults listed in Default UFT allocations and hardware LPM table parameters by modifying the system UFT profile.
To change the settings for the UFT shared bank allocations and hardware LPM table parameters from the defaults, modify the system UFT profile as shown in the following example.
This example configures a UFT profile for a 7220 IXR-D1 system. The UFT profile enables ALPM and configures 32K extra IP host entries from the UFT shared banks.
--{ * candidate shared default }--[ ]--
# info platform resource-management unified-forwarding-resources
platform {
resource-management {
unified-forwarding-resources {
alpm enabled
requested-extra-ip-host-entries 32768
ipv6-128bit-lpm-entries 1024
}
}
}
UFT profile configuration changes do not take effect immediately when the changes are committed; they take effect the next time XDP is restarted.
Displaying UFT profile information
Use the info from state command to display the UFT profile, including the extra number of host entries and MAC address entries allocated from UFT shared banks.
--{ * candidate shared default }--[ ]--
# info from state platform resource-management unified-forwarding-resources
platform {
resource-management {
unified-forwarding-resources {
xdp-restart-required true
alpm enabled
requested-extra-ip-host-entries 32768
allocated-extra-ip-host-entries 32768
allocated-extra-mac-entries 0
ipv6-128bit-lpm-entries 1024
}
}
}
In the example, the xdp-restart-required
leaf is shown as
true
if a change has been committed to one or more of the
configurable values in the unified-forwarding-resources
container,
but XDP has not yet been restarted. Until XDP is restarted, the operational values
are still the values initialized at the last XDP restart.