TUN-1.3: Add Arista support for IPv4 GRE tunnel encapsulation test#5485
TUN-1.3: Add Arista support for IPv4 GRE tunnel encapsulation test#5485smharis-arista wants to merge 3 commits into
Conversation
- Add Arista platform exceptions and configure GRE tunnel interfaces
via CLI (Tunnel1-Tunnel32) using port1 as unnumbered tunnel source,
gated by tunnel_config_path_unsupported deviation. Tunnel counter
verification is skipped via tunnel_state_path_unsupported.
- Push DUT interface config via gNMI Replace (previously built but
never applied)
- Read DUT port MAC via gNMI for traffic flow destination instead of
hardcoded attrs MAC. The original test sets a fabricated MAC via
ConfigOCInterface, but not all vendors honor OC MAC config on
physical interfaces — the hardware MAC remains unchanged, causing
L2 destination mismatch and 100% packet loss. Reading the actual
MAC via gNMI is vendor-agnostic and works regardless of whether
the platform applies OC MAC settings.
- Increase ECMP load balance tolerance from 12% to 20%. With only
2 egress links, hash entropy is low and per-run variance
regularly exceeds 12%.
Summary of ChangesHello, 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 enhances the IPv4 GRE tunnel encapsulation test by adding support for Arista platforms and improving the robustness of the test environment. Key changes include vendor-specific CLI configuration for tunnels, more reliable MAC address discovery via gNMI, and adjusted load balancing tolerances to reduce test flakiness. Highlights
Using Gemini Code AssistThe 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
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 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
|
Pull Request Functional Test Report for #5485 / 57dd8c4Virtual Devices
Hardware Devices
|
There was a problem hiding this comment.
Code Review
This pull request introduces Arista vendor support for the IPv4 GRE encapsulation test. Key changes include adding Arista-specific platform exceptions and deviations to the metadata, increasing traffic tolerance, and implementing Arista-specific tunnel configuration via CLI snippets. The test logic was also updated to use explicit gNMI replacements for interfaces and to retrieve MAC addresses from the device state. Review feedback suggests optimizing interface configurations by using gnmi.SetBatch for efficiency and restoring CLI configuration logging to facilitate debugging across different vendors.
…g logging
- Replace individual gnmi.Replace calls with a single gnmi.SetBatch
transaction for interface configuration
- Add CLI config logging after the vendor switch for debugging
via CLI (Tunnel1-Tunnel32) using port1 as unnumbered tunnel source,
gated by
tunnel_config_path_unsupported deviation. Tunnel counterverification is skipped via
tunnel_state_path_unsupported.never applied)
hardcoded attrs MAC. The original test sets a fabricated MAC via
ConfigOCInterface, but not all vendors honor OC MAC config onphysical interfaces — the hardware MAC remains unchanged, causing
L2 destination mismatch and 100% packet loss. Reading the actual
MAC via gNMI is vendor-agnostic and works regardless of whether
the platform applies OC MAC settings.
2 egress links, hash entropy is low and per-run variance
regularly exceeds 12%.