Skip to content

Commit 6582e97

Browse files
committed
Added CoppOrch CoPP config and init flow charts
Signed-off-by: Ravi Minnikanti <[email protected]>
1 parent 2edfce2 commit 6582e97

4 files changed

+14
-5
lines changed

doc/copp/Copp_Neighbor_Miss_Trap_And_Enhancements.md

+14-5
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
- [6. Architecture Design](#6-architecture-design)
1111
- [7. High-Level Design](#7-high-level-design)
1212
- [7.1 SWSS Design](#71-swss-design)
13+
- [7.1.1 CoPP Init FlowChart](#711-copp-init-flowchart)
14+
- [7.1.2 CoPP Config FlowChart](#712-copp-config-flowchart)
1315
- [7.2 CoPP Trap WorkFlow](#72-copp-trap-workflow)
1416
- [7.3 CoPP Default Configuration Changes](#73-copp-default-configuration-changes)
1517
- [7.4 Schema Changes](#74-schema-changes)
@@ -34,7 +36,7 @@
3436

3537
## 2. Scope
3638

37-
This document presents the high-level design for supporting the Neighbor Miss CoPP trap type. It also covers the SAI enum capability query for the trap type attribute, CLI show command support for CoPP, and other CoPP enhancements.
39+
This document presents the high-level design for supporting the Neighbor Miss CoPP trap type. It also covers the SAI enum capability query for the trap type attribute, CLI show command support for CoPP.
3840

3941
## 3. Abbreviations
4042

@@ -44,14 +46,13 @@ This document presents the high-level design for supporting the Neighbor Miss Co
4446
| __SWSS__ | Switch State Service |
4547
| __CLI__ | Command Line interface |
4648
| __SAI__ | Switch Abstraction Interface |
47-
| __DVS__ | Docker Virtual Switch |
4849
| __ARP__ | Address Resolution Protocol |
4950

5051
## 4. Overview
5152

5253
In today’s SONIC system, CoPP for neighbor miss traffic is undefined. A surge in such IP packets sent to the CPU for ARP resolution can potentially impact other CPU traffic, starving critical traffic such as IP2ME. Therefore, it is crucial to police neighbor miss traffic separately.
5354

54-
Currently, trap types are applied to SAI without verifying their support, leading to exceptions in orchagent. Additionally, the current configuration lacks visibility of the trap types supported by SAI, and there is no CoPP CLI support available to display configured CoPP groups and trap types.
55+
Furthermore, the current implementation applies trap types to SAI without verifying their support, leading to exceptions in orchagent. Additionally, the current configuration lacks visibility of the trap types supported by SAI, and there is no CoPP CLI support available to display configured CoPP groups and trap types.
5556

5657
This design proposes solution to the aforementioned problem. By introducing management support for neighbor miss trap type, which allows independent policing for neighbor miss packets. This ensures that surges in neighbor miss traffic will not impact other critical CPU-bound traffic and Prevents CPU starvation by controlling neighbor miss traffic independently. SAI also supports a trap type, SAI_HOSTIF_TRAP_TYPE_NEIGHBOR_MISS, to specifically identify and control neighbor miss traffic.
5758

@@ -88,9 +89,17 @@ When CoPP trap configuration is received from APPL_DB:
8889
2. The trap configuration will be applied only if the trap is supported.
8990
3. If the trap is not supported, a syslog error is logged.
9091

92+
#### 7.1.1 CoPP Init FlowChart
93+
__Figure 1: CoPP Init FlowChart__
94+
95+
![CoPP Init FlowChart](images/CoPP_Init_FlowChart.png "Figure 1: CoPP Init FlowChart")
96+
#### 7.1.2 CoPP Config FlowChart
97+
__Figure 2: CoPP Config FlowChart__
98+
99+
![CoPP Config FlowChart](images/CoPP_Config_FlowChart.png "Figure 2: CoPP Config FlowChart")
91100
### 7.2 CoPP Trap WorkFlow
92101

93-
__Figure 1: CoPP Trap WorkFlow__
102+
__Figure 3: CoPP Trap WorkFlow__
94103

95104
![CoPP Trap WorkFlow](images/CoPP_Trap_WorkFlow.png "Figure 1: CoPP Trap WorkFlow")
96105

@@ -193,7 +202,7 @@ No changes. Yang model for CoPP is defined in [sonic-copp.yang](https://github.c
193202

194203
A new CLI command, `show copp configuration`, is being introduced. The purpose of this command is to display the CoPP configuration applied to SAI. The command will retrieve configuration from copp_cfg.json and CONFIG_DB. Additionally, the command will display the operational status of the trap types retrieved from STATE_DB.
195204

196-
__Figure 2: CoPP CLI WorkFlow__
205+
__Figure 4: CoPP CLI WorkFlow__
197206

198207
![CoPP CLI WorkFlow](images/CoPP_CLI_WorkFlow.png "Figure 2: CoPP CLI WorkFlow")
199208

54 KB
Loading
39.7 KB
Loading
758 KB
Loading

0 commit comments

Comments
 (0)