forked from openconfig/featureprofiles
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding AFT Base cases (openconfig#3506)
Add AFT-1.1 Add AFT-2.1 Update RT-4.11
- Loading branch information
Showing
9 changed files
with
1,033 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,177 @@ | ||
# AFT-1.1: AFTs Base | ||
|
||
## Summary | ||
|
||
IPv4/IPv6 unicast routes next hop group and next hop. | ||
|
||
## Testbed | ||
|
||
* atedut_4.testbed | ||
|
||
## Test Setup | ||
|
||
### Generate DUT and ATE Configuration | ||
|
||
Configure DUT:port1,port2,port3 for IS-IS session with ATE:port1,port2,port3 | ||
* IS-IS must be level 2 only with wide metric. | ||
* IS-IS must be point to point. | ||
* Send 1000 ipv4 and 1000 ipv6 IS-IS prefixes from ATE:port3 to DUT:port3. | ||
|
||
|
||
Establish eBGP sessions between ATE:port1,port2 and DUT:port1,port2 and another between ATE:port3 and DUT:port3. | ||
* Configure eBGP over the interface ip. | ||
* eBGP must be multipath. | ||
* Advertise 1000 ipv4,ipv6 prefixes from ATE port1,port2 observe received prefixes at DUT. | ||
* Validate total number of entries of AFT for IPv4 and IPv6. | ||
* Each prefix must have 2 next hops pointing to ATE port1,port2. | ||
* Advertise 100 ipv4,ipv6 from ATE port3 observe received prefixes at DUT. | ||
|
||
Establish RSVP Sessions between ATE:port3 and SUT:port3. | ||
* Configure mpls and rsvp sessions. | ||
* Configure 2 ingress TE tunnels from DUT:port3 to ATE:port3. | ||
* Tunnel destination is interface ip of ATE:port3. | ||
* Configure explicit null and ipv6 tunneling. | ||
* BGP advertised routes from ATE:port3 must be pointing to the 2 tunnels in the DUT. | ||
|
||
### Procedure | ||
|
||
* Use gNMI.Set with REPLACE option to push the Test Setup configuration to the DUT. | ||
* ATE configuration must be pushed. | ||
|
||
### Verifications | ||
|
||
* BGP route advertised from ATE:port1,port2 must have 2 nexthops. | ||
* IS-IS route advertised from ATE:port3 must have one next hop. | ||
* BGP route advertised from ATE:port3 must have 2 next hops pointing to tunnels. | ||
* Use gnmi Subscribe with ON_CHANGE option to /network-instances/network-instance/afts. | ||
* For verifying prefix, nexthop groups, next hop use the leaves mentioed in the path section. | ||
* Verify afts prefix advertised by BGP,ISIS. | ||
* Verify its next hop group, number of next hop and its interfaces. | ||
* Verify the number of next hop is same as expected. | ||
* Verify all other leaves mentioned in the path section. | ||
|
||
|
||
## AFT-1.1.1: AFT Base Link Down scenario 1 | ||
|
||
### Procedure | ||
|
||
Bring down the link between ATE:port2 and DUT:port2 using OTG api. | ||
|
||
### Verifications | ||
|
||
* BGP routes advertised from ATE:port1,port2 must have 1 nexthop. | ||
* IS-IS routes advertised from ATE:port3 must have one next hop. | ||
* BGP routes advertised from ATE:port3 must have 2 next hops pointing to tunnels. | ||
* For verifying prefix, nexthop groups, next hop use the leaves mentioed in the path section. | ||
* Verify afts prefix advertised by BGP,ISIS. | ||
* Verify its next hop group, number of next hop and its interfaces. | ||
* Verify the number of next hop is same as expected. | ||
|
||
## AFT-1.1.2: AFT Base Link Down scenario 2 | ||
|
||
### Procedure | ||
|
||
Bring down both links between ATE:port1,port2 and DUT:port1,port2 using OTG api. | ||
|
||
### Verifications | ||
|
||
* BGP routes advertised from ATE:port1,port2 must be removed from RIB,FIB of the DUT, query results nil. | ||
* IS-IS routes advertised from ATE:port3 must have one next hop. | ||
* BGP routes advertised from ATE:port3 must have 2 next hops pointing to tunnels. | ||
* For verifying prefix, nexthop groups, next hop use the leaves mentioed in the path section. | ||
* Verify afts prefix advertised by BGP,ISIS. | ||
* Verify its next hop group, number of next hop and its interfaces. | ||
* Verify the number of next hop is same as expected. | ||
|
||
## AFT-1.1.3: AFT Base Link Up scenario 1 | ||
|
||
### Procedure | ||
|
||
Bring up link between ATE:port1 and DUT:port1 using OTG api. | ||
|
||
### Verifications | ||
|
||
* BGP routes advertised from ATE:port1,port2 must have one next hop. | ||
* IS-IS routes advertised from ATE:port3 must have one next hop. | ||
* BGP routes advertised from ATE:port3 must have 2 next hops pointing to tunnels. | ||
* Verify afts prefix advertised by BGP,ISIS. | ||
* For verifying prefix, nexthop groups, next hop use the leaves mentioed in the path section. | ||
* Verify its next hop group, number of next hop and its interfaces. | ||
* Verify the number of next hop is same as expected. | ||
|
||
## AFT-1.1.4: AFT Base Link Up scenario 2 | ||
|
||
### Procedure | ||
|
||
Bring up both link between ATE:port1,port2 and DUT:port1,port2 using OTG api. | ||
|
||
### Verifications | ||
|
||
* BGP routes advertised from ATE:port1,port2 must have 2 next hops. | ||
* IS-IS routes advertised from ATE:port3 must have one next hop. | ||
* BGP routes advertised from ATE:port3 must have 2 next hops pointing to tunnels. | ||
* For verifying prefix, nexthop groups, next hop use the leaves mentioed in the path section. | ||
* Verify afts prefix advertised by BGP,ISIS. | ||
* Verify its next hop group, number of next hop and its interfaces. | ||
* Verify the number of next hop is same as expected. | ||
|
||
## OpenConfig Path and RPC Coverage | ||
|
||
The below yaml defines the OC paths intended to be covered by this test. OC paths used for test setup are not listed here. | ||
|
||
```yaml | ||
paths: | ||
## Config Paths ## | ||
|
||
|
||
## State Paths ## | ||
|
||
/network-instances/network-instance/afts/ethernet/mac-entry/state/next-hop-group: | ||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/next-hop-group: | ||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/origin-protocol: | ||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/prefix: | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/state/next-hop-group: | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/state/origin-protocol: | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/state/prefix: | ||
/network-instances/network-instance/afts/aft-summaries/ipv4-unicast/protocols/protocol/state/origin-protocol: | ||
/network-instances/network-instance/afts/aft-summaries/ipv6-unicast/protocols/protocol/state/origin-protocol: | ||
/network-instances/network-instance/afts/next-hop-groups/next-hop-group/id: | ||
/network-instances/network-instance/afts/next-hop-groups/next-hop-group/next-hops/next-hop/index: | ||
/network-instances/network-instance/afts/next-hop-groups/next-hop-group/next-hops/next-hop/state/index: | ||
/network-instances/network-instance/afts/next-hop-groups/next-hop-group/next-hops/next-hop/state/weight: | ||
/network-instances/network-instance/afts/next-hop-groups/next-hop-group/state/backup-next-hop-group: | ||
/network-instances/network-instance/afts/next-hop-groups/next-hop-group/state/id: | ||
/network-instances/network-instance/afts/next-hops/next-hop/index: | ||
/network-instances/network-instance/afts/next-hops/next-hop/interface-ref/state/interface: | ||
/network-instances/network-instance/afts/next-hops/next-hop/interface-ref/state/subinterface: | ||
/network-instances/network-instance/afts/next-hops/next-hop/state/encapsulate-header: | ||
/network-instances/network-instance/afts/next-hops/next-hop/state/index: | ||
/network-instances/network-instance/afts/next-hops/next-hop/state/ip-address: | ||
/network-instances/network-instance/afts/next-hops/next-hop/state/mac-address: | ||
/network-instances/network-instance/afts/next-hops/next-hop/state/origin-protocol: | ||
/network-instances/network-instance/afts/state-synced/state/ipv4-unicast: | ||
/network-instances/network-instance/afts/state-synced/state/ipv6-unicast: | ||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/entry-metadata: | ||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/next-hop-group-network-instance: | ||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/origin-network-instance: | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/state/entry-metadata: | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/state/next-hop-group-network-instance: | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/state/origin-network-instance: | ||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/prefix: | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/prefix: | ||
|
||
rpcs: | ||
gnmi: | ||
gNMI.Subscribe: | ||
``` | ||
## Control Protocol Coverage | ||
BGP | ||
IS-IS | ||
RSVP | ||
MPLS | ||
## Minimum DUT Platform Requirement | ||
vRX |
178 changes: 178 additions & 0 deletions
178
feature/aft/aft_base/otg_tests/afts_prefix_counters/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
# AFT-2.1: AFTs Prefix Counters | ||
|
||
## Summary | ||
|
||
IPv4/IPv6 prefix counters | ||
|
||
## Testbed | ||
|
||
* atedut_2.testbed | ||
|
||
## Test Setup | ||
|
||
### Generate DUT and ATE Configuration | ||
|
||
Configure DUT:port1 for IS-IS session with ATE:port1 | ||
* IS-IS must be level 2 only with wide metric. | ||
* IS-IS must be point to point. | ||
* Send 1000 ipv4 and 1000 ipv6 IS-IS prefixes from ATE:port1 to DUT:port1. | ||
|
||
Establish eBGP sessions between ATE:port1 and DUT:port1. | ||
* Configure eBGP over the interface ip. | ||
* Advertise 1000 ipv4,ipv6 prefixes from ATE port1 observe received prefixes at DUT. | ||
|
||
### Procedure | ||
|
||
* Gnmi set with REPLACE option to push the configuration DUT. | ||
* ATE configuration must be pushed. | ||
|
||
### verifications | ||
|
||
* BGP routes advertised from ATE:port1 must have 1 nexthop. | ||
* IS-IS routes advertised from ATE:port1 must have one next hop. | ||
* Use gnmi Subscribe with ON_CHANGE option to /network-instances/network-instance/afts. | ||
* Verify afts prefix entries using the following paths with in a timeout of 30s. | ||
|
||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/prefix, | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/state/prefix | ||
|
||
|
||
|
||
## AFT-2.1.1: AFT Prefix Counters ipv4 packets forwarded, ipv4 octets forwarded IS-IS route. | ||
|
||
### Procedure | ||
|
||
From ATE:port2 send 10000 packets to one of the ipv4 prefix advertise by IS-IS. | ||
|
||
### Verifications | ||
|
||
* Before the traffic measure the initial counter value. | ||
* After the traffic measure the final counter value. | ||
* The difference between final and initial value must match with the counter value in ATE then the test is marked as passed. | ||
* Verify afts ipv4 forwarded packets and ipv4 forwarded octets counter entries using the path mentioned in the paths section of this test plan. | ||
|
||
## AFT-2.1.2: AFT Prefix Counters ipv4 packets forwarded, ipv4 octets forwarded BGP route. | ||
|
||
### Procedure | ||
|
||
From ATE:port2 send 10000 packets to one of the ipv4 prefix advertise by BGP. | ||
|
||
### Verifications | ||
|
||
* Before the traffic measure the initial counter value. | ||
* After the traffic measure the final counter value. | ||
* The difference between final and initial value must match with the counter value in ATE, then the test is marked as passed. | ||
* Verify afts ipv4 forwarded packets and ipv4 forwarded octets counter entries using the path mentioned in the paths section of this test plan. | ||
|
||
|
||
## AFT-2.1.3: AFT Prefix Counters ipv6 packets forwarded, ipv6 octets forwarded IS-IS route. | ||
|
||
### Procedure | ||
|
||
From ATE:port2 send 10000 packets to one of the ipv6 prefix advertise by IS-IS. | ||
|
||
### Verifications | ||
|
||
* Before the traffic measure the initial counter value. | ||
* After the traffic measure the final counter value. | ||
* The difference between final and initial value must match with the counter value in ATE, then the test is marked as passed. | ||
* Verify afts ipv6 forwarded packets and ipv6 forwarded octets counter entries using the path mentioned in the paths section of this test plan. | ||
|
||
## AFT-2.1.4: AFT Prefix Counters ipv6 packets forwarded, ipv6 octets forwarded BGP route. | ||
|
||
### Procedure | ||
|
||
From ATE:port2 send 10000 packets to one of the ipv6 prefix advertise by BGP. | ||
|
||
### Verifications | ||
|
||
* Before the traffic measure the initial counter value. | ||
* After the traffic measure the final counter value. | ||
* The difference between final and initial value must match with the counter value in ATE, then the test is marked as passed. | ||
* Verify afts ipv6 forwarded packets and ipv6 forwarded octets counter entries using the path mentioned in the paths section of this test plan. | ||
|
||
## AFT-2.1.5: AFT Prefix Counters withdraw the ipv4 prefix. | ||
|
||
### Procedure | ||
|
||
* From ATE:port1 withdraw some prefixes of BGP and IS-IS. | ||
* Send 10000 packets from ATE:port2 to DUT:port2 for one of the withdrawn ipv4 prefix. | ||
* The traffic must blackhole. | ||
|
||
### Verifications | ||
|
||
* The counters must not send incremental value as the prefix is not present in RIB/FIB. The test fails if the counter shows incremental values. | ||
* Verify afts ipv4 forwarded packet counter entries using the path mentioned in the paths section of this test plan. | ||
|
||
## AFT-2.1.6: AFT Prefix Counters add the ipv4 prefix back. | ||
|
||
### Procedure | ||
|
||
* From ATE:port1 add the prefixes of BGP and IS-IS back. | ||
* Send 10000 packets from ATE:port2 to DUT:port2 for one of the added ipv4 prefix. | ||
* The traffic must flow end to end. | ||
|
||
### Verifications | ||
|
||
* Before the traffic measure the initial counter value. | ||
* After the traffic measure the final counter value. | ||
* The difference between final and initial value must match with the counter value in ATE, then the test is marked as passed. | ||
* Verify afts counter entries using the path mentioned in the paths section of this test plan. | ||
|
||
## AFT-2.1.7: AFT Prefix Counters withdraw the ipv6 prefix. | ||
|
||
### Procedure | ||
|
||
* From ATE:port1 withdraw some prefixes of BGP and IS-IS. | ||
* Send 10000 packets from ATE:port2 to DUT:port2 for one of the withdrawn ipv6 prefix. | ||
* The traffic must blackhole. | ||
|
||
### Verifications | ||
|
||
* The counters must not send incremental value as the prefix is not present in RIB/FIB. The test fails if the counter shows incremental values. | ||
* Verify afts counter entries using the path mentioned in the paths section of this test plan. | ||
|
||
## AFT-2.1.8: AFT Prefix Counters add the ipv6 prefix back. | ||
|
||
### Procedure | ||
|
||
* From ATE:port1 add the prefixes of BGP and IS-IS back. | ||
* Send 10000 packets from ATE:port2 to DUT:port2 for one of the added ipv6 prefix. | ||
* The traffic must flow end to end. | ||
|
||
### Verifications | ||
|
||
* Before the traffic measure the initial counter value. | ||
* After the traffic measure the final counter value. | ||
* The difference between final and initial value must match with the counter value in ATE, then the test is marked as passed. | ||
* Verify afts counter entries using the path mentioned in the paths section of this test plan. | ||
|
||
## OpenConfig Path and RPC Coverage | ||
|
||
The below yaml defines the OC paths intended to be covered by this test. OC paths used for test setup are not listed here. | ||
|
||
```yaml | ||
paths: | ||
## Config Paths ## | ||
|
||
## State Paths ## | ||
|
||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/counters/octets-forwarded: | ||
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/counters/packets-forwarded: | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/state/counters/octets-forwarded: | ||
/network-instances/network-instance/afts/ipv6-unicast/ipv6-entry/state/counters/packets-forwarded: | ||
|
||
|
||
rpcs: | ||
gnmi: | ||
gNMI.Subscribe: | ||
``` | ||
## Control Protocol Coverage | ||
BGP | ||
IS-IS | ||
## Minimum DUT Platform Requirement | ||
vRX |
File renamed without changes.
File renamed without changes.
File renamed without changes.
39 changes: 39 additions & 0 deletions
39
feature/aft/afts_summary/otg_tests/scale_aft_summary/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# RT-4.11: AFTs Route Summary | ||
|
||
## Summary | ||
|
||
IPv4/IPv6 scale unicast AFTs route summary for ISIS and BGP protocol | ||
|
||
## Procedure | ||
|
||
* Configure DUT:port1 for an IS-IS session with ATE:port1 | ||
* Establish eBGP sessions between ATE:port1 and DUT:port1 and another between ATE:port2 and DUT:port2 | ||
* Configure Route-policy under BGP peer-group address-family | ||
* Advertise scale prefixes from ATE port-1, port-2 observe received prefixes at DUT for IPv4 and IPv6 | ||
* Validate total number of entries of AFT for IPv4 and IPv6 | ||
|
||
## OpenConfig Path and RPC Coverage | ||
|
||
The below yaml defines the OC paths intended to be covered by this test. OC paths used for test setup are not listed here. | ||
|
||
```yaml | ||
paths: | ||
## Config Paths ## | ||
|
||
## State Paths ## | ||
/network-instances/network-instance/afts/aft-summaries/ipv4-unicast/protocols/protocol/state/counters/aft-entries: | ||
/network-instances/network-instance/afts/aft-summaries/ipv6-unicast/protocols/protocol/state/counters/aft-entries: | ||
|
||
rpcs: | ||
gnmi: | ||
gNMI.Subscribe: | ||
``` | ||
## Control Protocol Coverage | ||
BGP | ||
IS-IS | ||
## Minimum DUT Platform Requirement | ||
vRX |
Oops, something went wrong.