Page MenuHomeVyOS Platform

VyOS' FRR is not linked against PCRE2, reducing BGP convergence performance
Open, LowPublic

Description

The FRR builds in, at least, 1.4 are not linked against libpcre2, due to upstream not including that in the supplied debian/rules file (see: https://github.com/FRRouting/frr/issues/17365 )

For a standard 1.4:

% lddtree libfrr.so.0
libfrr.so.0 => ./libfrr.so.0 (interpreter => /lib64/ld-linux-x86-64.so.2)

libcap.so.2 => /usr/lib64/libcap.so.2
libyang.so.2 => not found
libcrypt.so.1 => /usr/lib64/libcrypt.so.1
libm.so.6 => /lib64/libm.so.6
libprotobuf-c.so.1 => not found
liblua5.3.so.0 => not found
libjson-c.so.5 => /usr/lib64/libjson-c.so.5
libc.so.6 => /lib64/libc.so.6
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2

for a patched build with libpcre2:

% lddtree libfrr.so.0
libfrr.so.0 => ./libfrr.so.0 (interpreter => /lib64/ld-linux-x86-64.so.2)

libcap.so.2 => /usr/lib64/libcap.so.2
libyang.so.2 => not found
libcrypt.so.1 => /usr/lib64/libcrypt.so.1
libm.so.6 => /lib64/libm.so.6
libprotobuf-c.so.1 => not found
libpcre2-posix.so.3 => /usr/lib64/libpcre2-posix.so.3
    libpcre2-8.so.0 => /usr/lib64/libpcre2-8.so.0
liblua5.3.so.0 => not found
libjson-c.so.5 => /usr/lib64/libjson-c.so.5
libc.so.6 => /lib64/libc.so.6
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2

For a multi-fulltable border router, libpcre2 linking reduces the convergence time by 5-10 minutes.

As such, FRR in VyOS should be built against libpcre2.

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Performance optimization

Event Timeline

tfiebig created this object in space S1 VyOS Public.
dmbaturin changed the task status from Duplicate to Resolved.Tue, Dec 3, 3:45 PM
dmbaturin changed Is it a breaking change? from Unspecified (possibly destroys the router) to Perfectly compatible.
dmbaturin added subscribers: Loremo, pasik, Apachez.
dmbaturin moved this task from Backlog to Finished on the VyOS 1.4 Sagitta (1.4.1) board.
dmbaturin moved this task from Finished to Backlog on the VyOS 1.4 Sagitta (1.4.1) board.