diff --git a/dash-pipeline/SAI/Makefile b/dash-pipeline/SAI/Makefile index 61908c17f..60d913db4 100644 --- a/dash-pipeline/SAI/Makefile +++ b/dash-pipeline/SAI/Makefile @@ -3,7 +3,7 @@ all: copysrc ./sai_api_gen.py \ /bmv2/dash_pipeline.bmv2/dash_pipeline_p4rt.json \ --ir /bmv2/dash_pipeline.bmv2/dash_pipeline_ir.json \ - --ignore-tables=appliance,eni_meter,slb_decap \ + --ignore-tables=underlay_mac,eni_meter,slb_decap \ --sai-spec-dir=/SAI/specs \ dash diff --git a/dash-pipeline/SAI/specs/dash_appliance.yaml b/dash-pipeline/SAI/specs/dash_appliance.yaml new file mode 100644 index 000000000..4523dae51 --- /dev/null +++ b/dash-pipeline/SAI/specs/dash_appliance.yaml @@ -0,0 +1,35 @@ +!!python/object:utils.sai_spec.sai_api_group.SaiApiGroup +name: dash_appliance +description: DASH appliance +api_type: overlay +sai_apis: +- !!python/object:utils.sai_spec.sai_api.SaiApi + name: dash_appliance + description: DASH appliance + is_object: true + enums: [] + structs: [] + attributes: + - !!python/object:utils.sai_spec.sai_attribute.SaiAttribute + name: SAI_DASH_APPLIANCE_ATTR_LOCAL_REGION_ID + description: Action parameter local region id + type: sai_uint8_t + attr_value_field: u8 + default: '0' + isresourcetype: false + flags: CREATE_AND_SET + object_name: null + allow_null: false + valid_only: null + is_vlan: false + deprecated: false + stats: [] + p4_meta: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4Meta + tables: + - !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaTable + id: 42701762 + actions: + default: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaAction + name: default + id: 21793905 + attr_param_id: {} diff --git a/dash-pipeline/SAI/specs/dash_flow.yaml b/dash-pipeline/SAI/specs/dash_flow.yaml index dacb55bca..229d11019 100644 --- a/dash-pipeline/SAI/specs/dash_flow.yaml +++ b/dash-pipeline/SAI/specs/dash_flow.yaml @@ -28,7 +28,7 @@ sai_apis: description: Action parameter DASH flow enabled key type: sai_dash_flow_enabled_key_t attr_value_field: s32 - default: SAI_DASH_FLOW_ENABLED_KEY_ENI_ADDR + default: SAI_DASH_FLOW_ENABLED_KEY_ENI_MAC isresourcetype: false flags: CREATE_AND_SET object_name: null diff --git a/dash-pipeline/SAI/specs/sai_spec.yaml b/dash-pipeline/SAI/specs/sai_spec.yaml index 33800030b..3419f1395 100644 --- a/dash-pipeline/SAI/specs/sai_spec.yaml +++ b/dash-pipeline/SAI/specs/sai_spec.yaml @@ -14,6 +14,7 @@ api_types: - SAI_API_DASH_VIP - SAI_API_DASH_TUNNEL - SAI_API_DASH_FLOW +- SAI_API_DASH_APPLIANCE object_types: - SAI_OBJECT_TYPE_DASH_ACL_GROUP - SAI_OBJECT_TYPE_DASH_ACL_RULE @@ -39,6 +40,7 @@ object_types: - SAI_OBJECT_TYPE_FLOW_ENTRY_BULK_GET_SESSION_FILTER - SAI_OBJECT_TYPE_FLOW_ENTRY_BULK_GET_SESSION - SAI_OBJECT_TYPE_METER_BUCKET_ENTRY +- SAI_OBJECT_TYPE_DASH_APPLIANCE object_entries: - !!python/object:utils.sai_spec.sai_struct_entry.SaiStructEntry name: direction_lookup_entry @@ -198,7 +200,7 @@ enums: description: '' members: - !!python/object:utils.sai_spec.sai_enum_member.SaiEnumMember - name: ENI_ADDR + name: ENI_MAC description: '' value: '1' - !!python/object:utils.sai_spec.sai_enum_member.SaiEnumMember @@ -238,7 +240,7 @@ enums: description: '' value: '1' - !!python/object:utils.sai_spec.sai_enum_member.SaiEnumMember - name: ENI_ADDR + name: ENI_MAC description: '' value: '2' - !!python/object:utils.sai_spec.sai_enum_member.SaiEnumMember @@ -513,3 +515,4 @@ api_groups: - !inc '/SAI/specs/dash_vip.yaml' - !inc '/SAI/specs/dash_tunnel.yaml' - !inc '/SAI/specs/dash_flow.yaml' +- !inc '/SAI/specs/dash_appliance.yaml' diff --git a/documentation/dataplane/dash-flow-api.md b/documentation/dataplane/dash-flow-api.md index d699b3091..5710bce10 100644 --- a/documentation/dataplane/dash-flow-api.md +++ b/documentation/dataplane/dash-flow-api.md @@ -97,7 +97,7 @@ typedef enum _sai_dash_flow_enabled_key_t { SAI_DASH_FLOW_ENABLED_KEY_NONE = 0, - SAI_DASH_FLOW_ENABLED_KEY_ENI_ADDR = 1 << 1, + SAI_DASH_FLOW_ENABLED_KEY_ENI_MAC = 1 << 1, SAI_DASH_FLOW_ENABLED_KEY_VNI = 1 << 2, @@ -517,7 +517,7 @@ uint32_t attr_count = 3; sai_attribute_t attr_list[3]; attr_list[0].id = SAI_FLOW_TABLE_ATTR_DASH_FLOW_ENABLED_KEY; attr_list[0].value = SAI_DASH_FLOW_ENABLED_KEY_PROTOCOL | - SAI_DASH_FLOW_ENABLED_KEY_ENI_ADDR | + SAI_DASH_FLOW_ENABLED_KEY_ENI_MAC | SAI_DASH_FLOW_ENABLED_KEY_VNI | SAI_DASH_FLOW_ENABLED_KEY_SRC_IP | SAI_DASH_FLOW_ENABLED_KEY_DST_IP |