Skip to content

RT-7.6 linkbandwidth_aggregation_test.go#4805

Open
cprabha wants to merge 6 commits intoopenconfig:mainfrom
cprabha:RT-7.6
Open

RT-7.6 linkbandwidth_aggregation_test.go#4805
cprabha wants to merge 6 commits intoopenconfig:mainfrom
cprabha:RT-7.6

Conversation

@cprabha
Copy link
Copy Markdown
Contributor

@cprabha cprabha commented Nov 14, 2025

Hi,

1.) For extended community bandwidth attribute we need to use rib commands, I have updated validate function to use rib commands.

  1. Sendcommunity extended has to be enabled to send link bandwidth community attribute to bgp peer.

  2. Default import/export for EBGP peers is reject, we need to enable default import/export to accept , otherwise routes will not be imported or exported.

  3. We support auto sense feature hence removed deviation.

Thanks,
Prabha

@cprabha cprabha requested a review from a team as a code owner November 14, 2025 01:06
@OpenConfigBot
Copy link
Copy Markdown

OpenConfigBot commented Nov 14, 2025

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @cprabha, 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 significantly refactors the linkbandwidth_aggregation test suite to enhance its reliability and adherence to OpenConfig standards. The core objective is to improve how extended community bandwidth attributes are validated by transitioning to direct BGP RIB queries on the DUT. Additionally, it ensures correct BGP operation by enabling extended community advertisement and setting appropriate import/export policies for eBGP peers, while also integrating the auto-sense feature for link bandwidth. These changes collectively streamline the test logic, reduce vendor-specific dependencies, and provide more accurate testing of BGP link bandwidth extended communities.

Highlights

  • Validation Logic Refactor: The validation of extended community bandwidth attributes has been updated to directly query the BGP Routing Information Base (RIB) on the Device Under Test (DUT), moving away from reliance on OTG telemetry or vendor-specific CLI commands.
  • BGP Configuration Enhancements: The pull request introduces configuration changes to explicitly enable the sending of extended community attributes and sets the default import/export policies for eBGP peers to 'ACCEPT_ROUTE', ensuring proper advertisement and reception of routes.
  • Auto-Sense Feature Integration: The test now conditionally configures the auto-sense feature for link bandwidth directly via OpenConfig if supported by the device, removing a previous deviation and streamlining the configuration process.
  • Test File Renaming and Simplification: The test file was renamed to linkbandwidth_aggregation_test.go to clearly identify its purpose, and several unused imports were removed, contributing to a cleaner and more focused test setup.
  • Prefix Length Standardization: IPv4 and IPv6 prefix lengths used in route creation within the tests have been hardcoded to 32 and 128 respectively, ensuring consistent and accurate test scenarios.
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
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 updates the link bandwidth aggregation test to use the DUT's BGP RIB for validation, which is a good improvement over relying on ATE telemetry. It also correctly enables send-community extended and sets default import/export policies to accept routes for eBGP peers. My review identifies a critical issue in the new validation logic where the actual bandwidth value is not being checked, and a high-severity issue where BGP configuration for sending extended communities is missing for IPv6. I've also included a medium-severity suggestion to improve code maintainability by using constants instead of magic numbers.

@coveralls
Copy link
Copy Markdown

coveralls commented Nov 14, 2025

Pull Request Test Coverage Report for Build 21089017148

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

Totals Coverage Status
Change from base Build 21088802777: 0.0%
Covered Lines: 2227
Relevant Lines: 22339

💛 - Coveralls

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants