Skip to content

Conversation

@sachendras
Copy link
Contributor

@sachendras sachendras commented Dec 24, 2025

Change v4 transport with v6 transport.

…psulation node` README.md for v6 transport

Change v4 transport with v6 transport.
@sachendras sachendras requested a review from a team as a code owner December 24, 2025 09:15
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @sachendras, 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 updates the documentation and configuration examples for GUEv1 decapsulation and ECMP hashing tests. The primary goal is to transition the test scenarios from using IPv4 as the outer transport header to IPv6, ensuring that the test cases and associated configurations accurately reflect IPv6-based GUE deployments and their expected behavior on decapsulating nodes.

Highlights

  • Updated GUEv1 Hashing Description: The README's summary now explicitly states that the outer header for GUEv1 encapsulated packets used for hashing on decapsulating nodes is 'IPv6 | UDP', changing from the previous 'IPv4 | UDP'.
  • IPv6 Decapsulation Configuration: The test setup instructions have been updated to configure the DUT as a decapsulation node for 'IPv6|UDP (GUE v1)' using 'DUT-DECAP-Address-V6', replacing the generic 'IP|UDP' and 'DUT-DECAP-Address'.
  • Traffic Flow Table Updates: All entries in the traffic flow table that previously referenced 'ATE1-port IPv4 addr' and 'DUT-DECAP-Address' for the outer header of GUEv1 encapsulation have been updated to use 'ATE1-port IPv6 addr' and 'DUT-DECAP-Address-V6' or 'ATE2-port-Address IPv6 addr', ensuring consistency with IPv6 transport.
  • Test Case Renaming and Validation Updates: Test cases PF-1.22.1 and PF-1.22.2 have been renamed to reflect 'ipv6 decap address' and their validation steps now refer to 'DUT-DECAP-Address-V6' and 'decap IPv6 address' for accuracy.
  • OpenConfig Policy Forwarding Configuration: The example JSON configuration for policy forwarding has been significantly updated to define an IPv6 prefix set ('dst_prefix_v6_gue') and configure the decapsulation policy rule to use this IPv6 prefix set and protocol 'IP_UDP' under the 'ipv6' section, replacing the previous 'ipv4' configuration.
  • OpenConfig Path Coverage: The OpenConfig Path and RPC Coverage section has been revised to remove IPv4-specific paths and include new paths related to IPv6 defined-sets and IPv6 policy forwarding rules.

🧠 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 updates the README.md to change the GUE decapsulation test from using an IPv4 outer header to an IPv6 outer header. While the documentation changes are mostly correct, there are a couple of inconsistencies in the updated tables and paths that need to be addressed. More importantly, the Go test code in this directory has not been updated and still implements the test with an IPv4 outer header. This creates a discrepancy between the test plan (README.md) and the implementation, which violates the repository's contribution guidelines stating that 'Test code must follow the steps documented in the test README.md'. To resolve this, please either update the Go test code to match the new README in this PR, or revert the README changes and create a new PR that updates both the documentation and the code together.

@coveralls
Copy link

coveralls commented Dec 24, 2025

Pull Request Test Coverage Report for Build 20484278921

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 10.03%

Totals Coverage Status
Change from base Build 20479668220: 0.0%
Covered Lines: 2227
Relevant Lines: 22203

💛 - Coveralls

…ecap_and_hashing_test/README.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@sachendras
Copy link
Contributor Author

/gemini review

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 aims to update the GUE decapsulation test to use an IPv6 outer header instead of IPv4. However, there is a critical issue. While the documentation in README.md has been updated, the corresponding test implementation in ipv4_guev1_decap_and_hashing_test.go appears to be unchanged and still implements the test using IPv4. This is a violation of the repository's contribution guidelines, which state that test code must follow the test's README.md (see CONTRIBUTING.md, line 49). The test code must be updated to match the new documentation for this PR to be valid. I've also left some comments on the README.md to fix a few inconsistencies. For better long-term maintainability, please also consider renaming the test directory and file from ipv4_... to ipv6_... to accurately reflect its new purpose.

| | Outer | IPv4\|UDP(GUE v1) | ATE1-port IPv4 addr | DUT-DECAP-Address | 5996 (randomizable) | 6080 | | Src Port: Any unreserved UDP port; GUE v1 encapsulation |
| | Outer | IPv4\|UDP(GUE v1) | ATE1-port IPv6 addr | DUT-DECAP-Address-V6 | 5996 (randomizable) | 6080 | | Src Port: Any unreserved UDP port; GUE v1 encapsulation |
| **11**| **Overall** | **Payload o IPv6\|TCP o IPv4\|UDP(GUE v1)** | | | | | | |
| | Inner | IPv6\|TCP | H1v4 address | H4v4 address | 14 | 15 | | Src Port: Any unassigned TCP port; Dst Port: Any App/unassigned TCP port |
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

There appears to be a typo in the description for Flow 11. The inner packet is specified as IPv6|TCP, but the source and destination addresses are H1v4 address and H4v4 address. For consistency with other IPv6 flows (like Flow 12), these should likely be H1v6 address and H4v6 address.

updated IPv4\|UDP(GUE v1) to IPv6\|UDP(GUE v1)
correction in flow11
@sachendras
Copy link
Contributor Author

/gemini review

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 is incomplete. While the README.md has been updated to change the GUE decapsulation test from using an IPv4 outer header to an IPv6 outer header, the actual test implementation in ipv4_guev1_decap_and_hashing_test.go has not been modified. The Go code still configures and sends GUE packets with an IPv4 outer header, creating a critical discrepancy between the test plan and the code. The helper functions in internal/cfgplugins/policyforwarding.go also appear to be missing the necessary updates for IPv6. Please update the Go files to fully implement the IPv6 logic as described in the README.md. Additionally, for better maintainability, consider renaming the test directory to reflect that the test now focuses on IPv6.

…ecap_and_hashing_test/README.md

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
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