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

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.

Table 1. 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

  • 1 SW entry can store 1 IPv4 host entry or 1 MAC address.

  • 1 DW entry can store 1 IPv6 host entry.

  • If a bank has any DW entry, it is forced into DW mode.

If ALPM (Algorithmic Longest Prefix Matching) 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

  • 1 SW entry can store 1 IPv4 host entry or 1 MAC address.

  • 1 DW entry can store 1 IPv6 host entry.

  • If a bank has any DW entry, it is forced into DW mode.

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.

7220 IXR-D5

Support for UFT modes 19 (default) and 16 Default UFT allocations and hardware LPM table parameters.

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.

Table 2. 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.