diff --git a/orchagent/muxorch.cpp b/orchagent/muxorch.cpp index 296d5a3cf35d..449778794e40 100644 --- a/orchagent/muxorch.cpp +++ b/orchagent/muxorch.cpp @@ -212,6 +212,10 @@ static sai_object_id_t create_tunnel( attr.value.s32 = SAI_TUNNEL_TTL_MODE_PIPE_MODEL; tunnel_attrs.push_back(attr); + attr.id = SAI_TUNNEL_ATTR_DECAP_TTL_MODE; + attr.value.s32 = SAI_TUNNEL_TTL_MODE_PIPE_MODEL; + tunnel_attrs.push_back(attr); + if (dscp_mode_name == "uniform" || dscp_mode_name == "pipe") { sai_tunnel_dscp_mode_t dscp_mode; @@ -226,6 +230,10 @@ static sai_object_id_t create_tunnel( attr.id = SAI_TUNNEL_ATTR_ENCAP_DSCP_MODE; attr.value.s32 = dscp_mode; tunnel_attrs.push_back(attr); + + attr.id = SAI_TUNNEL_ATTR_DECAP_DSCP_MODE; + attr.value.s32 = dscp_mode; + tunnel_attrs.push_back(attr); } attr.id = SAI_TUNNEL_ATTR_LOOPBACK_PACKET_ACTION; diff --git a/tests/test_mux.py b/tests/test_mux.py index 71193735c912..dc739b82a651 100644 --- a/tests/test_mux.py +++ b/tests/test_mux.py @@ -655,6 +655,8 @@ def create_and_test_peer(self, asicdb, tc_to_dscp_map_oid=None, tc_to_queue_map_ assert self.check_interface_exists_in_asicdb(asicdb, value) elif field == "SAI_TUNNEL_ATTR_ENCAP_TTL_MODE": assert value == "SAI_TUNNEL_TTL_MODE_PIPE_MODEL" + elif field == "SAI_TUNNEL_ATTR_DECAP_TTL_MODE": + assert value == "SAI_TUNNEL_TTL_MODE_PIPE_MODEL" elif field == "SAI_TUNNEL_ATTR_LOOPBACK_PACKET_ACTION": assert value == "SAI_PACKET_ACTION_DROP" elif field == "SAI_TUNNEL_ATTR_ENCAP_QOS_TC_AND_COLOR_TO_DSCP_MAP": @@ -663,6 +665,8 @@ def create_and_test_peer(self, asicdb, tc_to_dscp_map_oid=None, tc_to_queue_map_ assert value == tc_to_queue_map_oid elif field == "SAI_TUNNEL_ATTR_ENCAP_DSCP_MODE": assert value == "SAI_TUNNEL_DSCP_MODE_PIPE_MODEL" + elif field == "SAI_TUNNEL_ATTR_DECAP_DSCP_MODE": + assert value == "SAI_TUNNEL_DSCP_MODE_PIPE_MODEL" else: assert False, "Field %s is not tested" % field