hw-test/scripts/stat-netdev

64 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
source scan-netdev
source test-variables
check_listed_mac () {
if [[ -n $LISTED_MAC ]] ; then
echo "$RES_ERROR: $BLD$MAC$OFF belongs to $LISTED_DEV"
fi
}
for DEV in \
`cat /proc/net/dev \
| grep -v 'lo:' \
| grep ':' \
| cut -d ':' -f 1`
do
ip link set $DEV up
done
sleep 1
while [[ 1 ]] ; do
clear
date
for DEV in \
`cat /proc/net/dev \
| grep -v 'lo:' \
| grep ':' \
| cut -d ':' -f 1`
do
MAC=`cat /sys/class/net/$DEV/address`
LISTED=`cat $OUTPUT_DIR/netdev.lst | grep $DEV`
MATCHING_MAC=`echo $LISTED | grep $MAC`
LISTED_MAC=`cat $OUTPUT_DIR/netdev.lst | grep $MAC`
LISTED_DEV=`echo $LISTED_MAC | cut -d ' ' -f 1`
LINKING=`cat /sys/class/net/$DEV/operstate`
if [[ "$LINKING" == "up" ]] ; then
echo -n "$GRN$DEV$OFF "
else
echo -n "$RED$DEV$OFF "
fi
if [[ -z $LISTED ]] ; then
echo "$MAC $RES_ERROR: Device $BLD$DEV$OFF not listed"
check_listed_mac
elif [[ -z $MATCHING_MAC ]] ; then
echo -n "$RES_ERROR: Mac addres $BLD$MAC$OFF "
echo "not matching for $BLD$DEV$OFF"
check_listed_mac
else
echo "$MAC $LINKING"
fi
done
for DEV in \
`cat $OUTPUT_DIR/netdev.lst | sed 's/#.*$//' | cut -d ' ' -f 1`
do
STILL_THERE=`cat /proc/net/dev | grep $DEV`
if [[ -z $STILL_THERE ]] ; then
echo "$BLD$DEV$OFF $RES_ERROR: Device missing"
#check_listed_mac
fi
done
sleep 2
done