Skip to content

Replace ExaBGP v3 and v4 flask based process API with tornado#16834

Merged
wangxin merged 3 commits intosonic-net:masterfrom
opcoder0:replace-exabgp-api-flask-to-tornado
Mar 25, 2025
Merged

Replace ExaBGP v3 and v4 flask based process API with tornado#16834
wangxin merged 3 commits intosonic-net:masterfrom
opcoder0:replace-exabgp-api-flask-to-tornado

Conversation

@opcoder0
Copy link
Copy Markdown
Contributor

@opcoder0 opcoder0 commented Feb 6, 2025

Description of PR

Replace the Flask based ExaBGP process API with tornado-based application. Tornado handles large number of requests with higher payload sizes automatically while Flask+Werkzeug requires additional setting changes which can be avoided keeping the code cleaner.

Merge after sonic-net/sonic-buildimage#21655

Summary:
Fixes # (issue)

Type of change

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

Back port request

  • 202012
  • 202205
  • 202305
  • 202311
  • 202405
  • 202411

Approach

What is the motivation for this PR?

Replace the Flask based ExaBGP process API with tornado-based application. Tornado handles large number of requests with higher payload sizes automatically while Flask+Werkzeug requires additional setting changes which can be avoided keeping the code cleaner.

How did you do it?

Replace ExaBGP process API with Tornado app.

How did you verify/test it?

Ran add, remove topology to check announce routes
Ran route stress test to verify it is stable

Any platform specific information?

None

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

NA

Documentation

NA

Replace the Flask based ExaBGP process API with tornado-based
application. Tornado handles large number of requests with higher
payload sizes automatically while Flask+Werkzeug requires additional
setting changes which can be avoided keeping the code cleaner.
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@wangxin
Copy link
Copy Markdown
Collaborator

wangxin commented Mar 14, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@wangxin
Copy link
Copy Markdown
Collaborator

wangxin commented Mar 15, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@wangxin
Copy link
Copy Markdown
Collaborator

wangxin commented Mar 18, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@wangxin
Copy link
Copy Markdown
Collaborator

wangxin commented Mar 18, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@wangxin wangxin merged commit 8d4f6fa into sonic-net:master Mar 25, 2025
18 checks passed
amulyan7 pushed a commit to amulyan7/sonic-mgmt that referenced this pull request Mar 31, 2025
…net#16834)

Replace the Flask based ExaBGP process API with tornado-based
application. Tornado handles large number of requests with higher
payload sizes automatically while Flask+Werkzeug requires additional
setting changes which can be avoided keeping the code cleaner.
OriTrabelsi pushed a commit to OriTrabelsi/sonic-mgmt that referenced this pull request Apr 1, 2025
…net#16834)

Replace the Flask based ExaBGP process API with tornado-based
application. Tornado handles large number of requests with higher
payload sizes automatically while Flask+Werkzeug requires additional
setting changes which can be avoided keeping the code cleaner.
@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to msft-202412: Azure/sonic-mgmt.msft#630

opcoder0 added a commit to opcoder0/sonic-mgmt that referenced this pull request Dec 8, 2025
…net#16834)

Replace the Flask based ExaBGP process API with tornado-based
application. Tornado handles large number of requests with higher
payload sizes automatically while Flask+Werkzeug requires additional
setting changes which can be avoided keeping the code cleaner.

Signed-off-by: opcoder0 <[email protected]>
bingwang-ms added a commit to Azure/sonic-mgmt.msft that referenced this pull request Dec 10, 2025
This PR is to backport exabgp changes from master branch to 202503.
PR list
- sonic-net/sonic-mgmt#16744
- sonic-net/sonic-mgmt#17427
- sonic-net/sonic-mgmt#16834
- sonic-net/sonic-mgmt#18181
- sonic-net/sonic-mgmt#18476


These changes are required for running test `bgp/test_traffic_shift.py`
gshemesh2 pushed a commit to gshemesh2/sonic-mgmt that referenced this pull request Dec 21, 2025
…net#16834)

Replace the Flask based ExaBGP process API with tornado-based
application. Tornado handles large number of requests with higher
payload sizes automatically while Flask+Werkzeug requires additional
setting changes which can be avoided keeping the code cleaner.

Signed-off-by: Guy Shemesh <[email protected]>
gshemesh2 pushed a commit to gshemesh2/sonic-mgmt that referenced this pull request Jan 26, 2026
…net#16834)

Replace the Flask based ExaBGP process API with tornado-based
application. Tornado handles large number of requests with higher
payload sizes automatically while Flask+Werkzeug requires additional
setting changes which can be avoided keeping the code cleaner.

Signed-off-by: Guy Shemesh <[email protected]>
auspham pushed a commit to auspham/sonic-mgmt that referenced this pull request Feb 3, 2026
…net#16834)

Replace the Flask based ExaBGP process API with tornado-based
application. Tornado handles large number of requests with higher
payload sizes automatically while Flask+Werkzeug requires additional
setting changes which can be avoided keeping the code cleaner.
Pterosaur pushed a commit to Pterosaur/sonic-mgmt that referenced this pull request Mar 26, 2026
…net#16834)

Replace the Flask based ExaBGP process API with tornado-based
application. Tornado handles large number of requests with higher
payload sizes automatically while Flask+Werkzeug requires additional
setting changes which can be avoided keeping the code cleaner.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants