Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Understanding the Unified Forwarding Table

 

Traditionally, forwarding tables have been statically defined and have supported only a fixed number of entries for each type of address. The Unified Forwarding Table (UFT) feature enables you to allocate forwarding table resources to optimize the memory available for different address types based on the needs of your network. You can choose to allocate a higher percentage of memory for one type of address or another.

Using the Unified Forwarding Table to Optimize Address Storage

On QFX5100, EX4600, QFX5200 and OCX1100 switches, you can control the allocation of forwarding table memory available to store the following:

  • MAC addresses—In a Layer 2 environment, the switch learns new MAC addresses and stores them in a MAC address table

  • Layer 3 host entries–In a Layer 2 and Layer 3 environment, the switch learns which IP addresses are mapped to which MAC addresses; these key-value pairs are stored in the Layer 3 host table.

  • Longest prefix match (LPM) table entries—In a Layer 3 environment, the switch has a routing table and the most specific route has an entry in the forwarding table to associate a prefix or netmask to a next hop. Note, however, that all IPv4 /32 prefixes and IPv6 /128 prefixes are stored in the Layer 3 host table.

    Note

    Starting with Junos OS 13.2X51-D15, you can allocate more memory to store prefixes in the range /65 to /127 range.

    Note

    Platform support depends on the Junos OS release in your installation.

When to Use a United Forwarding Table

This feature gives you the flexibility to configure your switch to match the needs of your particular network environment. For example, you might configure the switch to store more MAC addresses in a Layer 2 network, such as a virtualized network with many servers and virtualized machines. On the other hand, if your switch is located in the routing core of a network or participates in an IP fabric, you probably want to maximize the number of routing table entries it can store. In this case, you would configure it to use the lpm-profile, which provides the most longest prefix match table entries.

UFT essentially combines the three distinct forwarding tables to create one table with flexible resource allocation. You can select one of five forwarding table profiles that best meets your network needs. Each profile is configured with different maximum values for each type of address. For example, for a switch that handles a great deal of Layer 2 traffic, such as a virtualized network with many servers and virtualized machines, you would likely choose a profile that allocates a higher percentage of memory to MAC addresses. For a switch that operates in the core of a network, participates in an IP fabric, you probably want to maximize the number of routing table entries it can store. In this case, you would choose a profile that allocates a higher percentage of memory to longest match prefixes. The QFX5200 switch also supports a custom profile that allows you to partition the four available shared memory banks with a total of 128,000 entries among MAC addresses, Layer 3 host addresses, and LPM prefixes.

Note

Support for QFX5200 switches was introduced in Junos OS Release 15.1x53-D30. The QFX5200 switch is not supported on Junos OS Release 16.1R1.

MAC Address and Host Address Memory Allocation

There are several profiles that allocate memory differently for MAC addresses and host addresses. You configure the mix that best meets your needs by choosing the appropriate profile. Table 1 lists the profiles you can choose and the associated maximum values for the MAC address and host table entries on QFX3500, QFX3600, and QFX5100 switches.

Table 1: Unified Forwarding Table Profiles on QFX3500, QFX3600, and QFX5100 Switches

Profile NameMAC TableHost Table (unicast and multicast addresses)
 MAC AddressesIPv4 unicastIPv6 unicastIPv4 (*, G)IPv4 (S, G)IPv6 (*, G)IPv6 (S, G)

l2-profile-one

288K

16K

8K

8K

8K

4K

4K

l2-profile-two

224K

80K

40K

40K

40K

20K

20K

l2-profile-three (default)

160K

144K

72K

72K

72K

36K

36K

l3-profile

96K

208K

104K

104K

104K

52K

52K

lpm-profile

32K

16K

8K

8K

8K

4K

4K

lpm-profilewith unicast-in-lpm option

32K

(stored in LPM table)

(stored in LPM table)

8K

8K

4K

4K

Note

On QFX5100 and QFX5200 switches, IPv4 and IPv6 host routes with ECMP next hops are stored in the host table. On QFX3500 and QFX3600 switches, these routes are stored in the LPM table.

The QFX5100, and QFX5200 switches all support five profiles, each of which allocates different amounts of memory for Layer 2 or Layer 3 entries, enabling you choose one that best suits the needs of your network. The QFX5200 switch, however, supports different maximum values for each profile from the other switches. The QFX5200 switch also supports a custom profile. For more information about the custom profile, see Configuring the Unified Forwarding Table on Switches.

Table 2 lists the profiles you can choose and the associated maximum values for the MAC address and host table entries on QFX5200 switches.

Table 2: Unified Forwarding Table Profiles on QFX5200 Switches

Profile NameMAC TableHost Table (unicast and multicast addresses)

 MAC AddressesIPv4 unicastIPv6 unicastIPv4 (*, G)IPv4 (S, G)IPv6 (*, G)IPv6 (S, G)Exact-Match

l2-profile-one

136K

8K

4K

4K

4K

2K

2K

0

l2-profile-two

104K

40K

20K

20K

20K

10K

10K

0

l2-profile-three (default)

72K

72K

36K

36K

36K

18K

18K

0

l3-profile

40K

104K

52K

52K

52K

26K

26K

0

exact-match-profile

8K

8K

4K

4K

4K

2K

2K

64K

lpm-profile

8K

8K

4K

4K

4K

2K

2K

0

lpm-profilewith unicast-in-lpm option

?

(stored in LPM table)

(stored in LPM table)

?

?

?

?

0

Note that all entries in the host table share the same memory space. If the host table stores the maximum number of entries for any given type, the entire shared table is full and is unable to accommodate any entries of any other type. As you can see, different entry types occupy different amounts of memory. For example, an IPv6 unicast address occupies twice as much memory as an IPv4 unicast address, and an IPv6 multicast address occupies four times as much memory as an IPv4 unicast address. Table 3 lists various valid combinations that the host table can store if you use the l2-profile-one profile on a QFX5100 switch. Each row in the table represents a case in which the host table is full and cannot accommodate any more entries.

Table 3: Example Host Table Combinations Using l2-profile-one on a QFX5100 Switch

IPv4 unicastIPv6 unicastIPv4 multicast

(*, G)
IPv4 multicast

(S, G)
IPv6 multicast

(*, G)
IPv6 multicast

(S, G)

16K

0

0

0

0

0

12K

2K

0

0

0

0

12K

0

2K

2K

0

0

8K

4K

0

0

0

0

4K

2K

2K

2K

0

0

0

4K

0

0

1K

1K

Note

On QFX5100 and QFX5200 switches, IPv4 and IPv6 host routes with ECMP next hops are stored in the host table.

Note

The default profile is l2-profile-three, which allocates equal space for MAC Addresses and Layer 3 host addresses and space equal to 16,000 IPv4 entries for the LPM table.

Best Practice

If the host or LPM table stores the maximum number of entries for any given type of entry, the entire shared table is full and is unable to accommodate any entries of any other type. Different entry types occupy different amounts of memory. For example, an IPv6 unicast address occupies twice as much memory as an IPv4 unicast address, and an IPv6 multicast address occupies four times as much memory as an IPv4 unicast address.

LPM Table Memory Allocation

You configure the memory allocation for LPM table entries differently depending on which version of Junos OS you use. To learn how to configure memory allocation for LPM table entries see Configuring the Unified Forwarding Table on Switches. Starting with Junos OS 14.1X53-D30 you can free memory in the host table by using the unicast-in-lpm option with the lpm-profile to store IPv4 and IPv6 unicast addresses in the LPM table instead of the host table. See Configuring the lpm-profile With Junos OS 14.1x53-D30 and Later.

Release History Table
Release
Description
Starting with Junos OS 14.1X53-D30 you can free memory in the host table by using the unicast-in-lpm option with the lpm-profile to store IPv4 and IPv6 unicast addresses in the LPM table instead of the host table.
Starting with Junos OS 13.2X51-D15, you can allocate more memory to store prefixes in the range /65 to /127 range.