Skip to content
Closed
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions docs/testplan/BGP_IPv6_test_2TierNetwork.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Test Objective
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BGP + route scale

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually, better split the route scale into another test. for bgp session, we can use 4 x Number of ports as route scale.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for route scale test, we can do 40 x number of ports. but in separate test. in the route scale test, we need to check the latency very carefully.

This test aims to verify the scalability and stability of 256 BGP sessions and 10K IPv6 routes in a 2-tier network. It evaluates the DUT’s ability to establish and maintain BGP sessions, ensures proper route learning, and measures BGP update convergence time under various conditions.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

setup is 1 BGP session per port.

so we are not limited to 256 BGP sessions

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mutli-tier network should still work.


# Test Setup
![Test Setup](./2TierNetwork.png)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: lint the markdown.


1. The testbed consists of four IXIA traffic generators (synchronized using a time-sync metronome) and five SONiC switches, where the BT1 switch is the Device Under Test (DUT).
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the test should work with any number of ixias.

2. Each of the four BT0 switches is connected to the DUT via eight DAC cables. There are no direct connections between any two BT0 switches.
3. Each BT0 switch is also connected to one IXIA traffic generator via eight optical cables. Similarly, there are no direct connections between any two IXIA devices.
4. Both switches and IXIAs support four port breakout modes: 8x100Gbps, 4x200Gbps, 2x400Gbps, and 1x800Gbps. However, they must operate in the same mode. In 8x100Gbps mode, each cable supports eight links. In 4x200Gbps mode, each cable supports four links. So on and so forth.
5. The routing configuration of the BT0 switches should ensure that all data traffic go through the DUT.

# Test Steps
1. Assign a unique AS number to each of the five switches.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should consider automate this using add-topo or deploy-mg.

all switches can share the same setup, and ask the IXIA to advertise the routes.


2. Between each of the four BT0 switches and the DUT: Configure 64 BGP sessions. Each BGP session should have a dedicated pair of Ethernet ports (one on BT0 and the other on the DUT) 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 256 BGP sessions are established without errors.

4. In each BT0 switch: Configure a vlan, assign 2500 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 10,000 routes.

6. Shut down one interface on the DUT. Wait till all routes advertised by the impacted BGP session are removed. Now bring up the interface and measure the time for BGP session and route reestablishment. Repeat this process and calculate the average update time of this scenario.

7. Stop the BGP container on the DUT. Wait till all BGP routes are removed. Now bring up the BGP container and measure the time for BGP session and route reestablishment. Repeat this process and calculate the average update time of this scenario.

8. Using IXIA management application IxNetwork, create four topologies, one for each IXIA devices. In each topology, add the Ethernet ports connected to one BT0, apply IPv6 protocol so that it emulates 2500 IPv6 hosts with the specified prefix length.

9. In one IXIA, define a unidirectional 100% line-rate traffic item. Ensure the destinations are evenly distributed across the other three IXIA devices. Start the traffic. Check the interface counters on the five switches if they are expected. On the DUT, shut down one interface not connected to the source IXIA. The impacted flows are expected to quickly recover because the packets are routed to alternative paths. Measure the packet loss duration and number.

10. In all the 4 IXIAs, define 80% line-rate fully meshed traffic items so that all 10,000 routes can be exercised on the DUT. Shut down an interface on the DUT. In this case, we expect packet loss for a short time. Measure the convergence time, which is the packet loss duration. Next, increase the traffic rate to 99% line-rate. Bring up the interface and measure the convergence time, which is the traffic loss duration.