Skip to content

TE-18.3: Updated the code as per the readme changes and validated - #5714

Open
keysightgems wants to merge 8 commits into
openconfig:mainfrom
open-traffic-generator:fpt_otg_readme_update_TE-18.3
Open

TE-18.3: Updated the code as per the readme changes and validated#5714
keysightgems wants to merge 8 commits into
openconfig:mainfrom
open-traffic-generator:fpt_otg_readme_update_TE-18.3

Conversation

@keysightgems

@keysightgems keysightgems commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Readme Location: https://github.com/openconfig/featureprofiles/blob/main/feature/gribi/mpls_in_udp/otg_tests/mpls_in_udp_scale/README.md

gribigo library issue: openconfig/gribigo#282 (The test was successfully validated using local changes to fluent.go.) The static check failed because of this issue. It will pass once the issue is fixed.

Attached logs here: https://partnerissuetracker.corp.google.com/u/2/issues/536257627

@keysightgems
keysightgems requested a review from a team as a code owner July 19, 2026 09:50
@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 expands the MPLS-in-UDP scale test suite by introducing support for new test profiles focusing on IPv4/IPv6 ECMP and Multi-NHG scenarios. The changes include significant updates to the traffic flow generation and packet validation logic to accommodate dual-stack requirements, ensuring the test infrastructure can accurately validate complex MPLS-in-UDP configurations.

Highlights

  • New Test Profiles: Added support for three new MPLS-in-UDP test profiles: Multi-VRF IPv4 ECMP, Multi-VRF IPv6 ECMP, and Multi-NHG MoUDP IPv6.
  • Dual-Stack Traffic Support: Refactored traffic flow generation logic to support both IPv4 and IPv6 encapsulation, enabling more comprehensive test coverage.
  • Validation Enhancements: Updated packet capture validation to dynamically handle both IPv4 and IPv6 headers, ensuring accurate verification across different test scenarios.
  • Infrastructure Updates: Extended test helper functions to support configurable tunnel destination generation and improved NHG distribution across VRFs.
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.

@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 expands the MPLS-in-UDP gRIBI scale tests by introducing new test profiles (Profiles 6, 7, and 8) to support IPv4/IPv6 ECMP and MoUDP scale scenarios. The review feedback highlights a critical bug in the IPv4 skew pattern flow generation where a dynamic slice length is incorrectly used as a loop index, and a convergence check issue where hardcoded prefix counts cause premature test exits. Additionally, the reviewer noted a style guide violation regarding non-compliant IPv4 addresses, misleading error messages in packet validation, and a minor typo in a variable name.

Comment thread feature/gribi/mpls_in_udp/otg_tests/mpls_in_udp_scale/mpls_in_udp_scale_test.go Outdated
Comment thread feature/gribi/mpls_in_udp/otg_tests/mpls_in_udp_scale/mpls_in_udp_scale_test.go Outdated
Comment thread feature/gribi/mpls_in_udp/otg_tests/mpls_in_udp_scale/mpls_in_udp_scale_test.go Outdated
Comment thread feature/gribi/mpls_in_udp/otg_tests/mpls_in_udp_scale/mpls_in_udp_scale_test.go Outdated
Comment thread feature/gribi/mpls_in_udp/otg_tests/mpls_in_udp_scale/mpls_in_udp_scale_test.go Outdated
@keysightgems keysightgems changed the title Updated the code as per the readme changes and validated TE-18.3: Updated the code as per the readme changes and validated Jul 20, 2026
@tengyiG

tengyiG commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

You need to resolve the go/static analysis: looks like you are calling fluent.UDPV4EncapHeader, which does not exist in pinned gribigo v0.1.1. The PR relies on an uncommitted local dependency change. Static
Analysis fails with undefined: fluent.UDPV4EncapHeader

Comment thread feature/gribi/mpls_in_udp/otg_tests/mpls_in_udp_scale/mpls_in_udp_scale_test.go Outdated
@keysightgems

Copy link
Copy Markdown
Contributor Author

You need to resolve the go/static analysis: looks like you are calling fluent.UDPV4EncapHeader, which does not exist in pinned gribigo v0.1.1. The PR relies on an uncommitted local dependency change. Static
Analysis fails with undefined: fluent.UDPV4EncapHeader

Yes, this is already a known issue. I have mentioned it in the PR comments and have raised issue separately. Once the required change is merged into the pinned gribigo dependency, the static analysis failure (undefined: fluent.UDPV4EncapHeader) will be resolved.

@ksgireesha

Copy link
Copy Markdown

Hi @keysightgems,

Just a gentle reminder to address the pending review comments on this PR. Once you have pushed the fixes, please re-request a review so we can get this approved and merged!

@keysightgems

Copy link
Copy Markdown
Contributor Author

Addressed all the comments and committed the code.

@ksgireesha
ksgireesha requested a review from tengyiG August 7, 2026 09:43
@keysightgems

Copy link
Copy Markdown
Contributor Author

The static failure will be fixed once we update to the new version of gribigo after the PR openconfig/gribigo#285 is merged.

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.

5 participants