UFT profiles
The processors in 7220 IXR-D1/D2/D3, 7220 IXR-D5, 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
LPM table partitioning
On 7220 IXR-D1/D2/D3 and 7220 IXR-H2/H3 systems, 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.
On 7220 IXR-D5 systems, ALPM support differs from 7220 IXR-D1/D2/D3 and 7220 IXR-H2/H3 systems. There is no carving of the L3_DEFIP table controlled by a parameter like ipv6-128bit-lpm-entries. All IPv6 routes are equivalent, regardless of prefix length.
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 |
7220 IXR-D5 |
Unlike the other IXR devices, IXR 7220-D5 uses UFT modes to control table sizes and allocation of resources. Up to 17 UFT modes are supported. In the UFT profile, you can configure the IXR 7220-D5 to operate in one of two UFT modes: UFT mode 19 and UFT mode 16. |
UFT mode 19: scaled LPM (default) Up to 64K unicast MAC table entries ALPM with support for 648K IPv4 routes or 412K IPv6 routes Up to 64K IP host table entries This mode is selected when alpm high-scale is configured. |
|
UFT mode 16: balanced L2/L3 host tables with LPM support Up to 256K unicast MAC table entries ALPM with support for 64K IPv4 routes or 47K IPv6 routes Up to 288K IP host table entries This mode is selected when alpm enabled is configured. |
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 examples.
Configure a UFT profile for 7220 IXR-D1
The following 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
}
}
}
Configure a UFT profile for 7220 IXR-D5
The following example configures a UFT profile for a 7220 IXR-D5 system. The alpm parameter is set to enabled, which causes the device to operate in UFT mode 16 (see Default UFT allocations and hardware LPM table parameters).
--{ * candidate shared default }--[ ]--
# info platform resource-management unified-forwarding-resources
platform {
resource-management {
unified-forwarding-resources {
alpm enabled
}
}
}
Restart XDP to activate changes
UFT profile configuration changes do not take effect immediately when the changes are committed; they take effect the next time XDP is restarted. The following example restarts XDP:
--{ running }--[ ]--
# tools system app-management application xdp_lc_1 restart
/system/app-management/application[name=xdp_lc_1]:
Application 'xdp_lc_1' was killed with signal 9
/system/app-management/application[name=xdp_lc_1]:
Application 'xdp_lc_1' was restarted
On 7220 IXR-D1, D2, and D3 systems and 7220 IXR-H2 and H3 systems, this command also restarts XDP-CPM, which causes a temporary loss of management connectivity.
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.
--{ running }--[ ]--
# 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.