33
44lib_dir=$( dirname $0 ) /../../../net/forwarding
55
6- ALL_TESTS=" fw_flash_test"
6+ ALL_TESTS=" fw_flash_test params_test "
77NUM_NETIFS=0
88source $lib_dir /lib.sh
99
@@ -30,6 +30,66 @@ fw_flash_test()
3030 log_test " fw flash test"
3131}
3232
33+ param_get ()
34+ {
35+ local name=$1
36+
37+ cmd_jq " devlink dev param show $DL_HANDLE name $name -j" \
38+ ' .[][][].values[] | select(.cmode == "driverinit").value'
39+ }
40+
41+ param_set ()
42+ {
43+ local name=$1
44+ local value=$2
45+
46+ devlink dev param set $DL_HANDLE name $name cmode driverinit value $value
47+ }
48+
49+ check_value ()
50+ {
51+ local name=$1
52+ local phase_name=$2
53+ local expected_param_value=$3
54+ local expected_debugfs_value=$4
55+ local value
56+
57+ value=$( param_get $name )
58+ check_err $? " Failed to get $name param value"
59+ [ " $value " == " $expected_param_value " ]
60+ check_err $? " Unexpected $phase_name $name param value"
61+ value=$( < $DEBUGFS_DIR /$name )
62+ check_err $? " Failed to get $name debugfs value"
63+ [ " $value " == " $expected_debugfs_value " ]
64+ check_err $? " Unexpected $phase_name $name debugfs value"
65+ }
66+
67+ params_test ()
68+ {
69+ RET=0
70+
71+ local max_macs
72+ local test1
73+
74+ check_value max_macs initial 32 32
75+ check_value test1 initial true Y
76+
77+ param_set max_macs 16
78+ check_err $? " Failed to set max_macs param value"
79+ param_set test1 false
80+ check_err $? " Failed to set test1 param value"
81+
82+ check_value max_macs post-set 16 32
83+ check_value test1 post-set false Y
84+
85+ devlink dev reload $DL_HANDLE
86+
87+ check_value max_macs post-reload 16 16
88+ check_value test1 post-reload false N
89+
90+ log_test " params test"
91+ }
92+
3393setup_prepare ()
3494{
3595 modprobe netdevsim
0 commit comments