Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions dash-pipeline/SAI/specs/dash_ha.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,19 @@ sai_apis:
valid_only: null
is_vlan: false
deprecated: false
- !!python/object:utils.sai_spec.sai_attribute.SaiAttribute
name: SAI_HA_SET_ATTR_DP_CHANNEL_TUNNEL_KEY
description: Action parameter data plane channel tunnel key
type: sai_uint32_t
attr_value_field: u32
default: '0'
isresourcetype: false
flags: CREATE_AND_SET
object_name: null
allow_null: false
valid_only: null
is_vlan: false
deprecated: false
stats:
- !!python/object:utils.sai_spec.sai_attribute.SaiAttribute
name: SAI_HA_SET_STAT_DP_PROBE_REQ_RX_BYTES
Expand Down Expand Up @@ -481,6 +494,12 @@ sai_apis:
bitwidth: 32
ip_is_v6_field_id: 0
skipattr: null
SAI_HA_SET_ATTR_DP_CHANNEL_TUNNEL_KEY: !!python/object:utils.sai_spec.sai_api_p4_meta.SaiApiP4MetaActionParam
id: 13
field: u32
bitwidth: 24
ip_is_v6_field_id: 0
skipattr: null
- !!python/object:utils.sai_spec.sai_api.SaiApi
name: ha_scope
description: HA scope
Expand Down
1 change: 1 addition & 0 deletions dash-pipeline/bmv2/dash_metadata.p4
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ struct ha_data_t {
bit<16> dp_channel_dst_port;
bit<16> dp_channel_src_port_min;
bit<16> dp_channel_src_port_max;
bit<24> dp_channel_tunnel_key;
}

#ifdef TARGET_DPDK_PNA
Expand Down
4 changes: 3 additions & 1 deletion dash-pipeline/bmv2/stages/ha.p4
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,16 @@ control ha_stage(inout headers_t hdr,
bit<32> dp_channel_probe_interval_ms,
bit<32> dp_channel_probe_fail_threshold,
@SaiVal[isreadonly="true"] bit<1> dp_channel_is_alive,
bit<32> dpu_driven_ha_switchover_wait_time_ms
bit<32> dpu_driven_ha_switchover_wait_time_ms,
bit<24> dp_channel_tunnel_key
) {
meta.ha.peer_ip_is_v6 = peer_ip_is_v6;
meta.ha.peer_ip = peer_ip;

meta.ha.dp_channel_dst_port = dp_channel_dst_port;
meta.ha.dp_channel_src_port_min = dp_channel_min_src_port;
meta.ha.dp_channel_src_port_max = dp_channel_max_src_port;
meta.ha.dp_channel_tunnel_key = dp_channel_tunnel_key;
}

@SaiTable[api = "dash_ha", order=0, isobject="true"]
Expand Down