Skip to content

Increase delay before RIF remove#1061

Merged
prsunny merged 4 commits intosonic-net:masterfrom
stepanblyschak:vlan_trunk_rif_remove_timeout
Aug 13, 2019
Merged

Increase delay before RIF remove#1061
prsunny merged 4 commits intosonic-net:masterfrom
stepanblyschak:vlan_trunk_rif_remove_timeout

Conversation

@andriymoroz-mlnx
Copy link
Copy Markdown
Contributor

Description of PR

Summary:
Fixes # (issue)

Type of change

  • [] Bug fix
  • [] Testbed and Framework(new/improvement)
  • [] Test case(new/improvement)

Approach

How did you do it?

How did you verify/test it?

Any platform specific information?

Supported testbed topology if it's a new test case?

Documentation

Stepan Blyschak and others added 3 commits August 6, 2019 18:58
- use 'config' commands to brind down/up interfaces
- generate 'Vlan<VID>': {} in config to specify this interface belongs to global vrf as it is required (TODO: use config CLI instead);
- wait longer time after LAG shutdown;
  Test tries to configure LAG as part of VLAN interface which will fail if LAG is a RIF.
  Since RIF in SONiC is removed only when the ref_count becomes 0, we'll have to wait for orchagent
  to remove all routes, next hop groups, neighbors that reference those LAG RIFs.
  The time is required is not very deterministic and can differ between platforms but it is assumed 90 sec is enough.
  One other way to do this test is to create seperate PortChannels.
  Also, it looks that master has significantly slower performence to remove routes, next hops then 201811 branch.

Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
@andriymoroz-mlnx andriymoroz-mlnx changed the title Vlan trunk rif remove timeout Increase delay before RIF remove Aug 9, 2019
@andriymoroz-mlnx andriymoroz-mlnx marked this pull request as ready for review August 13, 2019 10:43
@prsunny prsunny merged commit fe3f168 into sonic-net:master Aug 13, 2019
kazinator-arista pushed a commit to kazinator-arista/sonic-mgmt that referenced this pull request Mar 4, 2026
Submodule src/sonic-swss 57e531d..0e5c1ff:
  > Adopt to signature change of Selectable::readData, which switched (sonic-net#1061)
  > [orchagent]: Remove try/catch for correct coredump file (sonic-net#790)

Submodule src/sonic-swss-common d7b1f53..ece5ce4:
  > timerfd fix: Pass false alarm to caller. (sonic-net#307)

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
Pterosaur pushed a commit to Pterosaur/sonic-mgmt that referenced this pull request Mar 25, 2026
…F Reachability and Accurate Downtime (sonic-net#1061)

<!--
Please make sure you've read and understood our contributing guidelines;
https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md

Please provide following information to help code review process a bit easier:
-->
### Description of PR
<!--
- Please include a summary of the change and which issue is fixed.
- Please also include relevant motivation and context. Where should reviewer start? background context?
- List any dependencies that are required for this change.
-->

Summary:
In IPv6 BGP scale flap testing, when `all_flap` is enabled we must keep one neighbor stable avoid dataplane downtime miscalculation. This PR updates the target selection logic to flap “all minus one” neighbors by removing the randomly chosen injection neighbor from the flapping neighbor list, and updates the log message accordingly.
Fixes # (issue)

### Type of change

<!--
- Fill x for your type of change.
- e.g.
- [x] Bug fix
-->

- [ ] Bug fix
- [ ] Testbed and Framework(new/improvement)
- [ ] New Test case
 - [ ] Skipped for non-supported platforms
- [ x ] Test case improvement

### Back port request
- [ ] 202205
- [ ] 202305
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505
- [ ] 202511

### Approach
#### What is the motivation for this PR?
The flap test requires a dedicated “injection neighbor” to remain up for route injection/verification. Previously, with `all_flap=True`, the injection neighbor could also be included in the flapping set, causing inconsistent/incorrect behavior.

#### How did you do it?
In `tests/bgp/test_ipv6_bgp_scale.py` (`_select_targets_to_flap`), when `all_flap` is enabled:
- Copy the neighbor list (`list(bgp_neighbors)`) to avoid aliasing.
- Randomly pick the injection neighbor.
- Remove the injection neighbor from `flapping_neighbors` so we flap all other neighbors.
- Update the log message to reflect “All - 1 neighbors”.

#### How did you verify/test it?
Ran the tests on Arista 7060X6 and Mellanox SN5640
#### Any platform specific information?

#### Supported testbed topology if it's a new test case?

### Documentation
<!--
(If it's a new feature, new test case)
Did you update documentation/Wiki relevant to your implementation?
Link to the wiki page?
-->

Signed-off-by: Sonic Build Admin <sonicbld@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants