Skip to content

Commit 167f996

Browse files
[Mellanox] Add support of the nvidia-bluefield platform to generate-dump utility. (#3091)
- What I did Add support of the nvidia-bluefield platform to generate-dump utility to collect platform-specific dumps on NVIDIA Bluefield DPU. - How I did it Extend platform-specific section of generate-dump utility - How to verify it Run "show techsupport" command to generate dump file. Verify that platform-dump directory exists in the created dump file.
1 parent 0408226 commit 167f996

File tree

1 file changed

+55
-1
lines changed

1 file changed

+55
-1
lines changed

scripts/generate_dump

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1569,6 +1569,56 @@ collect_innovium() {
15691569
save_cmd "ivmcmd 'show techsupport -i /innovium/show_techsupport_infile_iSAI'" "show_techsupport_op_iSAI.log"
15701570
}
15711571

1572+
###############################################################################
1573+
# Collect Nvidia Bluefield specific information
1574+
# Globals:
1575+
# CMD_PREFIX
1576+
# Arguments:
1577+
# None
1578+
# Returns:
1579+
# None
1580+
###############################################################################
1581+
collect_nvidia_bluefield() {
1582+
trap 'handle_error $? $LINENO' ERR
1583+
local timeout_cmd="timeout --foreground ${TIMEOUT_MIN}m"
1584+
local sai_dump_folder="/root/saisdkdump"
1585+
local sai_dump_filename="${sai_dump_folder}/sai_sdk_dump_$(date +"%m_%d_%Y_%I_%M_%p")"
1586+
1587+
${CMD_PREFIX}docker exec syncd mkdir -p $sai_dump_folder
1588+
${CMD_PREFIX}docker exec syncd saisdkdump -f $sai_dump_filename
1589+
1590+
if [ $? != 0 ]; then
1591+
echo "Failed to collect saisdkdump."
1592+
fi
1593+
1594+
copy_from_docker syncd $sai_dump_folder $sai_dump_folder
1595+
echo "$sai_dump_folder"
1596+
for file in `ls $sai_dump_folder`; do
1597+
save_file ${sai_dump_folder}/${file} sai_sdk_dump true
1598+
done
1599+
1600+
${CMD_PREFIX}rm -rf $sai_dump_folder
1601+
${CMD_PREFIX}docker exec syncd rm -rf $sai_dump_folder
1602+
1603+
DUMP_FILE=/usr/bin/platform-dump.sh
1604+
if [ -f "$DUMP_FILE" ]; then
1605+
${CMD_PREFIX}${timeout_cmd} ${DUMP_FILE} $ALLOW_PROCESS_STOP
1606+
ret=$?
1607+
if [ $ret -ne 0 ]; then
1608+
if [ $ret -eq $TIMEOUT_EXIT_CODE ]; then
1609+
echo "platform dump timedout after ${TIMEOUT_MIN} minutes."
1610+
else
1611+
echo "platform dump failed ..."
1612+
fi
1613+
else
1614+
save_file "/tmp/platform-dump*" "platform-dump" false
1615+
rm -f /tmp/platform-dump*
1616+
fi
1617+
else
1618+
echo "Platform dump script $DUMP_FILE does not exist"
1619+
fi
1620+
}
1621+
15721622
###############################################################################
15731623
# Save log file
15741624
# Globals:
@@ -1987,6 +2037,10 @@ main() {
19872037
collect_cisco_8000
19882038
fi
19892039

2040+
if [[ "$asic" = "nvidia-bluefield" ]]; then
2041+
collect_nvidia_bluefield
2042+
fi
2043+
19902044
if [ "$asic" = "innovium" ]; then
19912045
collect_innovium
19922046
fi
@@ -2031,7 +2085,7 @@ main() {
20312085

20322086
save_sai_failure_dump
20332087

2034-
if [[ "$asic" = "mellanox" ]]; then
2088+
if [[ "$asic" = "mellanox" ]] || [[ "$asic" = "nvidia-bluefield" ]]; then
20352089
collect_mellanox_dfw_dumps
20362090
fi
20372091

0 commit comments

Comments
 (0)