Description

Reconfiguring the flow routes can cause memory leak and leads to RPD crash.

Symptoms

On all Junos and Junos OS Evolved platforms, if the nexthop of a flow route is the same as it was before when reconfiguring flow routes, memory leak occurs. High memory use of routing process daemon(rpd) is seen as a result of this leak. A kernel out of memory message is observed which results BGP flap.


This issue might be seen if the following conditions are met:

* On all Junos and Junos OS Evolved platforms

* Static flow-spec is enabled

* Reconfiguring the flow routes(example: set routing-options flow route <r1> match <destination-port>)

Solution

  • The issue happens when reconfiguring the flow route and if the nexthop of flow route is same as before, in that case ref-count is not releasing on next-hop (NH) template results memory leak followed by BGP flap.
  • The rpd uses a lot of memory as a result of this leak. At one point, a kernel out of memory message is seen, creating a BGP flap.
  • The issue will be identified by running the command 'show task memory detail'. The high usage of resources by rpd can be noticed in the output.
  • This issue is tracked on the PR1742147.

Workaround:

  • To restore the service, we may have to restart the rpd process during the MW time. 

This issue is also resolved in the following Junos releases:

evo:21.2R3-S6-EVO evo:21.4R3-S5-EVO evo:22.1R3-S4-EVO evo:22.2R3-S2-EVO evo:22.3R3-S1-EVO evo:22.4R3-EVO evo:23.1R2-EVO evo:23.2R1-S1-EVO evo:23.2R2-EVO evo:23.3R1-EVO evo:23.4R1-EVO junos:20.4R3-S8 junos:21.2R3-S6 junos:21.4R3-S5 junos:22.1R3-S4 junos:22.2R3-S2 junos:22.3R3-S1 junos:22.4R3 junos:23.1R2 junos:23.2R1-S1 junos:23.2R2 junos:23.3R1 junos:23.4R1


Modification History

2025-02-24 : Article Created