-
Notifications
You must be signed in to change notification settings - Fork 1k
SONiC switch High-scale IPv6 BGP test plan #16759
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 7 commits
876ce09
75a90f3
1c5a0da
25e0f53
dd47aa1
6f5a59a
87f90ed
7318ca6
445c786
9125b28
fbe30bb
6cbdff0
df259ed
0d8f40a
c723d49
7be75c9
bc1a42e
9a2add0
725f248
c89dc01
9abbb48
843a9d6
a2fe59c
15a7a10
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| # SONiC Switch High-Scale IPv6 BGP Test | ||
sm-xu marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## Table of Contents | ||
|
|
||
| - [Test Objective](#test-objective) | ||
| - [Test Setup](#test-setup) | ||
| - [Test Steps](#test-steps) | ||
|
|
||
| ## Test Objective | ||
|
|
||
| This test verifies the scalability and stability of multiple BGP sessions on a SONiC switch. BGP sessions will be established between each Ethernet logical port of the DUT and its neighboring devices. The test evaluates the DUT’s ability to initiate and maintain BGP sessions, validates proper route learning, and measures BGP update convergence time under various conditions. | ||
|
|
||
| ## Test Setup | ||
sm-xu marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| This test is designed to be topology-independent, meaning it does not assume or enforce a specific network layout. The only requirement is that the DUT is fully connected to handle full traffic loads under stress. All logical Ethernet ports are utilized to establish BGP sessions. Assuming the DUT has X logical Ethernet ports and is connected to Y neighboring switches, we will establish X/Y BGP sessions between each neighbor and the DUT. | ||
|
|
||
|  | ||
sm-xu marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| In the above example, the DUT has 256 logical Ethernet ports and is connected to 4 neighboring switches, we will establish 64 BGP sessions between each neighbor and the DUT. | ||
|
|
||
| ## Test Steps | ||
|
||
|
|
||
| 1. Assign a unique AS number to each of the five switches. | ||
|
||
|
|
||
| 2. Between each of the neighboring switches and the DUT: Configure X/Y BGP sessions. Each BGP session should have a dedicated pair of Ethernet ports (one on the DUT and the other on the neighboring device) whose IPv6 addresses are on the same subnet. Set up the BGP neighbors, device neighbors, and port IPv6 addresses for each BGP session. | ||
|
||
|
|
||
| 3. Monitor the BGP session establishment on the DUT using command `show ipv6 bgp summary`. Ensure all X BGP sessions are established without errors. | ||
|
||
|
|
||
| 4. In each neighboring switch: Configure a vlan, assign 10*X IPv6 addresses with the specified prefix length and add all the Ethernet ports connected to IXIA to the vlan. | ||
|
|
||
| 5. Monitor the BGP route learning on the DUT by running `show ipv6 route bgp`. Verify the DUT learns and installs all routes. | ||
|
|
||
| ## Key Test Cases | ||
|
|
||
| ### One BGP Session Flap | ||
|
||
|
|
||
| 1. One session down and up: Shut down one interface on the DUT. Wait till all routes advertised by the impacted BGP session are removed. | ||
|
||
| 2. Bring up the interface and measure the time for BGP session and route reestablishment. | ||
| 3. Repeat this process and calculate the average update time of this scenario. | ||
|
|
||
| ### All BGP Sessions Down and Up Test | ||
|
|
||
| 1. Stop the BGP container on the DUT. Wait till all BGP routes are removed. | ||
|
||
| 2. Bring up the BGP container and measure the time for BGP session and route reestablishment. | ||
| 3. Repeat this process and calculate the average update time of this scenario. | ||
|
|
||
| ### Nexthop Reduction and Restoration Test | ||
|
|
||
| 1. In one of the T0 switches, run `show ipv6 bgp network <ipv6>/<prefix>` and find the number of nexthops that can be used to reach `<ipv6>/<prefix>`. | ||
| 2. Randomly pick half of the next hops and remove them. Run the show command again and record the convergence time. | ||
| 3. Restore the removed nexthops and record the convergence time again. | ||
| 4. Repeat this process and calculate the average convergence time of this scenario. | ||
|
||
sm-xu marked this conversation as resolved.
Show resolved
Hide resolved
|
Uh oh!
There was an error while loading. Please reload this page.