Skip to content
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

Adding AFT Base cases #3506

Merged
merged 39 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
cff9734
adding a new id by sudhin
sudhinj Oct 7, 2024
e755346
adding aft
sudhinj Oct 7, 2024
e66be74
removing files
sudhinj Oct 7, 2024
f1c90b7
adding readme
sudhinj Oct 7, 2024
d6f52a7
adding test cases
sudhinj Oct 10, 2024
be46d35
modify
sudhinj Oct 10, 2024
d7d7481
Merge branch 'openconfig:main' into main
sudhinj Oct 10, 2024
6f1c043
removing faulty oc
sudhinj Oct 10, 2024
ce1275b
adding test cases for prefix counters
sudhinj Oct 10, 2024
910c66b
adding test case numbers
sudhinj Oct 10, 2024
5f47ede
updating the changes
sudhinj Oct 16, 2024
4408124
adding comments for pull request
sudhinj Oct 16, 2024
a08b48f
Merge branch 'main' into main
sudhinj Oct 16, 2024
b609c03
added comments
sudhinj Oct 22, 2024
cc42810
Merge branch 'main' of github.com:sudhinj/featureprofiles
sudhinj Oct 22, 2024
fc255ee
Merge branch 'openconfig:main' into main
sudhinj Oct 22, 2024
e37574e
Merge branch 'openconfig:main' into main
sudhinj Oct 29, 2024
e476a0a
adding the comments
sudhinj Oct 29, 2024
d89eb06
Merge branch 'main' of github.com:sudhinj/featureprofiles
sudhinj Oct 29, 2024
8447245
adding the comments
sudhinj Oct 29, 2024
5596464
adding the comments
sudhinj Oct 29, 2024
e32c54d
adding the comments
sudhinj Oct 29, 2024
a7311d0
adding the comments
sudhinj Oct 29, 2024
d124fc3
adding the comments
sudhinj Oct 29, 2024
8e00c94
latest updates
sudhinj Oct 30, 2024
f6f8591
adding test bed topology
sudhinj Nov 12, 2024
8ef4a58
adding test bed topology
sudhinj Nov 12, 2024
e8c73df
adding scale test multi protocol dual stack for aft summary
sudhinj Nov 12, 2024
dce47ea
corrections
sudhinj Nov 12, 2024
493902d
add
sudhinj Nov 12, 2024
5f886d4
add
sudhinj Nov 12, 2024
c59fa14
fix
sudhinj Nov 12, 2024
630d308
fix
sudhinj Nov 12, 2024
d0fcf93
new
sudhinj Nov 12, 2024
a7c89ae
new fix
sudhinj Nov 12, 2024
8712872
new fix
sudhinj Nov 12, 2024
44ad581
changes
sudhinj Nov 15, 2024
4bba7f5
correction folder
sudhinj Nov 15, 2024
79b29ff
folder name change
sudhinj Nov 15, 2024
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
140 changes: 140 additions & 0 deletions feature/aft/aft_base/otg_tests/aft_base/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
# AFT-1.1: AFTs Base

## Summary

IPv4/IPv6 unicast routes next hop group and next hop.

## Procedure
sudhinj marked this conversation as resolved.
Show resolved Hide resolved

sudhinj marked this conversation as resolved.
Show resolved Hide resolved
sudhinj marked this conversation as resolved.
Show resolved Hide resolved
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.
* IS-IS must be up and running, prefixes must be in RIB and FIB.
sudhinj marked this conversation as resolved.
Show resolved Hide resolved

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.
sudhinj marked this conversation as resolved.
Show resolved Hide resolved

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.

Verifications

* BGP routes advertised from ATE:port1,port2 must have 2 nexthops.
* 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.


## AFT-1.1.1: AFT Base Link Down scenario 1

Bring down the link between ATE:port2 and DUT:port2
sudhinj marked this conversation as resolved.
Show resolved Hide resolved

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.

## AFT-1.1.2: AFT Base Link Down scenario 2

Bring down both links between ATE:port1,port2 and DUT:port1,port2

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.


## AFT-1.1.3: AFT Base Link Up scenario 1

Bring up link between ATE:port1 and DUT:port1

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.


## AFT-1.1.4: AFT Base Link Up scenario 2

Bring up both link between ATE:port1,port2 and DUT:port1,port2

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.


## 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 ##

sudhinj marked this conversation as resolved.
Show resolved Hide resolved
/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:
sudhinj marked this conversation as resolved.
Show resolved Hide resolved
/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/ipv4-unicast/protocols/protocol/state/counters/aft-entries:
/network-instances/network-instance/afts/aft-summaries/ipv6-unicast/protocols/protocol/state/origin-protocol:
/network-instances/network-instance/afts/aft-summaries/ipv6-unicast/protocols/protocol/state/counters/aft-entries:
sudhinj marked this conversation as resolved.
Show resolved Hide resolved
/network-instances/network-instance/afts/next-hop-groups/next-hop-group/id:
sudhinj marked this conversation as resolved.
Show resolved Hide resolved
/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:
sudhinj marked this conversation as resolved.
Show resolved Hide resolved
/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:
sudhinj marked this conversation as resolved.
Show resolved Hide resolved
/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
192 changes: 192 additions & 0 deletions feature/aft/aft_base/otg_tests/aft_prefixcounters/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
# AFT-2.1: AFTs Prefix Counters

## Summary

IPv4/IPv6 prefix counters

## Procedure

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.
* IS-IS must be up and running, prefixes must be in RIB and FIB.
sudhinj marked this conversation as resolved.
Show resolved Hide resolved

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.
* Validate total number of entries of AFT for IPv4 and IPv6.
* Each prefix must have 1 next hop pointing to ATE port1.

Verifications

* BGP routes advertised from ATE:port1 must have 1 nexthop.
* IS-IS routes advertised from ATE:port1 must have one next hop.


## AFT-2.1.1: AFT Prefix Counters ipv4 packets forwarded, IS-IS route.
sudhinj marked this conversation as resolved.
Show resolved Hide resolved

From ATE:port2 send 10000 pps to one of the ipv4 prefix advertise by IS-IS, after 1 minute stop the traffic.
sudhinj marked this conversation as resolved.
Show resolved Hide resolved

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.


## AFT-2.1.2: AFT Prefix Counters ipv4 packets forwarded, BGP route.

From ATE:port2 send 10000 pps to one of the ipv4 prefix advertise by BGP, after 1 minute stop the traffic.

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.




## AFT-2.1.3: AFT Prefix Counters ipv4 octets forwarded, IS-IS route.

From ATE:port2 send 10000 pps to one of the ipv4 prefix advertise by IS-IS, after 1 minute stop the traffic.

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.



## AFT-2.1.4: AFT Prefix Counters ipv4 octets forwarded, BGP route.

From ATE:port2 send 10000 pps to one of the ipv4 prefix advertise by BGP, after 1 minute stop the traffic.

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.

## AFT-2.1.5: AFT Prefix Counters ipv6 packets forwarded, IS-IS route.

From ATE:port2 send 10000 pps to one of the ipv6 prefix advertise by IS-IS, after 1 minute stop the traffic.

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.


## AFT-2.1.6: AFT Prefix Counters ipv6 packets forwarded, BGP route.

From ATE:port2 send 10000 pps to one of the ipv6 prefix advertise by BGP, after 1 minute stop the traffic.

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.




## AFT-2.1.7: AFT Prefix Counters ipv6 octets forwarded, IS-IS route.

From ATE:port2 send 10000 pps to one of the ipv6 prefix advertise by IS-IS, after 1 minute stop the traffic.

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.



## AFT-2.1.8: AFT Prefix Counters ipv6 octets forwarded, BGP route.

From ATE:port2 send 10000 pps to one of the ipv6 prefix advertise by BGP, after 1 minute stop the traffic.

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.


## AFT-2.1.9: AFT Prefix Counters withdraw the ipv4 prefix.

* From ATE:port1 withdraw some prefixes of BGP and IS-IS.
* Send 10000 pps 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.

## AFT-2.1.10: AFT Prefix Counters add the ipv4 prefix back.

* From ATE:port1 add the prefixes of BGP and IS-IS back.
* Send 10000 pps 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.

## AFT-2.1.11: AFT Prefix Counters withdraw the ipv6 prefix.

* From ATE:port1 withdraw some prefixes of BGP and IS-IS.
* Send 10000 pps 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.

## AFT-2.1.12: AFT Prefix Counters add the ipv6 prefix back.

* From ATE:port1 add the prefixes of BGP and IS-IS back.
* Send 10000 pps 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.

## 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
12 changes: 12 additions & 0 deletions testregistry.textproto
Original file line number Diff line number Diff line change
Expand Up @@ -1747,3 +1747,15 @@ test: {
readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/container/networking/tests/container_connectivity/README.md"
exec: " "
}
test: {
id: "AFT-1.1"
description: "AFT Streaming"
readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/aft/aft_base/otg_tests/aft_base/README.md"
exec: " "
}
test: {
id: "AFT-2.1"
description: "AFT Streaming"
readme: "https://github.com/openconfig/featureprofiles/blob/main/feature/aft/aft_base/otg_tests/aft_prefixcounters/README.md"
exec: " "
}
Loading