Reg: BGP FIB Suppress Pending T2 Multi Asic Multi Dut Refactor
Description of PR
Summary: The modifications to test_bgp_suppress_fib.py are intended to adapt the script for a T2 topology with a multi-ASIC, multi-DUT chassis configuration
Type of change
- [ ] Bug fix
- [ ] Testbed and Framework(new/improvement)
- [x] Test case(new/improvement)
Back port request
- [ ] 202012
- [ ] 202205
- [ ] 202305
- [ ] 202311
- [ ] 202405
Approach
What is the motivation for this PR?
Extending the fib suppress use case to T2 Chassis topology as well
How did you do it?
Revise the code from being tailored to a T1-specific use case to a more generic framework that supports both upstream and downstream traffic, while also accommodating multi-ASIC and multi-DUT scenarios.
How did you verify/test it?
Tested on t1 topology
Tested on t2 multi asic , multi dut chassis topology
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation
The pre-commit check detected issues in the files touched by this pull request. The pre-commit check is a mandatory check, please fix detected issues.
Detailed pre-commit check results:
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check yaml...........................................(no files to check)Skipped
check for added large files..............................................Passed
check python ast.........................................................Passed
flake8...................................................................Failed
- hook id: flake8
- exit code: 1
tests/conftest.py:1657:1: E302 expected 2 blank lines, found 1
tests/conftest.py:1673:121: E501 line too long (151 > 120 characters)
tests/conftest.py:1675:1: E302 expected 2 blank lines, found 1
tests/conftest.py:1691:121: E501 line too long (153 > 120 characters)
tests/conftest.py:1693:1: E302 expected 2 blank lines, found 1
flake8...............................................(no files to check)Skipped
check conditional mark sort..........................(no files to check)Skipped
To run the pre-commit checks locally, you can follow below steps:
- Ensure that default python is python3. In sonic-mgmt docker container, default python is python2. You can run the check by activating the python3 virtual environment in sonic-mgmt docker container or outside of sonic-mgmt docker container.
- Ensure that the
pre-commitpackage is installed:
sudo pip install pre-commit
- Go to repository root folder
- Install the pre-commit hooks:
pre-commit install
- Use pre-commit to check staged file:
pre-commit
- Alternatively, you can check committed files using:
pre-commit run --from-ref <commit_id> --to-ref <commit_id>
Test plan PR link for the above test cases: https://github.com/sonic-net/sonic-mgmt/pull/12633
seems there is some code pending in this PR. please help push the latest changes.
@deepak-singhal0408 Hello, I have updated the code with the review comments. Please Review.
Regards, Vikash Shaw
review in progress. have some questions on the changes. Need to sync up offline. TBD this week.
changes LGTM.. please rerun on latest image.. and also provide pcap of "Test BGP route suppress performance" case and test logs.
@vikshaw-Nokia can you attach the above requested files when get a chance? thanks!
@vikshaw-Nokia gentle reminder..
Hi @deepak-singhal0408,
I have observed a new behavior and need your insights on this.
When orchagent is paused with bgp_suppress disabled, STATIC routes installed directly on the DUT are correctly propagated to the peer. However, when bgp_suppress is enabled, these STATIC routes are not being propagated to the peer.
If I understand correctly, this is not the expected behavior. bgp_suppress should only affect routes learned through peers, not STATIC routes configured directly on the DUT. Previously, the test case was passing—was there any recent change related to this?
Looking forward to your input.
Thanks,
@rawal01 will revisit this, thx