This is the documentation for the v21.03 version. Looking for the documentation of the latest version? Have a look here.

Working with Large BGP TablesΒΆ

When working with a large set of routes, roughly exceeding 30,000 route table entries, TNSR may require additional memory to be allocated for the VPP dataplane Forwarding Information Bases (FIB). Smaller routing tables do not require special configuration.


Changes in the dataplane memory behavior in TNSR 20.10.1 make most tuning unnecessary. Recommendations from previous versions may no longer apply. Only make changes if a TNSR instance experiences problems with large route tables.

This memory allocation can be performed in configuration mode using one of the following commands:

IPv4 now uses the main heap for memory instead of its own setting, and thus is unlikely to need tuning.

IPv6 (Memory) still uses its own separate heap:

tnsr# configure
tnsr(config)# dataplane ip6 heap-size <size>

The format of the size is <number>[KMG], for example: 512M or 1G for 512 Megabytes or 1 Gigabyte, respectively.

Additionally, the statistics segment heap size may also need to be increased (Statistics Segment):

tnsr# configure
tnsr(config)# dataplane statseg heap-size <size>


The default size for dataplane statseg heap-size is 96MB, which is sufficient for approximately one million routes when worker threads are not in use.

See also

For more details about selecting an appropriate heap-size value, especially when worker threads are enabled, see Statistics Segment.

The VPP dataplane service requires a restart to enable these configuration changes. Restart VPP from the TNSR configuration mode CLI using the following command:

tnsr# configure
tnsr(config)# service dataplane restart