bgp_afi_safi_defaults - openconfig/featureprofiles GitHub Wiki
BGP AFI SAFI OC DEFAULTS TEST
-
When operating in "openconfig mode", NOS (network operating system) defaults should match what OC defines as the defaults i.e,
-
For BGP, there are no defaults for AFI-SAFI at the neighbor and peer-group levels. However at the global level the default is "false"
-
For BGP neighbor level extended-next-hop encoding to be configured and validated too
-
This test currently only verifies the defaults for ipv4-unicast and ipv6-unicast families.
However, this test can be extended further to cover for other AFI-SAFIs as well in future. -
The test will check for default implementations under the neighbor and peer-group hierarchies and also test for inheritance rules as was specified in pull/774 and pull/815.
-
Topology:
- ATE (Port1) <-EBGP-> (Port1) DUT (Port2) <-IBGP-> (Port2) ATE
- Connect ATE Port1 to DUT port1 (EBGP peering)
- Connect ATE Port2 to DUT port2 (IBGP peering)
- ATE (Port1) <-EBGP-> (Port1) DUT (Port2) <-IBGP-> (Port2) ATE
-
[Test case-1.1] AFI-SAFI configurations at "neighbor level":
-
Push EBGP and IBGP OC configuration to the DUT
- Configuration should include corresponding IPv4 and IPv6 neighbor configurations.
- Ensure that only IPv4-Unicast enabled boolean is made "true" for IPv4 neighbor.
"IPv6-unicast enabled" boolean is left to OC default for the IPv4 peer". - Ensure that only IPv6-Unicast enabled boolean is made "true" for IPv6 neighbor. "IPv4-unicast enabled" boolean is left to OC default for the IPv6 peer".
- Ensure that there are no AFI-SAFI configurations at the global and peer-group levels.
- On the ATE side ensure that IPv4-unicast and IPv6-unicast AFI-SAFI are enabled==true for IPv4 and IPv6 neighbors.
- Ensure that there is extended-next-hop encoding feature is configured via OC path and the default value of this should be set to false
-
Verification:
- For IPv4 neighbor, ensure that the IPv4 neighborship is up and IPv6-unicast capability is not negotiated.
- For IPv6 neighbor ensure that the IPv6 neighborship is up and IPv4-unicast capability is not negotiated.
-
-
[Test case-1.2] IPv4-unicast and IPv6-Unicast AFI-SAFIs enabled at peer-group level:
-
Configuration at the neighbor level is same as in [Test case-1] except for IPv4-unicast and IPv6-unicast being enabled at the peer-group level
-
No configuration should be made at the global AFI-SAFI level
-
Verification:
- For IPv4 neighbor, ensure that the IPv4 neighborship is up and both IPv4-unicast and IPv6-unicast capabilities are negotiated.
- For IPv6 neighbor ensure that the IPv6 neighborship is up and both IPv4-unicast and IPv6-unicast capabilities are negotiated.
-
-
[Test case-1.3] IPv4-unicast and IPv6-Unicast AFI-SAFIs enabled at Global level:
-
Configuration at the neighbor level is same as in [Test case-1] except for IPv4-unicast and IPv6-unicast being enabled at the global level
-
No configuration should be made at the peer-group AFI-SAFI level
-
Verification:
- For IPv4 neighbor, ensure that the IPv4 neighborship is up and both IPv4-unicast and IPv6-unicast capabilities are negotiated.
- For IPv6 neighbor ensure that the IPv6 neighborship is up and both IPv4-unicast and IPv6-unicast capabilities are negotiated.
-
-
[Test case-2] IPv4-unicast and IPv6-Unicast AFI-SAFIs set to FALSE at neighbor level:
-
AFI-SAFI for IPv4-UNICAST is set to false for BGPv4 peers and AFI-SAFI for IPv6-UNICAST is set to false for BGPv6 peers.
-
Verification:
- For IPv4 neighbor, ensure that the IPv4 neighborship is not ESTABLISHED and IPv4-unicast capabilities are set to FALSE.
- For IPv6 neighbor ensure that the IPv6 neighborship is not ESTABLISHED and IPv6-unicast capabilities are set to FALSE.
-
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:
## Config Parameter coverage
/network-instances/network-instance/protocols/protocol/bgp/global/config/as:
/network-instances/network-instance/protocols/protocol/bgp/global/config/router-id:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/auth-password:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/neighbor-address:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/peer-as:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/neighbor-address:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/config/enabled:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/config/auth-password:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/config/peer-as:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/config/enabled:
/network-instances/network-instance/protocols/protocol/bgp/global/afi-safis/afi-safi/config/enabled:
/network-instances/network-instance/protocols/protocol/bgp/global/afi-safis/afi-safi/ipv4-unicast/config/extended-next-hop-encoding:
## Telemetry Parameter coverage
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/session-state:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/supported-capabilities:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/peer-type:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/peer-as:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/state/peer-type:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/state/peer-as:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/state/local-as:
/network-instances/network-instance/protocols/protocol/bgp/global/afi-safis/afi-safi/ipv4-unicast/state/extended-next-hop-encoding:
rpcs:
gnmi:
gNMI.Set:
gNMI.Get:
gNMI.Subscribe:
vRX - Virtual Router Device