Skip to content

Add TE-2.3 gRIBI IPv6 entry test with prefix lengths > 64 - #6012

Open
nafis-google wants to merge 2 commits into
openconfig:mainfrom
nafis-google:te-2.1-ipv6-entry
Open

Add TE-2.3 gRIBI IPv6 entry test with prefix lengths > 64#6012
nafis-google wants to merge 2 commits into
openconfig:mainfrom
nafis-google:te-2.1-ipv6-entry

Conversation

@nafis-google

@nafis-google nafis-google commented Sep 9, 2026

Copy link
Copy Markdown

Implement test plan TE-2.3 for IPv6 in featureprofiles under feature/gribi/otg_tests/ipv6_entry_test, branched out of ipv4_entry_test. It is simply ipv4 tests modified with ipv6 params.

Validates gRIBI IPv6 route programming and forwarding for prefix lengths strictly greater than /64, including:

  • Boundary prefix length sweeps (/65, /96, /126, /127, /128)
  • Longest Prefix Match (LPM) discrimination (/64 vs /65)
  • Multipath / ECMP across multiple next-hops
  • MAC address overwrite
  • Downed interface packet drop
  • gRIBI FlushAll

This test tries to install static IPV6, Next-hop and Next-hop-group and validates correct traffic matching.

Implement test plan TE-2.1 for IPv6 in featureprofiles under
feature/gribi/otg_tests/ipv6_entry_test, branched out of
ipv4_entry_test.

Validates gRIBI IPv6 route programming and forwarding for prefix
lengths strictly greater than /64, including:
- Boundary prefix length sweeps (/65, /96, /126, /127, /128)
- Longest Prefix Match (LPM) discrimination (/64 vs /65)
- Multipath / ECMP across multiple next-hops
- MAC address overwrite
- Downed interface packet drop
- gRIBI FlushAll
@nafis-google
nafis-google requested a review from a team as a code owner September 9, 2026 14:05
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 introduces a new automated test suite for gRIBI IPv6 entry handling, specifically targeting prefix lengths exceeding 64 bits. The implementation ensures that device agents and switch ASICs correctly manage longer IPv6 prefixes without truncation or lookup failures, providing robust validation for complex routing scenarios.

Highlights

  • New Test Implementation: Implemented test plan TE-2.1 to validate gRIBI IPv6 route programming and forwarding for prefix lengths greater than 64 bits.
  • Comprehensive Test Coverage: The test suite covers boundary prefix length sweeps, Longest Prefix Match (LPM) discrimination, ECMP, MAC address override, and interface failure scenarios.
  • Platform Support: Added platform-specific deviations for Cisco, Juniper, Nokia, and Arista to ensure cross-vendor compatibility.
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 the 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 counterproductive. 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.

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.

@OpenConfigBot

OpenConfigBot commented Sep 9, 2026

Copy link
Copy Markdown

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

Copy link
Copy Markdown
Contributor

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 implements the TE-2.1 test plan to validate gRIBI IPv6 route entry support for prefix lengths strictly greater than 64 bits, including test cases for single/multiple next-hops, MAC overrides, downed interfaces, LPM discrimination, and boundary prefix sweeps. The feedback recommends aligning the test implementation with the repository style guide by calling otgutils.WaitForARP before starting traffic to ensure deterministic neighbor resolution, and refactoring the staticARPWithMagicUniversalIP helper to register its cleanup operations using t.Cleanup() directly inside the function.

Comment thread feature/gribi/otg_tests/ipv6_entry_test/ipv6_entry_test.go
Comment thread feature/gribi/otg_tests/ipv6_entry_test/ipv6_entry_test.go
- Update test plan ID to TE-2.3 to avoid conflict with TE-2.1 (IPv4 entry)
- Add Canonical OC JSON section to README.md
- Sync test registry in testregistry.textproto
- Register static route cleanup via t.Cleanup inside staticARPWithMagicUniversalIP
@nafis-google
nafis-google requested a review from a team as a code owner September 9, 2026 14:36
@nafis-google nafis-google changed the title Add TE-2.1 gRIBI IPv6 entry test with prefix lengths > 64 Add TE-2.3 gRIBI IPv6 entry test with prefix lengths > 64 Sep 9, 2026
@nafis-google nafis-google self-assigned this Sep 9, 2026
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