Skip to content

Conversation

@dracazacula
Copy link
Contributor

@dracazacula dracazacula commented Jan 21, 2026

FRR Phase 2 introduces re-encapsulation as the primary repair mechanism. Instead of simply decapsulating, devices implementing FRR Phase 2 can steer affected traffic into alternative, pre-established or dynamically determined TE tunnels, known as backup tunnels. This allows the traffic to remain within the TE domain, preserving pathing optimizations, congestion mitigation, and policy enforcement.

A key capability within FRR Phase 2 is the ability to re-encapsulate traffic not just into a single backup tunnel, but to load-balance across multiple backup tunnels. This multi-tunnel re-encapsulation is critical for:

Effective Load Balancing: During FRR, putting all repaired traffic to a single backup tunnel can overwhelm that path. Supporting multiple next-hops in the backup NHG allows for hardware-based load balancing (ECMP/WCMP) across the diverse repair tunnels, making far better use of available network capacity.

@dracazacula dracazacula requested a review from a team as a code owner January 21, 2026 16:14
@dracazacula
Copy link
Contributor Author

/fptest virtual

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @dracazacula, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the encap_frr_with_reencap_vrf_test by adding a new GRIB-I IPv4 entry and its corresponding next-hop group configuration. This expansion likely aims to cover additional Fast Reroute (FRR) scenarios with re-encapsulation VRF. A platform deviation for ISIS interface configuration was also introduced, and a minor adjustment was made to a test assertion to improve its resilience.

Highlights

  • Platform Deviations: Added a platform deviation for missing_isis_interface_afi_safi_enable in the metadata.textproto file, indicating specific handling for ISIS interface configuration.
  • Test Case Expansion: Extended the encap_frr_with_reencap_vrf_test by introducing a new GRIB-I IPv4 route (203.0.113.102) and its associated next-hop configuration to cover additional Fast Reroute (FRR) scenarios.
  • Test Robustness Improvement: Modified the verifyBgpTelemetry function to use t.Errorf instead of t.Fatal when a BGP neighbor is not formed, allowing the test to continue execution and report other potential issues rather than terminating immediately.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request extends an existing FRR test case by adding a new IP address and its corresponding next-hop configuration. The changes are mostly straightforward, but one modification from t.Fatal to t.Errorf introduces a critical bug that could cause a panic. I've provided a suggestion to fix this. Additionally, I've pointed out the use of a new magic number and recommended using a named constant for better maintainability, in line with the project's style guide.

@coveralls
Copy link

coveralls commented Jan 21, 2026

Pull Request Test Coverage Report for Build 21287586741

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 9.91%

Totals Coverage Status
Change from base Build 21275191675: 0.0%
Covered Lines: 2227
Relevant Lines: 22473

💛 - Coveralls

@dracazacula
Copy link
Contributor Author

/fptest virtual

@dracazacula dracazacula requested a review from gggsmith January 23, 2026 11:18
@dracazacula dracazacula force-pushed the frr_phase2 branch 2 times, most recently from 4f73062 to 655033a Compare January 23, 2026 11:28
@dracazacula dracazacula changed the title Frr phase2 Frr phase2: multiple backup nhs in nhg Jan 23, 2026
@gggsmith gggsmith self-assigned this Jan 23, 2026

- vRX

## Canonical OC
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was completely missing. In the interest of time, I will not spend a lot of time to build it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants