X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drl%2Fstandard.c;h=103a23c298b965b7d216184392b7ecd2abd348c8;hb=8675c0b77ad3e361f4255ce61881a79061c5238d;hp=f0352153a3750976149fb44fe4423bc9b4b42ac7;hpb=9891ed21bcd3ff9f72a92e867ac7e8e0b9abb533;p=distributedratelimiting.git diff --git a/drl/standard.c b/drl/standard.c index f035215..103a23c 100644 --- a/drl/standard.c +++ b/drl/standard.c @@ -86,7 +86,7 @@ standard_flow *standard_table_lookup(standard_flow_table table, const key_flow * flow->source_port = key->source_port; flow->dest_port = key->dest_port; flow->last_packet = key->packet_time; - gettimeofday(&flow->last_update, NULL); + flow->last_update = table->common->last_update; /* Add the flow to the hash list. */ flow->nexth = table->flows[hash]; @@ -221,7 +221,7 @@ int standard_table_cleanup(standard_flow_table table) { time_t now = time(NULL); while (current != NULL) { - if (current->last_packet + FLOW_IDLE_TIME <= now) { + if (current->last_packet + STD_FLOW_IDLE_TIME <= now) { /* Flow hasn't received a packet in the time limit - kill it. */ remove = current; current = current->next; @@ -314,22 +314,18 @@ void standard_table_update_flows(standard_flow_table table, struct timeval now, table->common->num_flows_20k += 1; table->common->num_flows_10k += 1; table->common->num_flows_5k += 1; - table->common->num_flows += 1; } else if (current->rate > 20480) { table->common->num_flows_20k += 1; table->common->num_flows_10k += 1; table->common->num_flows_5k += 1; - table->common->num_flows += 1; } else if (current->rate > 10240) { table->common->num_flows_10k += 1; table->common->num_flows_5k += 1; - table->common->num_flows += 1; } else if (current->rate > 5120) { table->common->num_flows_5k += 1; - table->common->num_flows += 1; - } else { - table->common->num_flows += 1; - } + } + + table->common->num_flows += 1; src.s_addr = ntohl(current->source_ip); dst.s_addr = ntohl(current->dest_ip);