diff --git a/dash-pipeline/SAI/specs/dash_flow.yaml b/dash-pipeline/SAI/specs/dash_flow.yaml index b106f147a..fdbdd73a6 100644 --- a/dash-pipeline/SAI/specs/dash_flow.yaml +++ b/dash-pipeline/SAI/specs/dash_flow.yaml @@ -591,25 +591,25 @@ sai_apis: SAI_FLOW_ENTRY_ATTR_REVERSE_FLOW_DST_IP: 11 SAI_FLOW_ENTRY_ATTR_REVERSE_FLOW_SRC_PORT: 12 SAI_FLOW_ENTRY_ATTR_REVERSE_FLOW_DST_PORT: 13 - SAI_FLOW_ENTRY_ATTR_UNDERLAY0_VNET_ID: 14 - SAI_FLOW_ENTRY_ATTR_UNDERLAY0_SIP: 15 - SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DIP: 16 - SAI_FLOW_ENTRY_ATTR_UNDERLAY0_SMAC: 17 - SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DMAC: 18 - SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DASH_ENCAPSULATION: 19 - SAI_FLOW_ENTRY_ATTR_UNDERLAY1_VNET_ID: 20 - SAI_FLOW_ENTRY_ATTR_UNDERLAY1_SIP: 21 - SAI_FLOW_ENTRY_ATTR_UNDERLAY1_DIP: 22 - SAI_FLOW_ENTRY_ATTR_UNDERLAY1_SMAC: 23 - SAI_FLOW_ENTRY_ATTR_UNDERLAY1_DMAC: 24 - SAI_FLOW_ENTRY_ATTR_UNDERLAY1_DASH_ENCAPSULATION: 25 - SAI_FLOW_ENTRY_ATTR_DST_MAC: 26 - SAI_FLOW_ENTRY_ATTR_SIP: 27 - SAI_FLOW_ENTRY_ATTR_DIP: 28 - SAI_FLOW_ENTRY_ATTR_SIP_MASK: 29 - SAI_FLOW_ENTRY_ATTR_DIP_MASK: 30 - SAI_FLOW_ENTRY_ATTR_VENDOR_METADATA: 32 - SAI_FLOW_ENTRY_ATTR_FLOW_DATA_PB: 33 + SAI_FLOW_ENTRY_ATTR_UNDERLAY0_VNET_ID: 15 + SAI_FLOW_ENTRY_ATTR_UNDERLAY0_SIP: 16 + SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DIP: 17 + SAI_FLOW_ENTRY_ATTR_UNDERLAY0_SMAC: 18 + SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DMAC: 19 + SAI_FLOW_ENTRY_ATTR_UNDERLAY0_DASH_ENCAPSULATION: 20 + SAI_FLOW_ENTRY_ATTR_UNDERLAY1_VNET_ID: 21 + SAI_FLOW_ENTRY_ATTR_UNDERLAY1_SIP: 22 + SAI_FLOW_ENTRY_ATTR_UNDERLAY1_DIP: 23 + SAI_FLOW_ENTRY_ATTR_UNDERLAY1_SMAC: 24 + SAI_FLOW_ENTRY_ATTR_UNDERLAY1_DMAC: 25 + SAI_FLOW_ENTRY_ATTR_UNDERLAY1_DASH_ENCAPSULATION: 26 + SAI_FLOW_ENTRY_ATTR_DST_MAC: 27 + SAI_FLOW_ENTRY_ATTR_SIP: 28 + SAI_FLOW_ENTRY_ATTR_DIP: 29 + SAI_FLOW_ENTRY_ATTR_SIP_MASK: 30 + SAI_FLOW_ENTRY_ATTR_DIP_MASK: 31 + SAI_FLOW_ENTRY_ATTR_VENDOR_METADATA: 33 + SAI_FLOW_ENTRY_ATTR_FLOW_DATA_PB: 34 - !!python/object:utils.sai_spec.sai_api.SaiApi name: flow_entry_bulk_get_session_filter description: flow entry bulk get session filter diff --git a/dash-pipeline/bmv2/stages/conntrack_lookup.p4 b/dash-pipeline/bmv2/stages/conntrack_lookup.p4 index a0126611e..c55f17da1 100644 --- a/dash-pipeline/bmv2/stages/conntrack_lookup.p4 +++ b/dash-pipeline/bmv2/stages/conntrack_lookup.p4 @@ -235,6 +235,7 @@ control conntrack_lookup_stage(inout headers_t hdr, inout metadata_t meta) { IPv4ORv6Address reverse_flow_dst_ip, bit<16> reverse_flow_src_port, bit<16> reverse_flow_dst_port, + bit<1> reverse_flow_dst_ip_is_v6, /* Flow encap related attributes */ bit<24> underlay0_vnet_id, @@ -257,7 +258,7 @@ control conntrack_lookup_stage(inout headers_t hdr, inout metadata_t meta) { IPv4ORv6Address dip, IPv6Address sip_mask, IPv6Address dip_mask, - @SaiVal[name = "ip_is_v6"]bit<1> is_ipv6, + bit<1> dip_is_v6, /* Extra flow metadata */ @SaiVal[type="sai_u8_list_t"] bit<16> vendor_metadata, @@ -300,7 +301,7 @@ control conntrack_lookup_stage(inout headers_t hdr, inout metadata_t meta) { meta.overlay_data.dip = dip; meta.overlay_data.sip_mask = sip_mask; meta.overlay_data.dip_mask = dip_mask; - meta.overlay_data.is_ipv6 = is_ipv6; + meta.overlay_data.is_ipv6 = dip_is_v6; } action flow_miss() {