Skip to content

Feature/route programming data#21523

Merged
bingwang-ms merged 6 commits intosonic-net:masterfrom
PriyanshTratiya:feature/route-programming-data
Jan 8, 2026
Merged

Feature/route programming data#21523
bingwang-ms merged 6 commits intosonic-net:masterfrom
PriyanshTratiya:feature/route-programming-data

Conversation

@PriyanshTratiya
Copy link
Copy Markdown
Contributor

Description of PR

Summary:
Fixes # (issue)
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR #21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Key Points:

  • Introduces new tests that:
    • Trigger BGP route updates (via scale, convergence, and flap scenarios) and
    • Measure end‑to‑end route programming time from control‑plane event to data‑plane readiness.
  • Adds helper logic to:
    • Capture timestamps, events counts around BGP state/route changes and data‑plane verification,
    • Collect and aggregate per‑iteration route programming statistics,
    • Expose pass/fail criteria based on configured thresholds.
  • Reuses the generalized connection and flap mechanisms introduced in PR Refactoring/high bgp phase 2 #21335 and to generate realistic route programming events at scale.
  • Enhances logging so that per‑iteration programming times are visible for debugging and trend analysis.
  • Keeps tests parameter‑driven to allow different scales, iteration counts, and thresholds without duplicating logic.

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • New Test case
    • Skipped for non-supported platforms
  • [ x ] Test case improvement

Back port request

  • 202205
  • 202305
  • 202311
  • 202405
  • 202411
  • 202505

Approach

What is the motivation for this PR?

After adding flexible convergence and flap coverage, we also need quantitative visibility into route programming performance. Specifically:

  • How long does it take for routes to be fully programmed after:
    • Initial BGP convergence under scale,
    • BGP admin flaps or port flaps,
    • Large‑scale route updates?
  • Number of the NextHopGroup and Route Events
  • Do these programming times remain within agreed targets across iterations and scales?
  • Can we detect regressions or platform‑specific performance issues in route programming latency?

How did you do it?

  • Added new route‑programming‑time test flows (in tests/bgp/test_ipv6_bgp_scale.py) that:
    • Use existing mechanisms to:
      • Establish BGP sessions and advertise a high scale of IPv6 routes.
      • Trigger events (e.g., convergence, admin flap cycles) using the refactored connection APIs.
    • Around each event, record:
      • The time when the control‑plane action is taken (e.g., admin shut/no‑shut, route announcement),
      • The time when verification confirms that routes are fully programmed and forwarding is working.
    • Compute route programming time as the delta between these timestamps.
    • Get the number of NextHopGroup and Route Events
  • Implemented helper functions to:
    • Configure thresholds for acceptable route programming time,
    • Aggregate and report per‑iteration statistics,
    • Mark the test as failed if the measured times exceed configured limits.
  • Reused logging and verification utilities from the refactored BGP test infrastructure so that:
    • The tests share as much code as possible with the convergence and flap tests,
    • Route programming time measurements can be correlated with existing convergence logs.

How did you verify/test it?

  • Executed the new route programming time tests in the same environment used for the high‑bgp and flap tests:
    • Topology: t0-isolated-d2u510s2
    • Platform: Broadcom Arista-7060X6-64PE-B-C512S2
  • Verified that:
    • Route programming times are collected and logged for each iteration,
    • Measured values are stable and within expected thresholds under high scale,
    • No unexpected failures or long‑tail outliers appear during repeated runs.

Any platform specific information?

  • Verified on Broadcom Arista-7060X6-64PE-B-C512S2 (or the platform(s) you actually used).
  • The test logic itself is platform‑agnostic, but measured route programming times are naturally platform and scale dependent.

Supported testbed topology if it's a new test case?

Documentation

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Priyansh Tratiya <[email protected]>
Signed-off-by: Priyansh Tratiya <[email protected]>
Signed-off-by: Priyansh Tratiya <[email protected]>
Signed-off-by: Priyansh Tratiya <[email protected]>
Signed-off-by: Priyansh Tratiya <[email protected]>
@PriyanshTratiya PriyanshTratiya force-pushed the feature/route-programming-data branch from 5aee674 to 74a2b5d Compare December 3, 2025 20:00
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@PriyanshTratiya PriyanshTratiya requested review from r12f and removed request for cyw233, lolyu and sanjair-git December 3, 2025 20:01
@PriyanshTratiya PriyanshTratiya marked this pull request as ready for review December 3, 2025 22:41
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@github-actions github-actions bot requested review from cyw233 and lolyu December 10, 2025 17:30
@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to msft-202412: Azure/sonic-mgmt.msft#974

justin-oliver pushed a commit to justin-oliver/sonic-mgmt that referenced this pull request Jan 26, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Jan 30, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to 202511: #22203

ytzur1 pushed a commit to ytzur1/sonic-mgmt that referenced this pull request Feb 2, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
Signed-off-by: Yael Tzur <[email protected]>
ytzur1 pushed a commit to ytzur1/sonic-mgmt that referenced this pull request Feb 2, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
Signed-off-by: Yael Tzur <[email protected]>
vmittal-msft pushed a commit that referenced this pull request Feb 2, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR #21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
Co-authored-by: Priyansh <[email protected]>
mssonicbld pushed a commit to mssonicbld/sonic-mgmt that referenced this pull request Feb 3, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
vmittal-msft pushed a commit that referenced this pull request Feb 3, 2026
…#22226)

* Feature/route programming data (#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR #21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
Co-authored-by: Andoni Sanguesa <[email protected]>
abhishek-nexthop pushed a commit to nexthop-ai/sonic-mgmt that referenced this pull request Feb 6, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
abhishek-nexthop pushed a commit to nexthop-ai/sonic-mgmt that referenced this pull request Feb 6, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
Anirudh-nokia pushed a commit to Anirudh-nokia/sonic-mgmt-fork that referenced this pull request Feb 6, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
Signed-off-by: ayya <[email protected]>
lakshmi-nexthop pushed a commit to lakshmi-nexthop/sonic-mgmt that referenced this pull request Feb 11, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
Co-authored-by: Priyansh <[email protected]>
Signed-off-by: Lakshmi Yarramaneni <[email protected]>
lakshmi-nexthop pushed a commit to lakshmi-nexthop/sonic-mgmt that referenced this pull request Feb 11, 2026
…et#21947) (sonic-net#22226)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
Co-authored-by: Andoni Sanguesa <[email protected]>
Signed-off-by: Lakshmi Yarramaneni <[email protected]>
nnelluri-cisco pushed a commit to nnelluri-cisco/sonic-mgmt that referenced this pull request Feb 12, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
Signed-off-by: nnelluri-cisco <[email protected]>
nnelluri-cisco pushed a commit to nnelluri-cisco/sonic-mgmt that referenced this pull request Feb 12, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
Signed-off-by: nnelluri-cisco <[email protected]>
rraghav-cisco pushed a commit to rraghav-cisco/sonic-mgmt that referenced this pull request Feb 13, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
Signed-off-by: Raghavendran Ramanathan <[email protected]>
rraghav-cisco pushed a commit to rraghav-cisco/sonic-mgmt that referenced this pull request Feb 13, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
Signed-off-by: Raghavendran Ramanathan <[email protected]>
anilal-amd pushed a commit to anilal-amd/anilal-forked-sonic-mgmt that referenced this pull request Feb 19, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
Signed-off-by: Zhuohui Tan <[email protected]>
anilal-amd pushed a commit to anilal-amd/anilal-forked-sonic-mgmt that referenced this pull request Feb 19, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
Signed-off-by: Zhuohui Tan <[email protected]>
abhishek-nexthop pushed a commit to nexthop-ai/sonic-mgmt that referenced this pull request Mar 17, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
Signed-off-by: Abhishek <[email protected]>
abhishek-nexthop pushed a commit to nexthop-ai/sonic-mgmt that referenced this pull request Mar 17, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
Signed-off-by: Abhishek <[email protected]>
venu-nexthop pushed a commit to venu-nexthop/sonic-mgmt that referenced this pull request Mar 27, 2026
This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Priyansh Tratiya <[email protected]>
venu-nexthop pushed a commit to venu-nexthop/sonic-mgmt that referenced this pull request Mar 27, 2026
…et#21947)

* Feature/route programming data (sonic-net#21523)

This PR adds test cases and supporting utilities to measure route programming time under high‑scale BGP IPv6 scenarios, building on the refactoring in PR sonic-net#21335. It focuses on quantifying how long it takes for routes to be fully programmed after BGP/connection events (e.g., convergence, admin flaps), and verifying that the measured RP times stay within expected limits and similar to the convergence time.

Signed-off-by: Andoni Sanguesa <[email protected]>
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.

5 participants