From 488eac4b1b017a88295c1341c2693830cde1c95d Mon Sep 17 00:00:00 2001 From: r12f Date: Tue, 28 Nov 2023 23:28:08 +0000 Subject: [PATCH] Minor update on missing content. --- documentation/dataplane/dash-byo-data-plane-app.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/documentation/dataplane/dash-byo-data-plane-app.md b/documentation/dataplane/dash-byo-data-plane-app.md index d03782a34..83fcbc3bc 100644 --- a/documentation/dataplane/dash-byo-data-plane-app.md +++ b/documentation/dataplane/dash-byo-data-plane-app.md @@ -96,6 +96,10 @@ After initialization, the BYO data plane app will be able to: ### 2.3. ASIC programming work flow +With this setup, whenever we need to program the ASIC with new entries, we will forward the request to the data plane app. + +Here is the example that shows how the users updates an existing mapping entry with flow resimulation, as well as how a BYO data plane app updates a flow entry: + ```mermaid sequenceDiagram @@ -114,12 +118,6 @@ note over User,SW: BYO data plane app update a flow entry BYODPA->>SW: SAI update flow entry ``` -This allows the data plane app also be able to program the ASIC, so that data plane app can implement features such as: flow management, match stage entry eviction, etc. - -> **NOTE**: -> -> Please bare in mind that - Although some APIs can be accessed by both roles, such as creating match stage entries, but this is not a good practice, because the ASIC state will be overwritten by the last caller without any synchronization and knowledge from the other side. So, please make sure that the APIs are only called by one side. - ### 2.4. Flow management One of the most important responsibility of data plane app is flow management. Essentially, whenever a packet that cannot be handled by the hardware flow table, it will run through the DASH pipeline and sent to the data plane app. The data plane app will need to decide if a flow needs to be created, deleted or resimulated, and how.