Skip to content

Skip applying decap policy on interface when oc unsupported - #5977

Open
ijernoiu wants to merge 2 commits into
openconfig:mainfrom
open-traffic-generator:otg-pf-1.7-inputPolicy
Open

Skip applying decap policy on interface when oc unsupported#5977
ijernoiu wants to merge 2 commits into
openconfig:mainfrom
open-traffic-generator:otg-pf-1.7-inputPolicy

Conversation

@ijernoiu

@ijernoiu ijernoiu commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@ijernoiu
ijernoiu requested a review from a team as a code owner September 2, 2026 13: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 a safety check to ensure that decap policies are not applied to interfaces on devices where OpenConfig support is unavailable. By utilizing a deviation check, the test suite avoids potential configuration errors on unsupported hardware.

Highlights

  • Policy Configuration Guard: Added a conditional check to the configureInputPolicy function to skip policy application when OpenConfig is unsupported on the device.
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 2, 2026

Copy link
Copy Markdown

Pull Request Functional Test Report for #5977 / 6ee1dbd

Virtual Devices

Device Test Test Documentation Job Raw Log
Arista cEOS status
PF-1.7: Decapsulate MPLS in GRE and UDP
Cisco 8000E status
PF-1.7: Decapsulate MPLS in GRE and UDP
Cisco XRd status
PF-1.7: Decapsulate MPLS in GRE and UDP
Juniper ncPTX status
PF-1.7: Decapsulate MPLS in GRE and UDP
Nokia SR Linux status
PF-1.7: Decapsulate MPLS in GRE and UDP
Openconfig Lemming status
PF-1.7: Decapsulate MPLS in GRE and UDP

Hardware Devices

Device Test Test Documentation Raw Log
Arista status
PF-1.7: Decapsulate MPLS in GRE and UDP
Cisco status
PF-1.7: Decapsulate MPLS in GRE and UDP
Juniper status
PF-1.7: Decapsulate MPLS in GRE and UDP
Nokia status
PF-1.7: Decapsulate MPLS in GRE and UDP

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 adds a check in configureInputPolicy to return early if interface policy forwarding via OpenConfig is unsupported on the DUT. However, the reviewer pointed out that when OpenConfig is supported, the function configures the policy in memory but fails to actually push it to the DUT via gNMI. To resolve this, a gnmi.Replace call should be added at the end of the function to apply the configuration.

@@ -451,7 +451,6 @@ func InterfacePolicyForwardingConfig(t *testing.T, dut *ondatra.DUTDevice, a *at
}
} else {
ApplyPolicyToInterfaceOC(t, pf, params.InterfaceID, params.AppliedPolicyName)

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.

Remove this file as there are no changes.

}

func configureInputPolicy(t *testing.T, dut *ondatra.DUTDevice, tc testCase) {
if deviations.InterfacePolicyForwardingOCUnsupported(dut) {

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.

I noticed that there is no issue tracker with Arista for this behaviour. Please raise one and tag it in deviations.go file.

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