FRRouting, a comprehensive routing protocol suite, is experiencing significant development activity focused on bug fixes and feature enhancements, although stability issues persist, particularly with memory management and routing protocol interactions.
FRRouting (FRR) is an open-source routing protocol suite supporting various IPv4 and IPv6 protocols, designed for Linux and BSD systems. It aims to provide robust network routing solutions with extensive protocol support.
Recent issues and pull requests (PRs) indicate ongoing challenges in maintaining system stability. Key issues include memory leaks, route management inconsistencies, and specific protocol problems with OSPF and BGP. These suggest potential regressions or bugs in recent versions, particularly affecting IPv6 routes and multi-protocol interactions.
Jafar Al-Gharaibeh (Jafaral)
Donald Sharp
Christian Hopps (choppsv1)
Donatas Abraitis (ton31337)
Louis Scalbert (louis-6wind)
Dmitrii Turlupov
Mark Stapp (mjstapp)
Carmine Scarpitta (cscarpit)
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 7 | 7 | 13 | 0 | 1 |
30 Days | 26 | 22 | 73 | 3 | 1 |
90 Days | 91 | 82 | 268 | 11 | 2 |
1 Year | 317 | 200 | 1160 | 44 | 3 |
All Time | 3651 | 3299 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Carmine Scarpitta | 4 | 2/2/0 | 85 | 70 | 6555 | |
Louis Scalbert | 9 | 21/12/1 | 51 | 61 | 2839 | |
Donatas Abraitis | 8 | 24/21/1 | 16 | 24 | 717 | |
Christian Hopps | 2 | 8/8/0 | 11 | 27 | 603 | |
Jafar Al-Gharaibeh | 4 | 11/10/1 | 9 | 21 | 329 | |
sri.mohan | 1 | 4/4/0 | 4 | 10 | 316 | |
Donald Sharp | 3 | 23/19/1 | 7 | 4 | 303 | |
Mark Stapp | 1 | 0/0/0 | 4 | 7 | 78 | |
Denys Haryachyy | 5 | 1/1/0 | 5 | 1 | 30 | |
Dmitrii Turlupov | 5 | 0/0/0 | 5 | 1 | 20 | |
Acee Lindem | 1 | 3/2/1 | 1 | 1 | 16 | |
Loïc Sang | 1 | 0/0/0 | 2 | 2 | 15 | |
Corey Siltala | 2 | 0/0/0 | 2 | 1 | 10 | |
aapostoliuk | 1 | 1/1/0 | 1 | 1 | 9 | |
anlancs | 1 | 2/2/0 | 1 | 1 | 8 | |
Giovanni Tataranni | 1 | 4/1/1 | 1 | 1 | 6 | |
Martin Winter | 1 | 1/1/0 | 1 | 1 | 6 | |
Sindhu Parvathi Gopinathan | 1 | 0/0/0 | 1 | 1 | 4 | |
Dmitrii Turlupov (ak503) | 0 | 1/1/0 | 0 | 0 | 0 | |
None (csilt) | 0 | 1/1/0 | 0 | 0 | 0 | |
Olivier Dugeon | 0 | 0/0/0 | 0 | 0 | 0 | |
Adam Smith (yzguy) | 0 | 1/0/1 | 0 | 0 | 0 | |
Nathan Bahr (nabahr) | 0 | 1/0/0 | 0 | 0 | 0 | |
Russ White | 0 | 0/0/0 | 0 | 0 | 0 | |
Mark Stapp | 0 | 6/4/1 | 0 | 0 | 0 | |
Vladislav Odintsov (odivlad) | 0 | 1/0/0 | 0 | 0 | 0 | |
Quentin Young (qlyoung) | 0 | 1/1/0 | 0 | 0 | 0 | |
None (JosiahMg) | 0 | 1/0/0 | 0 | 0 | 0 | |
Julian Klaiber (jklaiber) | 0 | 1/0/0 | 0 | 0 | 0 | |
Kristof Provost (kprovost) | 0 | 1/1/0 | 0 | 0 | 0 | |
None (leonshaw) | 0 | 2/0/0 | 0 | 0 | 0 | |
None (zhou-run) | 0 | 1/0/0 | 0 | 0 | 0 | |
Mingwei Zheng (zmw12306) | 0 | 1/0/0 | 0 | 0 | 0 | |
Martin Buck (gromit1811) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (lsang6WIND) | 0 | 3/2/1 | 0 | 0 | 0 | |
YX (xingrenwai) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (DennyAgussy) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (baozhen-H3C) | 0 | 0/0/1 | 0 | 0 | 0 | |
Chirag Shah (chiragshah6) | 0 | 1/1/0 | 0 | 0 | 0 | |
Joshua Muthii (jmuthiilabn) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (mergify[bot]) | 0 | 53/44/8 | 0 | 0 | 0 | |
None (enkechen-panw) | 0 | 4/0/1 | 0 | 0 | 0 | |
Philippe Guibert (pguibert6WIND) | 0 | 6/1/3 | 0 | 0 | 0 | |
Rajasekar Raja (raja-rajasekar) | 0 | 2/1/0 | 0 | 0 | 0 | |
Yiheng Cao (Crispy-fried-chicken) | 0 | 1/0/1 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
The FRRouting project has seen a significant amount of recent activity, with 352 open issues currently logged. Notably, there are several recurring themes in the issues, including memory leaks, route management inconsistencies, and problems related to specific routing protocols like OSPF and BGP. Some issues indicate potential regressions or bugs introduced in recent versions, particularly concerning the handling of IPv6 routes and the interaction between different routing protocols.
Several issues highlight critical failures in route advertisement and management, particularly when interfaces go down or when configurations are changed. The presence of multiple reports about memory leaks and crashes suggests that the project may be experiencing stability challenges as it evolves.
Here are some of the most recently created and updated issues:
Issue #16833: OSPF timers throttle spf: holdTimeMultiplier not reset, causing incorrect min_holdtime
Issue #16790: Static route missing from config, not configured
Issue #16770: Non-advertised Interface Down/Up Impacts OSPF Advertised Routes
Issue #16767: FRR 8.2 version ospf with gre, when gre_0 interface down and up, route can't update automatically
Issue #16763: How to build docs?
Issue #16755: BGPd: member access within null pointer of type 'struct lysc_node_action'
Issue #16747: zebra_apic threads not started after FRR service restart
Issue #16744: Limited number of VRFs in VPNv4
Issue #16696: vrrp backup node reply virtual ip mac address
Issue #16666: static routes not removed from kernel
Overall, these issues reflect ongoing challenges that may require focused development efforts to enhance stability and usability across various configurations and use cases within the FRRouting project.
The analysis of the recent pull requests (PRs) for the FRRouting (FRR) project reveals a total of 203 open PRs, with significant activity focused on bug fixes, enhancements for existing features, and improvements in code maintainability. Notably, several PRs address issues related to routing protocols and their interactions with the system's networking stack.
PR #16832: zebra: Resolve the nexthop being tracked to a non-BGP route
PR #16831: bgpd: check coalesce time race condition
PR #16830: bgpd: fix missing addpath withdrawal race condition
PR #16828: zebra: include the prefix in nht show command
PR #16816: bgpd: Implement BGP dual-as feature
PR #16811: tests: cleanup ospf6 ecmp inter area
PR #16809: isisd: fix rcap tlv double-free crash
PR #16800: Nhg reuse intf down up
PR #16797: Create testcase to more easily reproduce #16197
PR #16796: tools: add logfmt option for frr-reload.py
The current landscape of open pull requests within the FRRouting project indicates a strong focus on improving the robustness and functionality of routing protocols, particularly BGP and IS-IS. A recurring theme across several PRs is addressing race conditions and memory management issues, which are critical for maintaining system stability under high load or complex routing scenarios.
Bug Fixes and Stability Improvements: Many recent PRs target specific bugs that have been identified through user reports or internal testing. For instance, PRs addressing race conditions in BGP path withdrawals (#16830) and memory management issues in IS-IS (#16809) highlight ongoing efforts to enhance software reliability.
Enhancements to Existing Features: Several pull requests introduce new features or enhance existing ones, such as dual-AS support in BGP (#16816) and improvements in nexthop group handling (#16800). These enhancements reflect an active development cycle aimed at expanding FRR's capabilities to meet evolving network requirements.
Testing and Validation Improvements: The introduction of new test cases (#16797) and cleanup efforts in existing tests (#16811) demonstrate a commitment to maintaining high-quality code through rigorous testing practices. This is essential for ensuring that new features do not introduce regressions or instability into the system.
Documentation and Usability Enhancements: Several PRs focus on improving documentation or usability aspects of the codebase, such as adding logging options (#16796) or clarifying command functionalities (#16828). These changes are crucial for fostering community engagement and making it easier for users to adopt new features.
While there is significant activity in terms of open PRs, there appears to be a lag in merging these changes into the main branch. This could be attributed to:
In conclusion, while FRRouting continues to evolve with robust contributions from its community, attention should be given to streamlining the merge process and addressing architectural challenges that lead to recurring issues. Enhanced communication among contributors regarding feature implementations may also help mitigate conflicts and expedite development cycles.
Jafar Al-Gharaibeh (Jafaral)
Donald Sharp
Christian Hopps (choppsv1)
Donatas Abraitis (ton31337)
Louis Scalbert (louis-6wind)
Dmitrii Turlupov
Mark Stapp (mjstapp)
Carmine Scarpitta (cscarpit)
The development team is engaged in a dynamic workflow characterized by collaborative efforts to enhance the FRRouting project. With a strong focus on bug fixing, feature enhancement, and robust testing practices, they are actively working towards maintaining the project's reliability while expanding its capabilities. The presence of multiple contributors working on similar issues indicates a healthy collaborative environment aimed at achieving project goals efficiently.