You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Support binding of multiple ACL rules to a single policer.
84
+
- Support binding of multiple ACL rules to a single policer - the policer rates will be shared cumulatively.
85
85
- Query and validate SAI capabilities.
86
86
#### CLI Requirements
87
87
- Extend ACL table command to support policer.
@@ -106,10 +106,10 @@ Custom ACL Based Metering (CABM) builds directly upon this custom ACL mechanism
106
106

107
107
108
108
109
-
1. Query Capabilities on Initialization: ACL-Orch queries SAI to retrieve supported ACL actions, including SAI_ACL_ACTION_TYPE_SET_POLICER.
109
+
1. Query Capabilities on Initialization: ACL-Orch queries SAI to retrieve supported ACL actions and store it in both STATE_DB and local DB, including SAI_ACL_ACTION_TYPE_SET_POLICER.
110
110
2. Create Policer Object: Policer configurations are defined in POLICER_TABLE, validated, and created in SAI.
111
111
3. Define Custom ACL Table Type: Users define custom ACL table types in ACL_TABLE_TYPE with specified matches and actions, including POLICER_ACTION.
112
-
4. Verify Table Capabilities: ACL-Orch ensures that the custom table type's action set, including POLICER_ACTION, is supported by the queried SAI capabilities.
112
+
4. Verify Table Capabilities: ACL-Orch ensures with the stored queried SAI capabilities if POLICER_ACTION is supported.
113
113
5. Create ACL Table: Add an ACL table in ACL_TABLE, referencing the custom table type and validates the configuration.
114
114
6. Create ACL Rule: Add an ACL rule in ACL_RULE, referencing actions, including policer_action.
115
115
7. Verify Rule Compatibility: ACL-Orch validates that the rule action compatibility with the associated ACL table type.
@@ -121,9 +121,7 @@ Custom ACL Based Metering (CABM) builds directly upon this custom ACL mechanism
121
121
### Configuration and Management
122
122
#### Config DB Enhancements
123
123
124
-
##### ACL Tables Table --> No Change
125
-
126
-
##### ACL Table Type Table
124
+
##### ACL Table Type Table --> New Action Attribute
127
125
When a new ACL table is created, SAI needs to receive a list of supported actions which the rules belonging to this table are allowed to use.
128
126
To support the new policer action, the custom table types table schema will be extended with a policer action attribute - **"POLICER_ACTION"** for the actions attribute field.
129
127
@@ -137,7 +135,16 @@ actions = action-list ; list of actions for this table.
137
135
; ["REDIRECT_ACTION", ... , "POLICER_ACTION"]
138
136
```
139
137
140
-
##### ACL Rules Table
138
+
##### ACL Tables Table --> No Change
139
+
```
140
+
key: ACL_TABLE|<TABLE_NAME> ; acl_table_name must be unique
141
+
;field = value
142
+
policy_desc = 1*255VCHAR ; name of the ACL policy table description
143
+
type = 1*255VCHAR ; type of acl table, every type of table defines
144
+
... ; the match/action a specific set of match and actions.
145
+
```
146
+
147
+
##### ACL Rules Table --> New Field
141
148
The CONFIG_DB ACL Rules Table schema will be updated with a new attribute field **"policer_action"** with the value of one of the existing policer object names.
142
149
143
150
```
@@ -157,6 +164,9 @@ mirror_ingress_action = 1*255VCHAR ; refer to the mirror session
157
164
+ policer_action = 1*255VCHAR ; refer to the policer object name
158
165
```
159
166
167
+
Note that each ACL rule can only specify a single action due to the design of the ACLs.
168
+
For example, a rule specifying 'packet_action = DROP' cannot also include 'policer_action = "M_POLICER_7"'.
0 commit comments