Skip to content

Commit dc168b9

Browse files
authored
Add single_match_priority in SaiTable annotation (#671)
If at least one of the match fields is Optional, Ternary or Range, p4runtime v1 model requires 'priority' to be set for each table entry. But in some dash scenarios, 'priority' is not required and is not exposed to dash sai. For these special cases, we add a single_match_priority field in SaiTable annotation to mark it. If it is 'true', the behavior changes are: - Not generate attribute PRIORITY in SAI object - Not generate field priority in SAI entry struct - Set the priority of all table entries to a default (fixed) value 1 in dash p4 libsai It also adds the set/get support of p4 match kind `range`.
1 parent fc7e075 commit dc168b9

22 files changed

+119
-4
lines changed

dash-pipeline/SAI/specs/dash_acl.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ sai_apis:
2828
tables:
2929
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
3030
id: 37949057
31+
single_match_priority: false
3132
stage: null
3233
keys:
3334
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -211,6 +212,7 @@ sai_apis:
211212
tables:
212213
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
213214
id: 43936368
215+
single_match_priority: false
214216
stage: acl.stage1
215217
keys:
216218
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -280,6 +282,7 @@ sai_apis:
280282
attr_params: {}
281283
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
282284
id: 48549629
285+
single_match_priority: false
283286
stage: acl.stage2
284287
keys:
285288
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -349,6 +352,7 @@ sai_apis:
349352
attr_params: {}
350353
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
351354
id: 40869404
355+
single_match_priority: false
352356
stage: acl.stage3
353357
keys:
354358
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -418,6 +422,7 @@ sai_apis:
418422
attr_params: {}
419423
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
420424
id: 49672642
425+
single_match_priority: false
421426
stage: acl.stage1
422427
keys:
423428
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -487,6 +492,7 @@ sai_apis:
487492
attr_params: {}
488493
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
489494
id: 37932124
495+
single_match_priority: false
490496
stage: acl.stage2
491497
keys:
492498
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -556,6 +562,7 @@ sai_apis:
556562
attr_params: {}
557563
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
558564
id: 46113118
565+
single_match_priority: false
559566
stage: acl.stage3
560567
keys:
561568
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

dash-pipeline/SAI/specs/dash_appliance.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ sai_apis:
2828
tables:
2929
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
3030
id: 45177948
31+
single_match_priority: false
3132
stage: null
3233
keys:
3334
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

dash-pipeline/SAI/specs/dash_direction_lookup.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ sai_apis:
6565
tables:
6666
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
6767
id: 49875338
68+
single_match_priority: false
6869
stage: null
6970
keys:
7071
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

dash-pipeline/SAI/specs/dash_eni.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ sai_apis:
6565
tables:
6666
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
6767
id: 39883185
68+
single_match_priority: false
6869
stage: null
6970
keys:
7071
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -1671,6 +1672,7 @@ sai_apis:
16711672
tables:
16721673
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
16731674
id: 38483381
1675+
single_match_priority: false
16741676
stage: null
16751677
keys:
16761678
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

dash-pipeline/SAI/specs/dash_flow.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ sai_apis:
5454
tables:
5555
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
5656
id: 38557285
57+
single_match_priority: false
5758
stage: null
5859
keys:
5960
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -601,6 +602,7 @@ sai_apis:
601602
tables:
602603
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
603604
id: 49035675
605+
single_match_priority: false
604606
stage: null
605607
keys:
606608
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -933,6 +935,7 @@ sai_apis:
933935
tables:
934936
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
935937
id: 38861669
938+
single_match_priority: false
936939
stage: null
937940
keys:
938941
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -1107,6 +1110,7 @@ sai_apis:
11071110
tables:
11081111
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
11091112
id: 38230977
1113+
single_match_priority: false
11101114
stage: null
11111115
keys:
11121116
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

dash-pipeline/SAI/specs/dash_ha.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,7 @@ sai_apis:
405405
tables:
406406
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
407407
id: 45319666
408+
single_match_priority: false
408409
stage: null
409410
keys:
410411
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -622,6 +623,7 @@ sai_apis:
622623
tables:
623624
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
624625
id: 49681752
626+
single_match_priority: false
625627
stage: null
626628
keys:
627629
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

dash-pipeline/SAI/specs/dash_inbound_routing.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ sai_apis:
142142
tables:
143143
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
144144
id: 35881437
145+
single_match_priority: false
145146
stage: null
146147
keys:
147148
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

dash-pipeline/SAI/specs/dash_meter.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ sai_apis:
8484
tables:
8585
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
8686
id: 45482818
87+
single_match_priority: false
8788
stage: null
8889
keys:
8990
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -132,6 +133,7 @@ sai_apis:
132133
tables:
133134
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
134135
id: 40733610
136+
single_match_priority: false
135137
stage: null
136138
keys:
137139
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -243,6 +245,7 @@ sai_apis:
243245
tables:
244246
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
245247
id: 44484556
248+
single_match_priority: false
246249
stage: null
247250
keys:
248251
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

dash-pipeline/SAI/specs/dash_outbound_ca_to_pa.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ sai_apis:
262262
tables:
263263
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
264264
id: 48765007
265+
single_match_priority: false
265266
stage: null
266267
keys:
267268
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

dash-pipeline/SAI/specs/dash_outbound_routing.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@ sai_apis:
295295
tables:
296296
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
297297
id: 38546097
298+
single_match_priority: false
298299
stage: null
299300
keys:
300301
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey
@@ -521,6 +522,7 @@ sai_apis:
521522
tables:
522523
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable
523524
id: 40572680
525+
single_match_priority: false
524526
stage: null
525527
keys:
526528
- !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaKey

0 commit comments

Comments
 (0)