ff=procfile_open(config_get("plugin:proc:/proc/net/dev", "filename to monitor", filename), " \t,:|", PROCFILE_FLAG_DEFAULT);
}
if(!ff) return1;
ff=procfile_readall(ff);
if(!ff) return0; // we return 0, so that we will retry to open it next time
if(enable_new_interfaces==-1) enable_new_interfaces=config_get_boolean_ondemand("plugin:proc:/proc/net/dev", "enable new interfaces detected at runtime", CONFIG_ONDEMAND_ONDEMAND);
if(do_bandwidth==-1) do_bandwidth=config_get_boolean_ondemand("plugin:proc:/proc/net/dev", "bandwidth for all interfaces", CONFIG_ONDEMAND_ONDEMAND);
if(do_packets==-1) do_packets=config_get_boolean_ondemand("plugin:proc:/proc/net/dev", "packets for all interfaces", CONFIG_ONDEMAND_ONDEMAND);
if(do_errors==-1) do_errors=config_get_boolean_ondemand("plugin:proc:/proc/net/dev", "errors for all interfaces", CONFIG_ONDEMAND_ONDEMAND);
if(do_drops==-1) do_drops=config_get_boolean_ondemand("plugin:proc:/proc/net/dev", "drops for all interfaces", CONFIG_ONDEMAND_ONDEMAND);
if(do_fifo==-1) do_fifo=config_get_boolean_ondemand("plugin:proc:/proc/net/dev", "fifo for all interfaces", CONFIG_ONDEMAND_ONDEMAND);
if(do_compressed==-1) do_compressed=config_get_boolean_ondemand("plugin:proc:/proc/net/dev", "compressed packets for all interfaces", CONFIG_ONDEMAND_ONDEMAND);
if(do_events==-1) do_events=config_get_boolean_ondemand("plugin:proc:/proc/net/dev", "frames, collisions, carrier counters for all interfaces", CONFIG_ONDEMAND_ONDEMAND);
uint32_tlines=procfile_lines(ff), l;
char*iface;
unsigned long longrbytes, rpackets, rerrors, rdrops, rfifo, rframe, rcompressed, rmulticast;
unsigned long longtbytes, tpackets, terrors, tdrops, tfifo, tcollisions, tcarrier, tcompressed;