#!/usr/bin/python

import sys, os

MB=1048576L
MAX=1000L*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 \
    "OK|collisions=%sc;10;100;0" % arr['collisions'], \
    add('bytes', "c;%d;%d;0;%d" \
                % (MAX*WARN/100, MAX*CRIT/100, MAX)
    ), \
    add('packets', "c;;;0"), \
    add('errors', "c;10;100;0"), \
    add('dropped', "c;10;100;0")

sys.exit(0)
