Skip to content

gRIBI scale: compact flows to reduce OTG load#5597

Open
dracazacula wants to merge 1 commit into
mainfrom
gribi_scale_misc
Open

gRIBI scale: compact flows to reduce OTG load#5597
dracazacula wants to merge 1 commit into
mainfrom
gribi_scale_misc

Conversation

@dracazacula

@dracazacula dracazacula commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Each OTG port has a maximum limit of how many flow-groups it can accommodate. If that limit is reached the configuration push fails.

The (big) number of flows is directly proportional with the number of encap VRFs, however decap, transit and repaired traffic is encap VRF agnostic so each category can have only 1 flow.

@dracazacula dracazacula requested a review from a team as a code owner June 18, 2026 15:04
@OpenConfigBot

OpenConfigBot commented Jun 18, 2026

Copy link
Copy Markdown

@dracazacula dracazacula requested a review from a team as a code owner June 18, 2026 15:07
@dracazacula dracazacula changed the title gRIBI scale: compact transit/repaired/decap flows to reduce OTG load gRIBI scale: compact flows to reduce OTG load Jun 18, 2026
@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 implements a flow compaction mechanism for gRIBI scale testing to alleviate load on the Open Traffic Generator (OTG). By consolidating specific flow groups, the total number of flows is reduced, which helps maintain performance and stay within hardware or software limitations during high-scale testing scenarios.

Highlights

  • Flow Compaction: Introduced a 'compact' mode for OTG flows, allowing decap, transit, and repaired flow groups to be consolidated into single flows, significantly reducing the total flow count from 144 to 99.
  • Code Refactoring: Added helper functions like 'createIPv4InIPv4Flow' and 'setIPv4Dst' to reduce code duplication across flow building logic.
  • API Updates: Updated 'BuildDecapFlows', 'BuildTransitFlows', and 'BuildRepairedFlows' to accept a 'compact' boolean parameter, and updated 'RunEndToEndTrafficValidation' to propagate this configuration.
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 introduces an option to compact OTG flows for decap, transit, and repaired scenarios to reduce the overall flow count, refactoring the flow builders to use a new helper function to minimize duplication. The reviewer feedback highlights a critical issue where the flow validation helper does not correctly handle the expected DSCP values when flows are compacted. Additionally, the reviewer suggests optimizing slice allocation in the new DSCP helper and warns that changing the signature of the shared validation function could break other callers in the repository.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread internal/cfgplugins/gribifullscale.go
Comment thread internal/cfgplugins/gribifullscale.go
Comment thread internal/cfgplugins/gribifullscale.go
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.

3 participants