#!/bin/bash

while getopts o:i: option
  do
    case "${option}"
    in
      o) OKSPEED=${OPTARG};;
      i) IFACE=${OPTARG};;
esac
done

if [ -z "$OKSPEED" ]; then
  OKSPEED=1000
fi
if [ -z "$IFACE" ]; then
  IFACE="eth0"
fi

SPEED=0
if [ -f "/sys/class/net/${IFACE}/speed" ]; then
  SPEED=$(cat /sys/class/net/${IFACE}/speed | tr -dc '0-9');
else
  echo "SPEED CRITIAL: Could not found ${IFACE}"
  exit 2;
fi

if [ "$SPEED" -lt "$OKSPEED" ]; then
  echo "SPEED CRITIAL: ${IFACE} ${SPEED} mbit"
  exit 2;
fi
echo "SPEED OK: ${IFACE} ${SPEED} mbit"
