collector_flap - openconfig/featureprofiles GitHub Wiki
Reset one of the gNMI collectors, which are collecting the IPv4/IPv6 unicast routes' next-hop groups and next hops.
- atedut_2.testbed
Configure DUT:port1,port2 for IS-IS session with ATE:port1,port2.
- Let
Xbe the number of IPv4 prefixes to be advertised by eBGP. (User Adjustable Value) - Let
Ybe the number of IPv6 prefixes to be advertised by eBGP. (User Adjustable Value) - Let
Zbe the number of prefixes to be advertised by IS-IS. (User Adjustable Value) - IS-IS must be level 2 only with wide metric.
- IS-IS must be point to point.
- Send
ZIPv4 andZIPv6 prefixes from ATE:port1 to DUT:port1. Establish eBGP multipath sessions between ATE:port1,port2 and DUT:port1,port2 - Configure eBGP over the interface IP between ATE:port1,port2 and DUT:port1,port2.
- Advertise
XIPv4 andYIPv6 prefixes from ATE port1,port2. - Each prefix advertised by eBGP must have 2 next hops pointing to ATE port1 and ATE port2.
- Each prefix advertised by IS-IS must have one next hop pointing to ATE port1.
- Use gNMI.UPDATE option to push the Test Setup configuration to the DUT.
- ATE configuration must be pushed.
- eBGP routes advertised from ATE:port1,port2 must have 2 next hops.
- Use gNMI Subscribe with
ON_CHANGEoption to/network-instances/network-instance/afts. - Verify AFTs prefixes advertised by eBGP and IS-IS.
- Verify their next hop group, number of next hops, and the name of the interfaces.
- Verify the number of next hops is 2 for eBGP advertised prefixes.
- Verify the number of next hops is 1 for IS-IS advertised prefixes.
- Verify the prefixes are pointing to the correct egress interface(s).
- Verify all other leaves mentioned in the path section have the data populated correctly.
- Stop and restart one of the gNMI collectors.
- Verify AFTs prefixes advertised by eBGP and IS-IS on both the collectors.
- Verify their next hop group, number of next hops, and the name of the interfaces.
- Stop the second collector and take a system memory usage in the DUT by subscribing "openconfig:system/processes/process/state/memory-utilization" and "openconfig:components/component/cpu/utilization/state/instant"
- Recreate a gNMI session for the second collector and verify the convergence time for the second collector.
- Also check the memory usage in the DUT after the second collector is added and converged. The memory usage for BGP and the Routing Engine (RE) should not increase before the first step and also monitor for any abnormal CPU util.(more than 80%).
The below YAML defines the OC paths intended to be covered by this test. OC paths used for test setup are not listed here.
paths:
## State Paths ##
/network-instances/network-instance/afts/ipv4-unicast/ipv4-entry/state/next-hop-group:
/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/prefix:
/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/id:
/network-instances/network-instance/afts/next-hops/next-hop/interface-ref/state/interface:
/network-instances/network-instance/afts/next-hops/next-hop/state/index:
/network-instances/network-instance/afts/next-hops/next-hop/state/ip-address:
rpcs:
gnmi:
gNMI.Subscribe:{
"network-instances": {
"network-instance": [
{
"name": "DEFAULT",
"protocols": {
"protocol": [
{
"identifier": "BGP",
"name": "BGP",
"config": {
"identifier": "BGP",
"name": "BGP"
},
"bgp": {
"global": {
"config": {
"as": 65501,
"router-id": "192.0.2.1"
},
"afi-safis": {
"afi-safi": [
{
"afi-safi-name": "IPV4_UNICAST",
"config": {
"afi-safi-name": "IPV4_UNICAST",
"enabled": true
},
"use-multiple-paths": {
"ebgp": {
"config": {
"maximum-paths": 2
}
}
}
},
{
"afi-safi-name": "IPV6_UNICAST",
"config": {
"afi-safi-name": "IPV6_UNICAST",
"enabled": true
},
"use-multiple-paths": {
"ebgp": {
"config": {
"maximum-paths": 2
}
}
}
}
]
}
},
"peer-groups": {
"peer-group": [
{
"peer-group-name": "BGP-PEER-GROUP-V4-P1",
"config": {
"peer-group-name": "BGP-PEER-GROUP-V4-P1",
"peer-as": 200
},
"afi-safis": {
"afi-safi": [
{
"afi-safi-name": "IPV4_UNICAST",
"config": {
"afi-safi-name": "IPV4_UNICAST",
"enabled": true
},
"apply-policy": {
"config": {
"import-policy": [
"ALLOW"
],
"export-policy": [
"ALLOW"
]
}
},
"use-multiple-paths": { "config": { "enabled": true } }
}
]
}
},
{
"peer-group-name": "BGP-PEER-GROUP-V6-P1",
"config": {
"peer-group-name": "BGP-PEER-GROUP-V6-P1",
"peer-as": 200
},
"afi-safis": {
"afi-safi": [
{
"afi-safi-name": "IPV6_UNICAST",
"config": {
"afi-safi-name": "IPV6_UNICAST",
"enabled": true
},
"apply-policy": {
"config": {
"import-policy": [
"ALLOW"
],
"export-policy": [
"ALLOW"
]
}
},
"use-multiple-paths": { "config": { "enabled": true } }
}
]
}
},
{
"peer-group-name": "BGP-PEER-GROUP-V4-P2",
"config": {
"peer-group-name": "BGP-PEER-GROUP-V4-P2",
"peer-as": 200
},
"afi-safis": {
"afi-safi": [
{
"afi-safi-name": "IPV4_UNICAST",
"config": {
"afi-safi-name": "IPV4_UNICAST",
"enabled": true
},
"apply-policy": {
"config": {
"import-policy": [
"ALLOW"
],
"export-policy": [
"ALLOW"
]
}
},
"use-multiple-paths": { "config": { "enabled": true } }
}
]
}
},
{
"peer-group-name": "BGP-PEER-GROUP-V6-P2",
"config": {
"peer-group-name": "BGP-PEER-GROUP-V6-P2",
"peer-as": 200
},
"afi-safis": {
"afi-safi": [
{
"afi-safi-name": "IPV6_UNICAST",
"config": {
"afi-safi-name": "IPV6_UNICAST",
"enabled": true
},
"apply-policy": {
"config": {
"import-policy": [
"ALLOW"
],
"export-policy": [
"ALLOW"
]
}
},
"use-multiple-paths": { "config": { "enabled": true } }
}
]
}
}
]
},
"neighbors": {
"neighbor": [
{
"neighbor-address": "192.0.2.2",
"config": {
"neighbor-address": "192.0.2.2",
"peer-as": 200,
"enabled": true,
"peer-group": "BGP-PEER-GROUP-V4-P1"
},
"afi-safis": {
"afi-safi": [
{
"afi-safi-name": "IPV4_UNICAST",
"config": {
"afi-safi-name": "IPV4_UNICAST",
"enabled": true
}
}
]
}
},
{
"neighbor-address": "2001:db8::2",
"config": {
"neighbor-address": "2001:db8::2",
"peer-as": 200,
"enabled": true,
"peer-group": "BGP-PEER-GROUP-V6-P1"
},
"afi-safis": {
"afi-safi": [
{
"afi-safi-name": "IPV6_UNICAST",
"config": {
"afi-safi-name": "IPV6_UNICAST",
"enabled": true
}
}
]
}
},
{
"neighbor-address": "192.0.2.6",
"config": {
"neighbor-address": "192.0.2.6",
"peer-as": 200,
"enabled": true,
"peer-group": "BGP-PEER-GROUP-V4-P2"
},
"afi-safis": {
"afi-safi": [
{
"afi-safi-name": "IPV4_UNICAST",
"config": {
"afi-safi-name": "IPV4_UNICAST",
"enabled": true
}
}
]
}
},
{
"neighbor-address": "2001:db8::6",
"config": {
"neighbor-address": "2001:db8::6",
"peer-as": 200,
"enabled": true,
"peer-group": "BGP-PEER-GROUP-V6-P2"
},
"afi-safis": {
"afi-safi": [
{
"afi-safi-name": "IPV6_UNICAST",
"config": {
"afi-safi-name": "IPV6_UNICAST",
"enabled": true
}
}
]
}
}
]
}
}
},
{
"identifier": "ISIS",
"name": "ISIS",
"config": {
"identifier": "ISIS",
"name": "ISIS"
},
"isis": {
"global": {
"config": {
"hello-padding": "DISABLE"
}
},
"interfaces": {
"interface": [
{
"interface-id": "port1",
"config": {
"interface-id": "port1",
"enabled": true
},
"levels": {
"level": [
{
"level-number": 2,
"config": {
"level-number": 2
}
}
]
}
},
{
"interface-id": "port2",
"config": {
"interface-id": "port2",
"enabled": true
},
"levels": {
"level": [
{
"level-number": 2,
"config": {
"level-number": 2
}
}
]
}
}
]
}
}
}
]
}
}
]
},
"routing-policy": {
"policy-definitions": {
"policy-definition": [
{
"name": "ALLOW",
"config": {
"name": "ALLOW"
},
"statements": {
"statement": [
{
"name": "20",
"config": {
"name": "20"
},
"actions": {
"config": {
"policy-result": "ACCEPT_ROUTE"
}
}
}
]
}
}
]
}
}
}