Description

The customer had seen multiple crashes and core dumps of the RPD process. When this crashes it causes a drop of customer traffic until the process restarts and recovers.

Symptoms

user@router1> show task memory logical-system LSYS 

Memory        Size (kB) Percentage When

 Currently In Use:   2724560    86% now

 Maximum Ever Used:  2816408    89% 25/03/26 11:03:45

 Available:      3145728    100% now

Solution

64-bit RPD is used by customers with scaling needs that require RPD to support more than the 3 GB of memory possible for 32-bit processes running under 64-bit Junos OS. The key drivers for this are Route Reflector and Layer 3 VPN (L3VPN) applications.

There are no changes in the external behavior or appearance of RPD. If 64-bit Junos OS is installed on a system and 64-bit RPD is enabled, and if that system has enough physical memory to make it practical to run the 64-bit version of RPD, then it will be run automatically and its operation will be transparent to the customer.

The only visible differences are the ability of RPD to scale to much larger configurations (when installed on a system with sufficient memory), and the possible appearance of processes named /usr/libexec64/rpd in the output of the show system processes CLI command.

In the initial release, 64-bit RPD must be explicitly configured for the primary Logical System and each configured Logical System. In subsequent releases, 64-bit mode will be automatically used for the primary Logical System, if sufficient memory is available on the system, and will need to be explicitly disabled if not desired.


This feature will support amd64-based Routing Engine (RE) platforms (RE-1800x and RE-DUO) only. 64-bit RPD will be supported for ATT in 13.2 and for other customers in 14.2.

The existing jroute package will include the 32-bit version of RPD. A new jruntime64 package will include the 64-bit version of RPD and any 64-bit libraries that it requires, and will be included in the standard jinstall64 package. Both 32-bit and 64-bit RPD can run at the same time (in different Logical Systems) on the same system.

The feature will support the subset of routing protocols needed for the BT JCS-based Route Reflector configuration. This subset includes:

- BGP (families: IPv4 unicast, IPv6 unicast, VPNv4 unicast, VPNv6 unicast, inet-mdt)

- OSPFv2 and OSPFv3


The customer arranged a maintenance window and deployed the "set logical-systems <LSYS> system processes routing force-64-bit" option. This has resolved the high resource limit usage of the RPD process. The 32-bit RPD was almost certainly the cause of the crashes.


Additionally, on the MX204 platform, the Junos Virtual Machine (VM) is allocated 16GB of memory from the total 32GB of available RAM on the host Linux system. However, in high-scale Route Reflector configurations, it has been observed that 16GB of memory for the Junos VM is insufficient to support the desired scale. For example, the routing process (rpd) alone can consume more than 10GB of memory.


Starting from Junos 21.2R2, a new feature has been introduced to allow increasing the memory allocation for the Junos VM on MX204. By default, the Junos VM is assigned 16GB of memory, but a new CLI option enables administrators to increase this allocation to 24GB.

To facilitate this configuration, the existing hidden CLI command request vmhost exec has been enhanced to support this requirement. This command must be executed by the root user.

request vmhost exec "set_vjunos_memory high"  ## require root account to execute it

Modification History

2025-03-31 : Article Created