Skip to content

[Optimization] Improve large_ip_packet_transmission_test performance by configuring all flows at once - #5803

Merged
navaneethyv merged 8 commits into
mainfrom
rishabh/improve-large-ip-packet-transmission-test
Aug 5, 2026
Merged

[Optimization] Improve large_ip_packet_transmission_test performance by configuring all flows at once#5803
navaneethyv merged 8 commits into
mainfrom
rishabh/improve-large-ip-packet-transmission-test

Conversation

@RishabhAgarwal-2001

Copy link
Copy Markdown
Contributor

Changes here should reduce the runtime of the test by half without reducing test scope.

@RishabhAgarwal-2001 RishabhAgarwal-2001 self-assigned this Jul 30, 2026
@RishabhAgarwal-2001
RishabhAgarwal-2001 requested a review from a team as a code owner July 30, 2026 04:25
@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 optimizes the performance of the large IP packet transmission test suite. By batching flow configuration and leveraging granular traffic control states, the runtime is effectively halved. Additionally, the test lifecycle management has been improved by migrating cleanup operations to standard Go test cleanup hooks.

Highlights

  • Performance Optimization: Refactored flow configuration to add all flows at once during test initialization, significantly reducing the overhead of repeated configuration pushes.
  • Test Execution Flow: Updated the test execution logic to use granular control states for starting and stopping individual traffic flows instead of re-pushing the entire configuration.
  • Cleanup Improvements: Replaced manual cleanup sub-tests with t.Cleanup hooks to ensure reliable resource release regardless of test outcome.
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 Jul 30, 2026

Copy link
Copy Markdown

Pull Request Functional Test Report for #5803 / 2a4caf0

Virtual Devices

Device Test Test Documentation Job Raw Log
Arista cEOS status
MTU-1.3: Large IP Packet Transmission
46596ed5 Log
Cisco 8000E status
MTU-1.3: Large IP Packet Transmission
6e78528b Log
Cisco XRd status
MTU-1.3: Large IP Packet Transmission
a51e1abe Log
Juniper ncPTX status
MTU-1.3: Large IP Packet Transmission
2c98dbe5 Log
Nokia SR Linux status
MTU-1.3: Large IP Packet Transmission
23f58094 Log
Openconfig Lemming status
MTU-1.3: Large IP Packet Transmission
48c5de5c Log

Hardware Devices

Device Test Test Documentation Raw Log
Arista 7808 status
MTU-1.3: Large IP Packet Transmission
Cisco 8808 status
MTU-1.3: Large IP Packet Transmission
Juniper PTX10008 status
MTU-1.3: Large IP Packet Transmission
Nokia 7250 IXR-10e status
MTU-1.3: Large IP Packet Transmission

Help

@navaneethyv

Copy link
Copy Markdown
Contributor

Please add the gemini skill for this inline with good and bad examples.

@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 refactors the large IP packet transmission tests to configure and start OTG protocols upfront, start/stop traffic on a per-flow basis, and utilize t.Cleanup for resource cleanup. The review feedback highlights a critical test isolation issue where physical cleanup is deferred until after the bundle tests because of how t.Cleanup is registered on the top-level t. Additionally, the feedback recommends removing the redundant 30-second static sleeps after PushConfig in both the physical and bundle test paths, as dynamic ARP resolution is already in place.

@navaneethyv navaneethyv reopened this Jul 30, 2026
@navaneethyv

Copy link
Copy Markdown
Contributor

Please add labels and fix the gap analysis.

@RishabhAgarwal-2001 RishabhAgarwal-2001 changed the title Improve large_ip_packet_transmission_test performance by configuring all flows at once [Optimization] Improve large_ip_packet_transmission_test performance by configuring all flows at once Aug 4, 2026
@RishabhAgarwal-2001

Copy link
Copy Markdown
Contributor Author

Please add labels and fix the gap analysis.

Hi @navaneethyv - I have added the label. The gap analysis issue existed from before and is not the result of this PR.

@RishabhAgarwal-2001 RishabhAgarwal-2001 added the Optimization Test Optimization Efforts label Aug 4, 2026
@navaneethyv

Copy link
Copy Markdown
Contributor

Shwetha the only MTU approver is not available yet , by passing on behalf.

@navaneethyv
navaneethyv merged commit 4ef8f52 into main Aug 5, 2026
25 of 26 checks passed
@navaneethyv
navaneethyv deleted the rishabh/improve-large-ip-packet-transmission-test branch August 5, 2026 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Optimization Test Optimization Efforts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants