X-Git-Url: http://git.onelab.eu/?p=ipfw.git;a=blobdiff_plain;f=dummynet%2Fip_dummynet.c;h=5b36eccbf39d05f872632988e371065dcab79a9e;hp=473a761e0f985f64751804a31373987f536fc854;hb=5ad9fec40da13c449d50def12f9cea6e24b6a708;hpb=f1a44f1ebacf274e0f35970bfc8ee5aa07aa9aca diff --git a/dummynet/ip_dummynet.c b/dummynet/ip_dummynet.c index 473a761..5b36ecc 100644 --- a/dummynet/ip_dummynet.c +++ b/dummynet/ip_dummynet.c @@ -56,6 +56,8 @@ __FBSDID("$FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.110.2.4 2008/10/31 12:58:1 * include files marked with XXX are probably not needed */ +#include "missing.h" + #include #include #include @@ -64,9 +66,9 @@ __FBSDID("$FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.110.2.4 2008/10/31 12:58:1 #include #include #include -#include #include #include +#include #include #include #include @@ -85,8 +87,6 @@ __FBSDID("$FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.110.2.4 2008/10/31 12:58:1 #include /* for ip6_input, ip6_output prototypes */ #include -#include "missing.h" - /* * We keep a private variable for the simulation time, but we could * probably use an existing one ("softticks" in sys/kern/kern_timeout.c) @@ -248,8 +248,8 @@ static void dummynet(void *); static void dummynet_flush(void); static void dummynet_send(struct mbuf *); void dummynet_drain(void); -static ip_dn_io_t dummynet_io; static void dn_rule_delete(void *); +static int dummynet_io(struct mbuf **, int , struct ip_fw_args *); /* * Heap management functions. @@ -1244,7 +1244,7 @@ red_drops(struct dn_flow_set *fs, struct dn_flow_queue *q, int len) u_int t = div64(curr_time - q->q_time, fs->lookup_step); - q->avg = (t >= 0 && t < fs->lookup_depth) ? + q->avg = (t < fs->lookup_depth) ? SCALE_MUL(q->avg, fs->w_q_lookup[t]) : 0; } }