#!/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"
trace "$@"
BDF=$(bdf_from_target "$1")
RDMA=$(ls "/sys/bus/pci/devices/${BDF}/infiniband/" 2>/dev/null | head -1)
cma_get() {
    local dev="$1"
    [[ -n "$dev" ]] || return 1
    local out
    if out=$(cma_roce_tos -d "$dev" 2>/dev/null); then
        printf '%s\n' "$out"
        return 0
    fi
    return 1
}

RAW=$(cma_get "$RDMA")
if [[ -z "$RAW" ]]; then
    for ib in /sys/class/infiniband/*; do
        [[ -e "$ib" ]] || continue
        RAW=$(cma_get "$(basename "$ib")")
        [[ -n "$RAW" ]] && break
    done
fi
V=$(echo "$RAW" | grep -oP 'tos=\K\d+' || echo "$RAW" | grep -oP '^\d+$' | head -1)
if [[ -z "$V" ]]; then
    echo "Error: failed to read RoCE ToS for $RDMA" >&2
    exit 1
fi
echo "value=${V:-0}"
