#!/usr/bin/python

import sys, os

MB=1048576
MAX=1000
WARN=100
CRIT=100
if len(sys.argv)>2:
    MAX=long(sys.argv[2])
if len(sys.argv)>4:
    WARN=long(sys.argv[3])
    CRIT=long(sys.argv[4])

DIR="/sys/class/net/%s/statistics" % sys.argv[1]

arr={}
for val in os.listdir(DIR):
    arr[val]=long(open(os.path.join(DIR,val), 'rt').read())
arr['rx_bits'] = arr['rx_bytes'] * 8
arr['tx_bits'] = arr['tx_bytes'] * 8

def add(name, suffix=''):
    return (
      "rx_%s=%d%s tx_%s=%d%s" \
      % (name, arr['rx_'+name], suffix, name, arr['tx_'+name], suffix)
    )

print \
    "OK|collisions=%sc;10;100" % arr['collisions'], \
    add('bits', "c;%d;%d;0;%d" \
                % (MB*MAX*WARN/100, MB*MAX*CRIT/100, MB*MAX)
    ), \
    add('packets', "c"), \
    add('errors', "c;10;100"), \
    add('dropped', "c;10;100")

sys.exit(0)
