The release of the portable edition of the OpenBGPD 9.1 routing package has been announced, developed by the OpenBSD project team and adapted for use on FreeBSD and Linux (support is claimed for Alpine, Debian, Fedora, RHEL/CentOS, Ubuntu). To ensure portability, parts of the code from the OpenNTPD, OpenSSH, and LibreSSL projects have been utilized. The project supports most of the BGP 4 specifications and complies with RFC8212 requirements, but does not attempt to cover everything, primarily offering support for the most requested and common features.
The development of OpenBGPD is supported by the regional internet registrar RIPE NCC, which is interested in enhancing the functionality of OpenBGPD for use in servers traffic routing at Internet Exchange Points (IXP) and in creating a full-fledged alternative to the BIRD package (among the open alternatives implementing the BGP protocol, projects such as FRRouting, GoBGP, ExaBGP, and Bio-Routing can be noted).
The project focuses on ensuring the highest level of security and reliability. It employs strict checks on the correctness of all parameters, tools to enforce buffer boundaries, privilege separation, and access restriction to system calls. Advantages also include an easy-to-use configuration definition language syntax, high performance, and efficiency in memory usage (for example, OpenBGPD can work with routing tables containing hundreds of thousands of entries).
Key changes in the new version:
- The performance of the outbound filter has been improved. Filtering rules are now stored in an array, and duplicate filters across different peers are deduplicated.
- During the RDE (Route Decision Engine) process, performance for processing filter tables (filter_sets) has been enhanced—filters have been moved to a linear object array for improved caching efficiency. On servers with a large number of routes, filter-related optimizations have reduced the initial synchronization time by more than 25%.
- Error logging for attribute parsing that leads to session collection has been improved.
- Additional metrics have been added to the 'show rib memory' command to assess memory consumption.
Source: opennet.ru
