#!/usr/bin/bash
#
# Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
#
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES.
# SPDX-License-Identifier: LicenseRef-NVIDIA-Proprietary
#
source "$(dirname "$0")/_lib.sh"
source "$(dirname "$0")/_value_maps.sh"
trace "$@"
BDF=$(bdf_from_target "$1"); PORT="$2"; FIELD="$3"; VALUE="$4"
case "$FIELD" in
    dscp-mode) PARAM="ROCE_RTT_RESP_DSCP_MODE_P${PORT}" ;;
    dscp)      PARAM="ROCE_RTT_RESP_DSCP_P${PORT}" ;;
    *)         PARAM="$FIELD" ;;
esac

# Translate YANG enum values (e.g. dscp-mode=fixed) to the mlxconfig raw form
# via the shared FWD table. Numeric leaves like dscp have no FWD entry and pass
# through unchanged.
VALUE=$(fwd_map_value "$PARAM" "$VALUE")

mlxconfig_set "$BDF" "${PARAM}=${VALUE}"
echo "${FIELD}=${VALUE}"
