X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/32febcb0c7e6699472492c61cf315e362867f67a..90ebb19a3d853e3e261a839f52aa65e18c99527d:/tbf.c diff --git a/tbf.c b/tbf.c index ca3a930..7a83136 100644 --- a/tbf.c +++ b/tbf.c @@ -1,6 +1,6 @@ // L2TPNS: token bucket filters -char const *cvs_id_tbf = "$Id: tbf.c,v 1.4 2004/07/08 16:54:35 bodea Exp $"; +char const *cvs_id_tbf = "$Id: tbf.c,v 1.5 2004/08/26 06:22:37 fred_nerk Exp $"; #define _GNU_SOURCE @@ -12,40 +12,7 @@ char const *cvs_id_tbf = "$Id: tbf.c,v 1.4 2004/07/08 16:54:35 bodea Exp $"; #include "util.h" #include "tbf.h" -// Need a time interval. - -#define TBF_MAX_QUEUE 2 // Maximum of 2 queued packet per -#define TBF_MAX_SIZE 3000 // Maxiumum queued packet size is 2048. - -#define TBF_MAX_CREDIT 6000 // Maximum 6000 bytes of credit. -#define TBF_RATE 360 // 360 bytes per 1/10th of a second. - -typedef struct { - int credit; - int lasttime; - int queued; - int oldest; // Position of packet in the ring buffer. - sessionidt sid; // associated session ID. - int max_credit; // Maximum amount of credit available (burst size). - int rate; // How many bytes of credit per second we get? (sustained rate) - void (*send)(sessionidt s, u8 *, int); // Routine to actually send out the data. - int prev; // Timer chain position. - int next; // Timer chain position. - - u32 b_queued; // Total bytes sent through this TBF - u32 b_sent; // Total bytes sucessfully made it to the network. - u32 p_queued; // ditto packets. - u32 p_sent; // ditto packets. - u32 b_dropped; // Total bytes dropped. - u32 p_dropped; // Total packets dropped. - u32 p_delayed; // Total packets not sent immediately. - - int sizes[TBF_MAX_QUEUE]; - char packets[TBF_MAX_QUEUE][TBF_MAX_SIZE]; -} tbft; - - -static tbft *filter_list = NULL; +tbft *filter_list = NULL; static int filter_list_size = 0; static int timer_chain = -1; // Head of timer chain.