Skip to content

Commit

Permalink
Improve table of content
Browse files Browse the repository at this point in the history
  • Loading branch information
liuh-80 committed Mar 4, 2024
1 parent 314c799 commit 36b3571
Showing 1 changed file with 4 additions and 8 deletions.
12 changes: 4 additions & 8 deletions doc/bgp_loading_optimization/bgp-loading-optimization-hld.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,14 @@
- [Synchronous sairedis API usage](#synchronous-sairedis-api-usage)
- [Requirements](#requirements)
- [High-Level Proposal](#high-level-proposal)
- [1. Reduce Redis I/O traffic between Fpmsyncd and Orchagent](#1-reduce-redis-io-traffic-between-fpmsyncd-and-orchagent)
- [1.1 Remove _PUBLISH_ in the lua script](#11-remove-publish--in-the-lua-script)
- [1.2 Reduce pipeline flush frequency](#12-reduce-pipeline-flush-frequency)
- [1.3 Discard the state table with prefix \_](#13-discard-the-state-table-with-prefix-_)
- [1. Improve I/O performance between Fpmsyncd and Orchagent with ZMQ](#1-improve-io-performance-between-fpmsyncd-and-orchagent-with-zmq)
- [2. Add an assistant thread to the monolithic Orchagent/Syncd main event loop workflow](#2-add-an-assistant-thread-to-the-monolithic-orchagentsyncd-main-event-loop-workflow)
- [3. Asynchronous sairedis API usage](#3-asynchronous-sairedis-api-usage)
- [New ResponseThread in OA](#new-responsethread-in-oa)
- [Low-Level Implementation](#low-level-implementation)
- [Fpmsyncd](#fpmsyncd)
- [Lua scripts](#lua-scripts)
- [Multi-threaded orchagent with a singleton ring buffer](#multi-threaded-orchagent-with-a-singleton-ring-buffer)
- [Syncd \[similar optimization to orchagent\]](#syncd-similar-optimization-to-orchagent)
- [Orchagent](#orchagent)
- [Syncd](#syncd)
- [Asynchronous sairedis API usage and new ResponseThread in orchagent](#asynchronous-sairedis-api-usage-and-new--responsethread-in-orchagent)
- [WarmRestart scenario](#warmrestart-scenario)
- [Testing Requirements/Design](#testing-requirementsdesign)
Expand Down Expand Up @@ -102,7 +98,7 @@ The whole BGP loading/withdrawing workflow is shown in the figure below:

**NOTE**: [Linux kernel](https://github.com/SONiC-net/SONiC/wiki/Architecture#routing-state-interactions) part is ignored here.

### Orchagent consumer workflow can improve by ZMQ
### Orchagent consumer workflow is single-threaded

Let's take the consumer for `ROUTE_TABLE` for example. In Orchagent's event-triggered main loop, Consumer would be selected to run its `execute()` API which contains three steps.

Expand Down

0 comments on commit 36b3571

Please sign in to comment.