Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
29 changes: 29 additions & 0 deletions docs/testplan/srv6/SRv6-uSID-BGP-L3VPN-Services-testplan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# SRv6 uSID BGP L3VPN Services Tests #

## Outline

- [Overview](#overview)
- [Scope](#scope)
- [Testbed](#testbed)
- [Setup configuration](#setup-configuration)
- [Test cases](#test-cases)

## Overview
The purpose of this test is to verify that FRR programs SRv6 SIDs and policies correctly into the SONiC dataplane.

### Scope
The test is targeting a running SONIC system with fully functioning configuration. The purpose of the test is to test SRv6 uSID functionality.

### Testbed
The test will run on t0 testbed.

## Setup configuration
The test requires to configure BGP neighborship between DUT and one neighbor.

## Test cases
### Test case # 1 - Verify SRv6 uSID BGP L3VPN services
* Configure a BGP session between DUT and one neighbor.
* Setup an SRv6 uSID L3VPN between the DUT and the neighbor.
* Verify that the DUT programs a SID list in the SONiC data plane.
* Verify that the DUT programs a route to steer VPN traffic over the SID list.
* Verify that the DUT programs an SRv6 uDT6 SID to decapsulate and forward the VPN traffic received from the neighbor.
16 changes: 16 additions & 0 deletions tests/srv6/srv6_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,22 @@ def verify_appl_db_sid_entry_exist(duthost, sonic_db_cli, key, exist):
return key in appl_db_my_sids if exist else key not in appl_db_my_sids


#
# Verify that the SID list entry is programmed in APPL_DB
#
def verify_appl_db_sid_list_entry_exist(duthost, sonic_db_cli, key, exist):
appl_db_my_sids = duthost.command(sonic_db_cli + " APPL_DB keys SRV6_SID_LIST_TABLE*")["stdout"]
return key in appl_db_my_sids if exist else key not in appl_db_my_sids


#
# Verify that the route entry is programmed in APPL_DB
#
def verify_appl_db_route_entry_exist(duthost, sonic_db_cli, key, exist):
appl_db_my_sids = duthost.command(sonic_db_cli + " APPL_DB keys ROUTE_TABLE*")["stdout"]
return key in appl_db_my_sids if exist else key not in appl_db_my_sids


def enable_srv6_counterpoll(duthost):
"""
Enable SRv6 counterpoll on the DUT.
Expand Down
Loading
Loading