Skip to content

feat: Add TE-6.5 Community-based dynamic route-leaking between VRFs FNT requirements#5449

Open
mellowdrifter wants to merge 7 commits into
mainfrom
community-route-leak-fnt
Open

feat: Add TE-6.5 Community-based dynamic route-leaking between VRFs FNT requirements#5449
mellowdrifter wants to merge 7 commits into
mainfrom
community-route-leak-fnt

Conversation

@mellowdrifter
Copy link
Copy Markdown
Contributor

Adding FNT requirements README, metadata, and registry entry for TE-6.5. This is a pure FNT requirements design change.

@mellowdrifter mellowdrifter requested review from a team as code owners May 12, 2026 17:07
@OpenConfigBot
Copy link
Copy Markdown

OpenConfigBot commented May 12, 2026

@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 the formal FNT requirements for the TE-6.5 test case, covering the validation of dynamic route-leaking between VRFs based on BGP communities. It also includes a broad update to the project's test registry, adding new test definitions and cleaning up existing entries to ensure accurate tracking of feature profiles.

Highlights

  • New Test Requirements: Added comprehensive documentation and metadata for the TE-6.5 test case, which validates community-based dynamic route-leaking between VRFs.
  • Test Registry Updates: Updated the central test registry to include new test cases and performed significant cleanup of existing entries to maintain registry health.
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.

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 introduces a new test plan (TE-6.5) for community-based dynamic route-leaking between VRFs, including its documentation and metadata. Additionally, it performs a significant update to the test registry, adding numerous new test entries across various features and cleaning up existing entries by removing empty execution fields and reordering tests. The review feedback correctly identifies several violations of the repository's style guide regarding network assignments in the new documentation; specifically, the test plan should use RFC 5398 for ASNs and RFC 5737 for IPv4 prefixes.

Comment on lines +40 to +41
* Global BGP session between DUT:Port1 (AS 65003) and ATE:Port1 (AS 65001).
* BGP session in `URPF` VRF between DUT:Port2 (AS 65003) and ATE:Port2 (AS 65002).
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 ASNs used for the BGP sessions (65001, 65002, 65003) do not adhere to the repository's guidelines for documentation ASNs. Please use values from the RFC 5398 blocks as specified in the style guide.

Suggested change
* Global BGP session between DUT:Port1 (AS 65003) and ATE:Port1 (AS 65001).
* BGP session in `URPF` VRF between DUT:Port2 (AS 65003) and ATE:Port2 (AS 65002).
* Global BGP session between DUT:Port1 (AS 65536) and ATE:Port1 (AS 64496).
* BGP session in URPF VRF between DUT:Port2 (AS 65536) and ATE:Port2 (AS 64497).
References
  1. ASNs should use RFC 5398 documentation blocks (64496-64511 or 65536-65551). (link)

Comment on lines +52 to +53
* **Session 1**: ATE:Port1 (AS 65001) peers to DUT:Port1.
* **Session 2**: ATE:Port2 (AS 65002) peers to DUT:Port2.
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 ASNs used in the ATE configuration should be consistent with the documentation ASN requirements and match the DUT configuration peering sessions.

Suggested change
* **Session 1**: ATE:Port1 (AS 65001) peers to DUT:Port1.
* **Session 2**: ATE:Port2 (AS 65002) peers to DUT:Port2.
* Session 1: ATE:Port1 (AS 64496) peers to DUT:Port1.
* Session 2: ATE:Port2 (AS 64497) peers to DUT:Port2.
References
  1. ASNs should use RFC 5398 documentation blocks (64496-64511 or 65536-65551). (link)


#### TE-6.5.1: Dynamic Route Leak on BGP Community Match

1. From ATE:Port1, advertise a list of prefixes (e.g., `100.1.1.0/24` and `2001:db8:1::/48`) containing one of the matching communities (e.g., `64500:10100`).
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 IPv4 prefix 100.1.1.0/24 is not within the allowed documentation or shared address blocks specified in the style guide. Please use an RFC 5737 block instead.

Suggested change
1. From ATE:Port1, advertise a list of prefixes (e.g., `100.1.1.0/24` and `2001:db8:1::/48`) containing one of the matching communities (e.g., `64500:10100`).
1. From ATE:Port1, advertise a list of prefixes (e.g., 192.0.2.0/24 and 2001:db8:1::/48) containing one of the matching communities (e.g., 65532:10100).
References
  1. IPv4 assignments should use RFC 5737 blocks (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24) or 100.64.0.0/10, 198.18.0.0/15. (link)


#### TE-6.5.2: No Route Leak on Community Absence

1. From ATE:Port1, advertise a new list of prefixes (e.g., `100.2.2.0/24` and `2001:db8:2::/48`) containing either *no communities* or a non-matching community (e.g., `64500:9999`).
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 IPv4 prefix 100.2.2.0/24 does not adhere to the repository's network assignment guidelines. Please use a prefix from the RFC 5737 blocks.

Suggested change
1. From ATE:Port1, advertise a new list of prefixes (e.g., `100.2.2.0/24` and `2001:db8:2::/48`) containing either *no communities* or a non-matching community (e.g., `64500:9999`).
1. From ATE:Port1, advertise a new list of prefixes (e.g., 198.51.100.0/24 and 2001:db8:2::/48) containing either no communities or a non-matching community (e.g., 65532:9999).
References
  1. IPv4 assignments should use RFC 5737 blocks (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24) or 100.64.0.0/10, 198.18.0.0/15. (link)

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