X-Git-Url: https://git.harvie.cz/?a=blobdiff_plain;f=prometheus.c;h=49fa5e2396153c7aa73f6def8b201caff95a005a;hb=f71cfa3b3f9d842ff69cc94e8c546583f61ad19e;hp=43238b3ca276161ffa5d04a00e9f125b8df23bbd;hpb=8dcd2b4cab6d481b0875c702176505b6ef6b6d5d;p=svn%2FPrometheus-QoS%2F.git diff --git a/prometheus.c b/prometheus.c index 43238b3..49fa5e2 100644 --- a/prometheus.c +++ b/prometheus.c @@ -2,12 +2,12 @@ /* Prometheus QoS - you can "steal fire" from your ISP */ /* "fair-per-IP" quality of service (QoS) utility */ /* requires Linux 2.4.x or 2.6.x with HTB support */ -/* Copyright(C) 2005-2013 Michael Polak, Arachne Aerospace */ +/* Copyright(C) 2005-2014 Michael Polak, Arachne Aerospace */ /* iptables-restore support Copyright(C) 2007-2008 ludva */ /* Credit: CZFree.Net,Martin Devera,Netdave,Aquarius,Gandalf */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ -/* Modified by: xChaos, 20131126 +/* Modified by: xChaos, 20140812 ludva, 20080415 Prometheus QoS is free software; you can redistribute it and/or @@ -29,7 +29,7 @@ #include "cll1-0.6.2.h" #include "ipstruct.h" -const char *version = "0.8.5-a"; +const char *version = "0.8.5-b"; /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* Versions: 0.8.3 is development release, 0.8.4 will be "stable" */ @@ -40,7 +40,7 @@ const char *version = "0.8.5-a"; /* Warning: unofficial Github mirror is not supported by author! */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ -const char *stats_html_signature = "Statistics generated by Prometheus QoS version %s
GPL+Copyright(C)2005-2013 Michael Polak, Arachne Labs
\n"; +const char *stats_html_signature = "Statistics generated by Prometheus QoS version %s
GPL+Copyright(C)2005-2014 Michael Polak, Arachne Labs
\n"; #define STRLEN 512 #undef DEBUG @@ -112,7 +112,7 @@ int overlimit_min = 256; /* minimum guaranted bandwidth for all undefined h int overlimit_max = 512; /* maximum allowed bandwidth for all undefined hosts */ int qos_free_delay = 0; /* seconds to sleep before applying new QoS rules */ int digital_divide = 2; /* controls digital divide weirdness ratio, 1...3 */ -int max_nesting = 3; /* maximum nesting of HTB clases, built-in maximum seems to be 4 */ +int max_nesting = 5; /* /include/uapi/linux/pkt_sched.h: #define TC_HTB_MAXDEPTH 8 [... - 3 parent classes] */ int htb_r2q = 256; /* should work for leaf values 512 kbps to 8 Mbps */ int burst = 8; /* HTB burst (in kbits) */ int burst_main = 64; @@ -125,7 +125,7 @@ FILE *log_file = NULL; char *kwd = "via-prometheus"; /* /etc/hosts comment, eg. #qos-64-128 */ const int highest_priority = 0; /* highest HTB priority (HTB built-in value is 0) */ -const int lowest_priority = 7; /* lowest HTB priority (HTB built-in value is 7) */ +const int lowest_priority = 7; /* lowest HTB priority /include/uapi/linux/pkt_sched.h: #define TC_HTB_NUMPRIO 8 */ const int idxtable_treshold1 = 24; /* this is no longer configurable */ const int idxtable_treshold2 = 12; /* this is no longer configurable */ const int idxtable_bitmask1 = 3; /* this is no longer configurable */ @@ -999,8 +999,7 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version); { if( ip->keyword->data_prio && !ip->fixedprio - && ( ip->traffic>ip->credit - + (ip->min*ip->keyword->data_prio+(ip->keyword->fixed_prio<<20))) ) + && ( ip->traffic > ip->credit + (ip->min*ip->keyword->data_prio+(ip->keyword->fixed_prio<<20))) ) { ip->prio=priority_sequence--; if(ip->prio