sonic-mgmt icon indicating copy to clipboard operation
sonic-mgmt copied to clipboard

Reg: BGP FIB Suppress Pending T2 Multi Asic Multi Dut Refactor

Open vikshaw-Nokia opened this issue 1 year ago • 2 comments

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 T1Fib_suppress

Tested on t2 multi asic , multi dut chassis topology

Any platform specific information?

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

Documentation

vikshaw-Nokia avatar Jul 05 '24 15:07 vikshaw-Nokia

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:

  1. 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.
  2. Ensure that the pre-commit package is installed:
sudo pip install pre-commit
  1. Go to repository root folder
  2. Install the pre-commit hooks:
pre-commit install
  1. Use pre-commit to check staged file:
pre-commit
  1. Alternatively, you can check committed files using:
pre-commit run --from-ref <commit_id> --to-ref <commit_id>

mssonicbld avatar Jul 05 '24 15:07 mssonicbld

Test plan PR link for the above test cases: https://github.com/sonic-net/sonic-mgmt/pull/12633

sanjair-git avatar Jul 10 '24 13:07 sanjair-git

seems there is some code pending in this PR. please help push the latest changes.

deepak-singhal0408 avatar Sep 12 '24 16:09 deepak-singhal0408

@deepak-singhal0408 Hello, I have updated the code with the review comments. Please Review.

Regards, Vikash Shaw

vikshaw-Nokia avatar Oct 16 '24 17:10 vikshaw-Nokia

review in progress. have some questions on the changes. Need to sync up offline. TBD this week.

deepak-singhal0408 avatar Jan 29 '25 17:01 deepak-singhal0408

changes LGTM.. please rerun on latest image.. and also provide pcap of "Test BGP route suppress performance" case and test logs.

deepak-singhal0408 avatar Jan 31 '25 20:01 deepak-singhal0408

@vikshaw-Nokia can you attach the above requested files when get a chance? thanks!

deepak-singhal0408 avatar Feb 06 '25 03:02 deepak-singhal0408

@vikshaw-Nokia gentle reminder..

deepak-singhal0408 avatar Feb 24 '25 19:02 deepak-singhal0408

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,

vikshaw-Nokia avatar Mar 11 '25 14:03 vikshaw-Nokia

@rawal01 will revisit this, thx

rlhui avatar Jun 25 '25 17:06 rlhui