| #!/bin/bash | |
| # SPDX-License-Identifier: GPL-2.0 | |
| lib_dir=$(dirname $0)/../../../net/forwarding | |
| ALL_TESTS="fw_flash_test" | |
| NUM_NETIFS=0 | |
| source $lib_dir/lib.sh | |
| BUS_ADDR=10 | |
| PORT_COUNT=4 | |
| DEV_NAME=netdevsim$BUS_ADDR | |
| SYSFS_NET_DIR=/sys/bus/netdevsim/devices/$DEV_NAME/net/ | |
| DEBUGFS_DIR=/sys/kernel/debug/netdevsim/$DEV_NAME/ | |
| DL_HANDLE=netdevsim/$DEV_NAME | |
| fw_flash_test() | |
| { | |
| RET=0 | |
| devlink dev flash $DL_HANDLE file dummy | |
| check_err $? "Failed to flash with status updates on" | |
| echo "n"> $DEBUGFS_DIR/fw_update_status | |
| check_err $? "Failed to disable status updates" | |
| devlink dev flash $DL_HANDLE file dummy | |
| check_err $? "Failed to flash with status updates off" | |
| log_test "fw flash test" | |
| } | |
| setup_prepare() | |
| { | |
| modprobe netdevsim | |
| echo "$BUS_ADDR $PORT_COUNT" > /sys/bus/netdevsim/new_device | |
| while [ ! -d $SYSFS_NET_DIR ] ; do :; done | |
| } | |
| cleanup() | |
| { | |
| pre_cleanup | |
| echo "$BUS_ADDR" > /sys/bus/netdevsim/del_device | |
| modprobe -r netdevsim | |
| } | |
| trap cleanup EXIT | |
| setup_prepare | |
| tests_run | |
| exit $EXIT_STATUS |