selftests: can: test_raw_filter.sh: add support of physical interfaces
authorVincent Mailhol <mailhol.vincent@wanadoo.fr>
Wed, 21 May 2025 14:18:53 +0000 (23:18 +0900)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 21 May 2025 16:05:11 +0000 (18:05 +0200)
Allow the user to specify a physical interface through the $CANIF
environment variable. Add a $BITRATE environment variable set with a
default value of 500000.

If $CANIF is omitted or if it starts with vcan (e.g. vcan1), the test
will use the virtual can interface type. Otherwise, it will assume
that the provided interface is a physical can interface.

For example:

  CANIF=can1 BITRATE=1000000 ./test_raw_filter.sh

will run set the can1 interface with a bitrate of one million and run
the tests on it.

Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
tools/testing/selftests/net/can/test_raw_filter.sh

index 2216134b431bbaa0569e966921534b0363272717..276d6c06ac9526f74ce9b744b4d2542edaf77049 100755 (executable)
@@ -9,17 +9,25 @@ net_dir=$(dirname $0)/..
 source $net_dir/lib.sh
 
 export CANIF=${CANIF:-"vcan0"}
+BITRATE=${BITRATE:-500000}
 
 setup()
 {
-       ip link add name $CANIF type vcan || exit $ksft_skip
+       if [[ $CANIF == vcan* ]]; then
+               ip link add name $CANIF type vcan || exit $ksft_skip
+       else
+               ip link set dev $CANIF type can bitrate $BITRATE || exit $ksft_skip
+       fi
        ip link set dev $CANIF up
        pwd
 }
 
 cleanup()
 {
-       ip link delete $CANIF
+       ip link set dev $CANIF down
+       if [[ $CANIF == vcan* ]]; then
+               ip link delete $CANIF
+       fi
 }
 
 test_raw_filter()