#!/usr/bin/python

import sys, os

MB=1048576L
MAX=10240L*MB/8
WARN=100L
CRIT=100L
if len(sys.argv)>2:
    MAX=long(sys.argv[2])*MB/8
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())

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

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

sys.exit(0)
