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 24 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
172 changes: 172 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,172 @@
# AFT-1.1: AFTs Base

## Summary

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

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

* Gnmi set with REPLACE option to push the configuration DUT.
* ATE configuration must be pushed.

## Verifications

* BGP 2000 routes advertised from ATE:port1,port2 must have 2 nexthops.
* IS-IS 2000 routes advertised from ATE:port3 must have one next hop.
* BGP 100 routes 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.
* 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

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

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

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

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

/network-instances/network-instance/protocols/protocol/bgp/global/config/as:
/network-instances/network-instance/protocols/protocol/isis/global/config/instance-id:


## 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/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:
/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
Loading
Loading