Server IP : 172.67.216.182 / Your IP : 172.70.208.97 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/src/linux-headers-5.15.0-142/tools/testing/selftests/drivers/net/netdevsim/ |
Upload File : |
#!/bin/bash # SPDX-License-Identifier: GPL-2.0-only source ethtool-common.sh NSIM_NETDEV=$(make_netdev) [ a$ETHTOOL == a ] && ETHTOOL=ethtool set -o pipefail # netdevsim starts out with None/None s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) check $? "$s" "Configured FEC encodings: None Active FEC encoding: None" # Test Auto $ETHTOOL --set-fec $NSIM_NETDEV encoding auto check $? s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) check $? "$s" "Configured FEC encodings: Auto Active FEC encoding: Off" # Test case in-sensitivity for o in off Off OFF; do $ETHTOOL --set-fec $NSIM_NETDEV encoding $o check $? s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) check $? "$s" "Configured FEC encodings: Off Active FEC encoding: Off" done for o in BaseR baser BAser; do $ETHTOOL --set-fec $NSIM_NETDEV encoding $o check $? s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) check $? "$s" "Configured FEC encodings: BaseR Active FEC encoding: BaseR" done for o in llrs rs; do $ETHTOOL --set-fec $NSIM_NETDEV encoding $o check $? s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) check $? "$s" "Configured FEC encodings: ${o^^} Active FEC encoding: ${o^^}" done # Test mutliple bits $ETHTOOL --set-fec $NSIM_NETDEV encoding rs llrs check $? s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) check $? "$s" "Configured FEC encodings: RS LLRS Active FEC encoding: LLRS" $ETHTOOL --set-fec $NSIM_NETDEV encoding rs off auto check $? s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) check $? "$s" "Configured FEC encodings: Auto Off RS Active FEC encoding: RS" # Make sure other link modes are rejected $ETHTOOL --set-fec $NSIM_NETDEV encoding FIBRE 2>/dev/null check $? '' '' 1 $ETHTOOL --set-fec $NSIM_NETDEV encoding bla-bla-bla 2>/dev/null check $? '' '' 1 # Try JSON $ETHTOOL --json --show-fec $NSIM_NETDEV | jq empty >>/dev/null 2>&1 if [ $? -eq 0 ]; then $ETHTOOL --set-fec $NSIM_NETDEV encoding auto check $? s=$($ETHTOOL --json --show-fec $NSIM_NETDEV | jq '.[].config[]') check $? "$s" '"Auto"' s=$($ETHTOOL --json --show-fec $NSIM_NETDEV | jq '.[].active[]') check $? "$s" '"Off"' $ETHTOOL --set-fec $NSIM_NETDEV encoding auto RS check $? s=$($ETHTOOL --json --show-fec $NSIM_NETDEV | jq '.[].config[]') check $? "$s" '"Auto" "RS"' s=$($ETHTOOL --json --show-fec $NSIM_NETDEV | jq '.[].active[]') check $? "$s" '"RS"' fi # Test error injection echo 11 > $NSIM_DEV_DFS/ethtool/get_err $ETHTOOL --show-fec $NSIM_NETDEV >>/dev/null 2>&1 check $? '' '' 1 echo 0 > $NSIM_DEV_DFS/ethtool/get_err echo 11 > $NSIM_DEV_DFS/ethtool/set_err $ETHTOOL --show-fec $NSIM_NETDEV >>/dev/null 2>&1 check $? $ETHTOOL --set-fec $NSIM_NETDEV encoding RS 2>/dev/null check $? '' '' 1 if [ $num_errors -eq 0 ]; then echo "PASSED all $((num_passes)) checks" exit 0 else echo "FAILED $num_errors/$((num_errors+num_passes)) checks" exit 1 fi