Skip to content

Commit

Permalink
Merge branch 'main' into RT-1.33_Fix
Browse files Browse the repository at this point in the history
  • Loading branch information
cprabha authored May 31, 2024
2 parents e587c09 + 57039f2 commit 9cca46b
Show file tree
Hide file tree
Showing 24 changed files with 960 additions and 466 deletions.
46 changes: 46 additions & 0 deletions feature/bgp/bgp_session_mode_configuration_test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# RT-1.55: BGP session mode (active/passive)

## Summary

* Validate the correct behavior of BGP session establishment in both active and passive modes.
* Verify the accurate reflection of BGP transport mode in telemetry output.
* Confirm the functionality of passive mode configuration at both the neighbor and peer group levels.

## Topology

DUT Port1 (AS 65501) ---eBGP --- ATE Port1 (AS 65502)

## Procedure

* Configure both DUT and ATE to operate in BGP passive mode under the neighbor section.
* Verify that the BGP adjacency will not be established.
* Verify the telemetry path output to confirm that the neighbor's BGP transport mode is displayed as "passive for the DUT.
* Configure BGP session on ATE to operate in BGP active mode when interacting with DUT.
* Verify that a BGP adjacency is established between the ATE and DUT
* Verify the telemetry path output to confirm that the neighbor's BGP transport mode is displayed as "passive for the DUT.
* Redo the same above steps but configure the passive mode under the peer group instead of the bgp neighbor configuration.

## OpenConfig Path and RPC Coverage

This example yaml defines the OC paths intended to be covered by this test. OC paths used for test environment setup are not required to be listed here.

```yaml
paths:
## Config paths
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/transport/config/passive-mode:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/transport/config/passive-mode:

## State paths
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/transport/state/passive-mode:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/transport/state/passive-mode:

rpcs:
gnmi:
gNMI.Set:
gNMI.Subscribe:
```
## Minimum DUT platform requirement
* MFF - A modular form factor device containing LINECARDs, FABRIC and redundant CONTROLLER_CARD components
* FFF - fixed form factor
12 changes: 8 additions & 4 deletions feature/bgp/policybase/otg_tests/chained_policies_test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,11 +256,15 @@ For each section of configuration below, prepare a gnmi.SetBatch with all the c
* /network-instances/network-instance/protocols/protocol/bgp/rib/afi-safis/afi-safi/ipv4-unicast/loc-rib/routes/route/prefix
* /network-instances/network-instance/protocols/protocol/bgp/rib/attr-sets/attr-set/state/med

## Protocol/RPC Parameter Coverage

* gNMI
* Subscribe (ONCE)
* Set (REPLACE)
## OpenConfig Path and RPC Coverage
```yaml
rpcs:
gnmi:
gNMI.Get:
gNMI.Subscribe:

```

## Required DUT platform

Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ platform_exceptions: {
default_network_instance: "default"
missing_value_for_defaults: true
skip_set_rp_match_set_options: true
default_import_export_policy: false
skip_setting_statement_for_policy: true
}
}
platform_exceptions: {
Expand All @@ -25,3 +27,16 @@ platform_exceptions: {
bgp_rib_oc_path_unsupported: true
}
}
platform_exceptions: {
platform: {
vendor: CISCO
}
deviations: {
bgp_rib_oc_path_unsupported: true
default_import_export_policy: true
skip_setting_statement_for_policy: true
skip_checking_attribute_index: true
flatten_policy_with_multiple_statements: true
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# RT-1.54: BGP Override AS-path split-horizon

## Summary

BGP Override AS-path split-horizon

## Topology

ATE Port1 (AS 65502) --- DUT Port1 (AS 65501) DUT Port2 ---eBGP --- ATE Port2 (AS 65503)

## Procedure

* Establish BGP Session: Configure and establish an eBGP session between the DUT (Port1) and the ATE (Port1).
* Baseline Test (No "allow-own-in"):
* Advertise a prefix from the ATE (e.g., 192.168.1.0/24) with an AS-path that includes AS 65501 (DUT's AS) in the middle (e.g., AS-path: 65502 65500 65501 65499).
* Verify that the ATE Port2 doesn't receive the route. due to the presence of its own AS in the path.
* Validate session state and capabilities received on DUT using telemetry.
* Test "allow-own-as 1":
* Enable "allow-own-as 1" on the DUT.
* Re-advertise the prefix from the ATE with the same AS-path.
* Verify that the DUT accepts the route.
* Verify that the ATE Port2 receives the route.
* Validate session state and capabilities received on DUT using telemetry.
* Test "allow-own-as 3":
* Change the DUT's configuration to "allow-own-as 3".
* Test with the following AS-path occurrences:
* 1 Occurrence: 65502 65500 65501 65499
* 3 Occurrences: 65502 65501 65501 65501 65499
* 4 Occurrences: 65502 65501 65501 65501 65501 65499 (Should be rejected)
* Verify that the ATE Port2 receives the route with 1 and 3 occurrences of AS 65501 but rejects it with 4 occurrences.
* Validate session state and capabilities received on DUT using telemetry.
* Test "allow-own-as 4:
* Change the DUT's configuration to "allow-own-as 4".
* Test with the following AS-path occurrences:
* 1 Occurrence: 65502 65500 65501 65499
* 3 Occurrences: 65502 65501 65501 65501 65499
* 4 Occurrences: 65502 65501 65501 65501 65501 65499
* Verify that the ATE Port2 receives the route with 1, 3 and 4 occurrences of AS 65501.
* Validate session state and capabilities received on DUT using telemetry.

## OpenConfig Path and RPC Coverage

The below example yaml defines the OC paths intended to be covered by this test.

```yaml
paths:
## Config paths
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/as-path-options/config/allow-own-as:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/as-path-options/config/allow-own-as:

## State paths
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/as-path-options/state/allow-own-as:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/as-path-options/state/allow-own-as:

rpcs:
gnmi:
gNMI.Set:
gNMI.Subscribe:
```
## Minimum DUT platform requirement
* MFF - A modular form factor device containing LINECARDs, FABRIC and redundant CONTROLLER_CARD components
* FFF - fixed form factor
74 changes: 35 additions & 39 deletions feature/experimental/bgp/otg_tests/link_bandwidth_test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,45 +143,41 @@ bandwidth communities to routes based on a prefix match.
* Other implementations consider value 0 invalid or not having link-bandwidth. These implementations create ECMP group with all routes including this one, and ignores link-bandwidth of all members - distribute traffic equally.
* This policy intention is to overcome this implementation difference, by deprefering (LocPref) routes with link-bandwidth 0 (only this routes) to prevent them becoming part of multipath, and remove link-bandwidth community so route will not be treated with WCMP behavior.

## Config Parameter Coverage

## Configuration to enable advertise communities to bgp peer

* /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/send-community

### Policy for community-set configuration

* /routing-policy/defined-sets/bgp-defined-sets/ext-community-sets/ext-community-set/config/ext-community-set-name
* /routing-policy/defined-sets/bgp-defined-sets/ext-community-sets/ext-community-set/config/community-member

### Policy action configuration

* /routing-policy/policy-definitions/policy-definition/config/name
* /routing-policy/policy-definitions/policy-definition/statements/statement/config/name
* /routing-policy/policy-definitions/policy-definition/statements/statement/actions/config/policy-result
* /routing-policy/policy-definitions/policy-definition/statements/statement/actions/bgp-actions/set-ext-community/config/options
* /routing-policy/policy-definitions/policy-definition/statements/statement/actions/bgp-actions/set-community/config/method
* /routing-policy/policy-definitions/policy-definition/statements/statement/actions/bgp-actions/set-ext-community/reference/config/ext-community-set-refs
* /routing-policy/policy-definitions/policy-definition/statements/statement/actions/bgp-actions/config/set-local-pref


### Policy for community-set match configuration

* /routing-policy/policy-definitions/policy-definition/statements/statement/conditions/bgp-conditions/match-ext-community-set/config/community-set
* /routing-policy/policy-definitions/policy-definition/statements/statement/conditions/bgp-conditions/match-ext-community-set/config/match-set-options

### Policy attachment point configuration

* /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/apply-policy/config/import-policy
* /network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/apply-policy/config/export-policy
* /network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/apply-policy/config/import-policy
* /network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/apply-policy/config/export-policy

## Telemetry Parameter Coverage

* /network-instances/network-instance/protocols/protocol/bgp/rib/afi-safis/afi-safi/ipv4-unicast/neighbors/neighbor/adj-rib-in-post/routes/route/state/ext-community-index
* /network-instances/network-instance/protocols/protocol/bgp/rib/afi-safis/afi-safi/ipv6-unicast/neighbors/neighbor/adj-rib-in-post/routes/route/state/ext-community-index

## 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 Parameter Coverage
## Configuration to enable advertise communities to bgp peer
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/send-community:
## Policy for community-set configuration
/routing-policy/defined-sets/bgp-defined-sets/ext-community-sets/ext-community-set/config/ext-community-set-name:
/routing-policy/defined-sets/bgp-defined-sets/ext-community-sets/ext-community-set/config/ext-community-member:
## Policy action configuration
/routing-policy/policy-definitions/policy-definition/config/name:
/routing-policy/policy-definitions/policy-definition/statements/statement/config/name:
/routing-policy/policy-definitions/policy-definition/statements/statement/actions/config/policy-result:
/routing-policy/policy-definitions/policy-definition/statements/statement/actions/bgp-actions/set-ext-community/config/options:
/routing-policy/policy-definitions/policy-definition/statements/statement/actions/bgp-actions/set-community/config/method:
/routing-policy/policy-definitions/policy-definition/statements/statement/actions/bgp-actions/set-ext-community/reference/config/ext-community-set-refs:
/routing-policy/policy-definitions/policy-definition/statements/statement/actions/bgp-actions/config/set-local-pref:
## Policy for community-set match configuration
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/bgp-conditions/match-ext-community-set/config/ext-community-set:
/routing-policy/policy-definitions/policy-definition/statements/statement/conditions/bgp-conditions/match-ext-community-set/config/match-set-options:
## Policy attachment point configuration
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/apply-policy/config/import-policy:
/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/apply-policy/config/export-policy:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/apply-policy/config/import-policy:
/network-instances/network-instance/protocols/protocol/bgp/peer-groups/peer-group/apply-policy/config/export-policy:
## Telemetry Parameter Coverage
/network-instances/network-instance/protocols/protocol/bgp/rib/afi-safis/afi-safi/ipv4-unicast/neighbors/neighbor/adj-rib-in-post/routes/route/state/ext-community-index:
/network-instances/network-instance/protocols/protocol/bgp/rib/afi-safis/afi-safi/ipv6-unicast/neighbors/neighbor/adj-rib-in-post/routes/route/state/ext-community-index:
rpcs:
gnmi:
gNMI.Subscribe:
```
## Minimum DUT Required
vRX - Virtual Router Device
Loading

0 comments on commit 9cca46b

Please sign in to comment.