Description

Node went unreachable after master switch.

Symptoms

-rw-rw----  1 root  wheel    9553185 Aug 1  00:22 /var/tmp/rpd.core-tarball.0.tgz
-rw-rw----  1 root  wheel    9551758 Aug 1  00:22 /var/tmp/rpd.core-tarball.1.tgz
-rw-rw----  1 root  wheel    9623408 Aug 1  00:22 /var/tmp/rpd.core-tarball.2.tgz
-rw-rw----  1 root  wheel    9634913 Aug 1  00:23 /var/tmp/rpd.core-tarball.3.tgz
-rw-rw----  1 root  wheel    9030661 Aug 1  02:42 /var/tmp/rpd.core-tarball.4.tgz

Solution

Upon analysis of core dumps, it was identified to be an issue with ISIS multi-instance scenario.


The root cause is the way that multi-instance ISIS uses rtbits from the RT infrastructure.

Currently each isis-instance is allocating it's own set of rtbits. The number of rtbits that can be allocated in the RT infrastructure is limited to 32.


The fix for this will require writing a shim layer between RT infra code and ISIS code to allow all ISIS code to share a single set of rtbits.

A good model for doing this can be found in bgp_rib.c. Ideally the new code to do this would be written in a generic manner and committed to rpd/lib/rt so that future OSPF multi-instance work can use it as well.


This was fixed via PR1584743.

Modification History

2026-08-16 : Article Created