Skip to content

Msec-1.1 : updated test for Juniper devices - #5627

Open
sudhirakondi wants to merge 30 commits into
openconfig:mainfrom
sudhirakondi:sudhir-macsec1.1
Open

sudhirakondi wants to merge 30 commits into
openconfig:mainfrom
sudhirakondi:sudhir-macsec1.1

Conversation

@sudhirakondi

Copy link
Copy Markdown
Contributor

This Pull is dependent on Merge of Functional Translator code in openconfig/functional-translators#18. This adds support for translation of Native Juniper Paths to OC for macsec.

@sudhirakondi
sudhirakondi requested a review from a team as a code owner June 26, 2026 09:16
@OpenConfigBot

OpenConfigBot commented Jun 26, 2026 •

Copy link
Copy Markdown

Pull Request Functional Test Report for #5627 / 1406196

Virtual Devices

Device Test Status Test Documentation Job Raw Log
Arista cEOS status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)
Cisco 8000E status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)
Cisco XRd status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)
Juniper ncPTX status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)
Nokia SR Linux status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)
Openconfig Lemming status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)

Hardware Devices

Device Test Status Test Documentation Raw Log
Arista status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)
Cisco status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)
Juniper status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)
Nokia status
MSEC-1.1: pending authorization
MSEC-1.1: MACsec Configuration and Verification (DUT-to-DUT)

Help

@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 extends the existing MACsec test suite to support Juniper devices. It introduces necessary configuration push logic and adapts state retrieval methods to accommodate Juniper's specific gNMI requirements, ensuring parity with existing Arista support.

Highlights

  • Juniper Support: Added support for MACsec configuration and state retrieval on Juniper devices.
  • Test Infrastructure: Updated test infrastructure to include Juniper-specific functional translators and configuration logic.
  • gNMI Subscription: Implemented a gNMI Subscribe ONCE mechanism for Juniper devices to fetch state data, as they do not support standard gNMI Get for this purpose.
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 support for Juniper devices in MACsec testing, including Juniper-specific CLI configuration, gNMI Subscribe ONCE state retrieval, and helper updates. The review feedback correctly points out that the updated IP addresses (192.168.0.1/30 and 192.168.0.2/30) violate the repository's network assignment guidelines by using a forbidden private range, and suggests using RFC 5737 blocks instead.

@sudhirakondi

Copy link
Copy Markdown
Contributor Author

/gemini review

@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 adds support for Juniper devices in the MACsec OTG tests, including Juniper-specific CLI configuration, gNMI Subscribe ONCE handling for state data, and updated deviations in metadata.textproto. It also updates test IP addresses to RFC 5737 compliant blocks. Feedback highlights a mismatch where a hardcoded ping destination of '10.0.0.2' remains in the test, and recommends using a cancellable context for the gNMI Subscribe client to prevent resource leaks.

@sudhirakondi

Copy link
Copy Markdown
Contributor Author

/gemini review

@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 adds support for Juniper devices in the MACsec OTG tests by implementing Juniper-specific configuration and state retrieval via gNMI Subscribe ONCE. It also updates IP addresses to RFC 5737 compliant blocks and introduces a helper to resolve the correct functional translator name per vendor. The feedback points out a bug where ip2 is passed directly to sendGnoiPing with its CIDR mask suffix, which will cause the ping to fail, and suggests stripping the mask first.

sudhirakondi and others added 3 commits June 30, 2026 18:32
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@ksgireesha ksgireesha assigned ghost Jul 14, 2026
@ksgireesha

Copy link
Copy Markdown

@sudhirakondi - Could you please look into the failing Go / Static Analysis check, merge the latest changes from main to clear the "out-of-date" error, and formally mark the addressed comment threads as resolved in the UI?

@rohit-rp - Friendly ping! Could you please take a look and provide your final code owner approval once the author fixes the failing check and updates the branch?

@sudhirakondi

Copy link
Copy Markdown
Contributor Author

@ksgireesha
The static analysis failure on this Pull Request is because it is dependent on openconfig/functional-translators#18 which isn't merged yet. Working with @ashishpawar-google to merge code needed for Juniper macsec paths.

@ksgireesha
ksgireesha requested a review from a user September 7, 2026 17:47
@ksgireesha ksgireesha unassigned ghost Sep 7, 2026
@ksgireesha

Copy link
Copy Markdown

@sudhirakondi - Please fix the Static Analysis error

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants