#include "ratetypes.h" /* needs util and pthread.h */
#include "logging.h"
+#define PRINT_COUNTER_RESET (7)
+
extern uint8_t system_loglevel;
-static int printcounter = 8;
+static int printcounter = PRINT_COUNTER_RESET - 1;
+
+uint8_t do_enforcement = 0;
/**
* Called for each identity each estimate interval. Uses flow table information
}
if (printcounter <= 0) {
- printlog(LOG_WARN, "%d %.1f %.1f %.1f\n", local_rate, idealweight, ident->localweight, total_weight);
- printcounter = 8;
+ printlog(LOG_WARN, "%d %.1f %.1f %.1f %d %d %d %d %d %d ", local_rate, idealweight,
+ ident->localweight, total_weight, ftable->num_flows, ftable->num_flows_5k, ftable->num_flows_10k,
+ ftable->num_flows_20k, ftable->num_flows_50k, ftable->avg_rate);
+ printcounter = PRINT_COUNTER_RESET;
} else {
printcounter -= 1;
}
printf("FPS: Setting local limit to %d\n", ident->locallimit);
}
printlog(LOG_DEBUG, "%d Limit ID:%d\n", ident->locallimit, ident->id);
- printlog(LOG_WARN, "%d\n", ident->locallimit);
+
+ if (printcounter == PRINT_COUNTER_RESET) {
+ printlog(LOG_WARN, "%d\n", ident->locallimit);
+ }
snprintf(cmd, CMD_BUFFER_SIZE,
"/sbin/tc class change dev eth0 parent 1:%x classid 1:%x htb rate 8bit ceil %dbps quantum 1600",
ident->htb_parent, ident->htb_node, ident->locallimit);
- ret = system(cmd);
+ if (do_enforcement) {
+ ret = system(cmd);
- if (ret) {
- /* FIXME: call failed. What to do? */
+ if (ret) {
+ /* FIXME: call failed. What to do? */
+ printlog(LOG_CRITICAL, "***TC call failed?***\n");
+ }
}
break;
ident->leaves[i]->xid, ident->leaves[i]->xid,
(100 * ident->leaves[i]->drop_prob));
#endif
- ret = system(cmd);
+ if (do_enforcement) {
+ ret = system(cmd);
- if (ret) {
- /* FIXME: call failed. What to do? */
+ if (ret) {
+ /* FIXME: call failed. What to do? */
+ printlog(LOG_CRITICAL, "***TC call failed?***\n");
+ }
}
}
sigemptyset(&signal_mask);
sigaddset(&signal_mask, SIGHUP);
+ sigaddset(&signal_mask, SIGUSR1);
pthread_sigmask(SIG_BLOCK, &signal_mask, NULL);
/* Determine the number of intervals we should wait before hitting the