Skip to content

gNMI-1.28 fix for subinterface description#5501

Merged
nsadhasivam merged 2 commits into
openconfig:mainfrom
nsadhasivam:interface
May 22, 2026
Merged

gNMI-1.28 fix for subinterface description#5501
nsadhasivam merged 2 commits into
openconfig:mainfrom
nsadhasivam:interface

Conversation

@nsadhasivam
Copy link
Copy Markdown
Contributor

No description provided.

@nsadhasivam nsadhasivam requested a review from a team as a code owner May 22, 2026 10:27
@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 a new automated test for validating BGP neighbor telemetry compliance against OpenConfig standards and includes a necessary fix for subinterface description updates in existing interface telemetry tests.

Highlights

  • New BGP Telemetry Test: Added a new test suite to verify the presence and OpenConfig compliance of BGP neighbor telemetry paths, including session states, message counters, and prefix limits.
  • Subinterface Description Fix: Updated the subinterface description configuration logic in the telemetry interfaces test to use the correct struct-based update method.
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
Copy link
Copy Markdown

OpenConfigBot commented May 22, 2026

Copy link
Copy Markdown
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 introduces a new BGP neighbor telemetry test (HA-1.0) along with its associated documentation and metadata. It also refactors the subinterface description update logic in the interface telemetry tests. The review feedback recommends dynamically discovering configured AFI-SAFIs for BGP neighbors to avoid failures on single-stack sessions and utilizing the MissingBgpLastNotificationErrorCode deviation to improve test portability across different vendors.

I am having trouble creating individual review comments. Click here to see my feedback.

feature/gnmi/tests/telemetry_bgp_neighbor_state_test/telemetry_bgp_neighbor_state_test.go (163-192)

medium

The test unconditionally validates both IPv4 and IPv6 unicast prefix counters for every neighbor. However, BGP neighbors are often configured as single-stack. If a neighbor only has one address family enabled, the subtests for the other family will fail with a 'path not present' error. Consider discovering the configured AFI-SAFIs for each neighbor (e.g., using gnmi.GetAll on neighborPath.AfiSafiAny().AfiSafiName().State()) and only running the corresponding validation subtests if they are present.

feature/gnmi/tests/telemetry_bgp_neighbor_state_test/telemetry_bgp_neighbor_state_test.go (148-152)

medium

The validation of last-notification-error-code should account for the MissingBgpLastNotificationErrorCode deviation. Use the deviations package to maintain test abstraction and portability across different vendors, skipping this check if the deviation is enabled to avoid false failures.

if deviations.MissingBgpLastNotificationErrorCode(dut) {
	t.Skip("Skipping last-notification-error-code check due to deviation")
}
if val, present := gnmi.Lookup(t, dut, neighborPath.Messages().Received().LastNotificationErrorCode().State()).Val(); !present {
	t.Errorf("Path messages/received/last-notification-error-code is not present")
} else {
	t.Logf("Last notification error code: %v is compliant", val)
}
References
  1. Avoid using dut.Vendor() for vendor-specific logic or configurations in tests. Instead, use the deviations package to maintain test abstraction and portability across different vendors.

@nsadhasivam nsadhasivam merged commit aa0f505 into openconfig:main May 22, 2026
15 of 16 checks passed
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