Skip to content

gRIBI: fix TE-2.1, TE-3.5, TE-11.2, TE-11.21 for KNE - #6030

Open
snaragund wants to merge 5 commits into
openconfig:mainfrom
nokia:SND-Gribi4Kne
Open

snaragund wants to merge 5 commits into
openconfig:mainfrom
nokia:SND-Gribi4Kne

Conversation

@snaragund

Copy link
Copy Markdown
Contributor
  • TE-11.2, TE-11.21: reduce traffic rate to 10k pps for SRL containers.
  • TE-2.1: add WaitForARP after StartProtocols in createTrafficFlows.
  • TE-3.5: use gnmi.Watch/Await for AFT ipv4-entry telemetry checks.

"This code is a Contribution to the OpenConfig Feature Profiles project ("Work") made under the Google Software Grant and Corporate Contributor License Agreement ("CLA") and governed by the Apache License 2.0. No other rights or licenses in or to any of Nokia's intellectual property are granted for any other purpose. This code is provided on an "as is" basis without any warranties of any kind."

- TE-11.2, TE-11.21: reduce traffic rate to 10k pps for SRL containers.
- TE-2.1: add WaitForARP after StartProtocols in createTrafficFlows,
- TE-3.5: use gnmi.Watch/Await for AFT ipv4-entry telemetry checks.

"This code is a Contribution to the OpenConfig Feature Profiles project ("Work") made under the Google Software Grant and Corporate Contributor License Agreement ("CLA") and governed by the Apache License 2.0. No other rights or licenses in or to any of Nokia's intellectual property are granted for any other purpose. This code is provided on an "as is" basis without any warranties of any kind."
@snaragund
snaragund requested a review from a team as a code owner September 11, 2026 21:15
@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 several stability and reliability improvements for gRIBI tests running on KNE. The changes primarily focus on adjusting traffic parameters, ensuring proper ARP resolution before traffic flow, and enhancing telemetry verification mechanisms to handle asynchronous state updates more effectively.

Highlights

  • Traffic Rate Adjustment: Reduced the traffic rate to 10k pps for SRL containers in multiple test files to improve stability on KNE.
  • ARP Resolution: Added WaitForARP calls after protocol startup in createTrafficFlows to ensure network readiness.
  • Telemetry Verification: Updated AFT IPv4-entry telemetry checks to use gnmi.Watch/Await for more robust state validation.
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 11, 2026 •

Copy link
Copy Markdown

Pull Request Functional Test Report for #6030 / e2c16c4

Virtual Devices

Device Test Status Test Documentation Job Raw Log
Arista cEOS status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received
Cisco 8000E status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received
Cisco XRd status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received
Juniper ncPTX status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received
Nokia SR Linux status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received
Openconfig Lemming status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received

Hardware Devices

Device Test Status Test Documentation Raw Log
Arista status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received
Cisco status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received
Juniper status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received
Nokia status
status
status
status
TE-11.21: pending authorization
TE-11.2: pending authorization
TE-2.1: pending authorization
TE-3.5: pending authorization
TE-11.21: Backup NHG: Multiple NH with PBF
TE-11.2: Backup NHG: Multiple NH
TE-2.1: gRIBI IPv4 Entry
TE-3.5: Ordering: ACK Received

Help

@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 reduces the traffic frames per second (fps) in backup NHG tests, adds mandatory WaitForARP calls in ipv4_entry_test.go to ensure neighbor resolution, and replaces static gnmi.Get calls with gnmi.Watch in ordering_ack_test.go to monitor IPv4 entry states. The reviewer recommended replacing the hardcoded time.Minute timeout in the new gnmi.Watch calls with the package-level awaitDuration constant to prevent test flakiness in slow virtual environments.

snaragund and others added 2 commits September 12, 2026 02:53
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@kapilrajput-g

Copy link
Copy Markdown
Contributor

/fptest virtual

vrf1 = "TE_VRF_111"
vrf2 = "vrfB"
fps = 1000000 // traffic frames per second
switchovertime = 250.0 // switchovertime during interface shut in milliseconds

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.

Seems like a generic change, how do you ensure that this is only specific to KNE . This changes the default behavior for hw too.

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.

@snaragund while not elegant , the way things have been done in the past Is

if slices.Contains(kneDeviceModelList, dut.Model()) {
sflowCfgv4 = sflowCfgv4KNE
}
sflowCfgv4.IntfName = loopbackIntfName
cfgplugins.NewSFlowGlobalCfg(t, sfBatch, nil, dut, sflowCfgv4)
case IPv6:
if slices.Contains(kneDeviceModelList, dut.Model()) {
sflowCfgv6 = sflowCfgv6KNE
}
sflowCfgv6.IntfName = loopbackIntfName
cfgplugins.NewSFlowGlobalCfg(t, sfBatch, nil, dut, sflowCfgv6)
}

Can you follow this pattern so that it doesn't;t break over all ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Agreed FPS changes in TE-11.2 & TE-11.21 both can be gated with IsKNEBinding method used in #6149 but intent of both tests README were not altered/dependent based on fps rate. Also verified by executing both tests on Hw it passed. If you would suggest to use IsKNEBinding method?

@navaneethyv

Copy link
Copy Markdown
Contributor

@snaragund looks good over all, concerned about the change of FPS that will reduce the effectiveness for tests on actual HW platforms. How do we limit the blast radius ?

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants