Skip to content

Sflow encap decap test#5669

Open
paramasivamn1 wants to merge 6 commits into
mainfrom
sFlow_encap_decap
Open

Sflow encap decap test#5669
paramasivamn1 wants to merge 6 commits into
mainfrom
sFlow_encap_decap

Conversation

@paramasivamn1

Copy link
Copy Markdown
Contributor

Sflow encap decap test for b/437422041

@paramasivamn1 paramasivamn1 requested review from a team as code owners July 6, 2026 03:11
@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 test suite designed to validate sFlow sampling behavior when traffic undergoes various encapsulation and decapsulation processes on the DUT. By adding these test cases, the repository improves its coverage of network telemetry features in complex forwarding scenarios, ensuring that sampled packets correctly reflect the expected headers and interface metadata.

Highlights

  • New sFlow Test Suite: Added a comprehensive test suite (SFLOW-2) to verify sFlow sampling functionality during packet encapsulation and decapsulation scenarios, including GRE, GUE, and gRIBI-programmed tunnels.
  • Documentation Updates: Updated existing README files for basic encapsulation and GUE-NHG tests to include new sFlow sampling test cases and relevant OpenConfig path coverage.
  • Test Registry Integration: Registered the new SFLOW-2 test suite in the test registry to ensure proper tracking and execution.
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.

@paramasivamn1 paramasivamn1 requested a review from rohit-rp July 6, 2026 03:11
@OpenConfigBot

Copy link
Copy Markdown

Pull Request Functional Test Report for #5669 / 1d3679f

Virtual Devices

Device Test Test Documentation Job Raw Log
Arista cEOS status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests
6022d0a4 Log
Cisco 8000E status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests
a282891e Log
Cisco XRd status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests
5c8d30f6 Log
Juniper ncPTX status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests
2df6752f Log
Nokia SR Linux status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests
5416640e Log
Openconfig Lemming status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests
43230a83 Log

Hardware Devices

Device Test Test Documentation Raw Log
Arista 7808 status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests
Cisco 8808 status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests
Juniper PTX10008 status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests
Nokia 7250 IXR-10e status
status
status
status
SFLOW-1: sFlow Configuration and Sampling
SFLOW-2: sFlow Sampling with Encapsulation and Decapsulation
RT-3.53: Static route based GUE Encapsulation to IPv6 tunnel
TE-16.1: basic encapsulation tests

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 introduces sFlow sampling test plans for various encapsulation and decapsulation scenarios (including GRE, GUE, and gRIBI) across multiple test suites, and adds a new test plan SFLOW-2 specifically dedicated to sFlow sampling with encapsulation and decapsulation. Feedback on the changes suggests removing the newly added GRE encapsulation and decapsulation test cases from the basic sFlow test suite (SFLOW-1) to avoid redundancy with the SFLOW-2 test suite.

Comment on lines +36 to +80
* SFLOW-1.4 sFlow sampling with IPoverGRE Encap
* Configure IPoverGRE encapsulation on DUT.
* Enable sFlow sampling on the ingress interface (receiving IP traffic) and egress interface (sending GRE traffic).
* Send IPv4 traffic from ATE.
* Verify DUT encapsulates traffic and sends to ATE.
* Verify sFlow collector receives samples.
* Verify sFlow sample contains:
* Ingress interface matches the ingress port.
* Egress interface matches the egress port.
* Sampled packet header matches the expected GRE packet.
* Sampling rate matches configured rate.

* SFLOW-1.5 sFlow sampling with IPoverGRE Decap
* Configure IPoverGRE decapsulation on DUT.
* Enable sFlow sampling on the ingress interface (receiving GRE traffic) and egress interface (sending IP traffic).
* Send GRE encapsulated IPv4 traffic from ATE.
* Verify DUT decapsulates traffic and sends to ATE.
* Verify sFlow collector receives samples.
* Verify sFlow sample contains:
* Ingress interface matches the ingress port.
* Egress interface matches the egress port.
* Sampled packet header matches the expected packet.

* SFLOW-1.6 sFlow sampling with IPv6overGRE Encap
* Configure IPv6overGRE encapsulation on DUT.
* Enable sFlow sampling on the ingress interface and egress interface.
* Send IPv6 traffic from ATE.
* Verify DUT encapsulates traffic and sends to ATE.
* Verify sFlow collector receives samples.
* Verify sFlow sample contains:
* Ingress interface matches the ingress port.
* Egress interface matches the egress port.
* Sampled packet header matches the expected GRE packet.

* SFLOW-1.7 sFlow sampling with IPv6overGRE Decap
* Configure IPv6overGRE decapsulation on DUT.
* Enable sFlow sampling on the ingress interface and egress interface.
* Send GRE encapsulated IPv6 traffic from ATE.
* Verify DUT decapsulates traffic and sends to ATE.
* Verify sFlow collector receives samples.
* Verify sFlow sample contains:
* Ingress interface matches the ingress port.
* Egress interface matches the egress port.
* Sampled packet header matches the expected packet.

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.

medium

The test cases SFLOW-1.4 through SFLOW-1.7 added here for GRE encapsulation and decapsulation are identical to SFLOW-2.1 through SFLOW-2.4 defined in the newly added sflow_encap_decap_test/README.md. To avoid redundancy and maintain a clean test suite structure, we should keep SFLOW-1 focused strictly on basic sFlow configuration and plain IP sampling, and consolidate all encapsulation/decapsulation sFlow tests under SFLOW-2. Please remove these duplicated test cases from sflow_base_test/README.md.

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.

2 participants