iptables --burst-limit added + some preliminary packet statistics in html output...
[svn/Prometheus-QoS/.git] / prometheus.c
index c88857b6268e57d9767d419573c0afb15f8c501b..c3ae02cd9bc88c60708f2441afa5283c4cb9fc64 100644 (file)
@@ -7,7 +7,7 @@
 /* Credit: CZFree.Net,Martin Devera,Netdave,Aquarius,Gandalf  */\r
 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
 \r
-/* Modified by: xChaos, 20131118\r
+/* Modified by: xChaos, 20131119\r
                  ludva, 20080415\r
  \r
    Prometheus QoS is free software; you can redistribute it and/or\r
@@ -1127,16 +1127,25 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version);
    chain_postrouting="POSTROUTING";\r
   }\r
 \r
+  /* packet limits - this will be optional in future, hardcoded for now */\r
+  if(ip->pps_limit)\r
+  {\r
+   sprintf(limit_pkts, "-m limit --limit %d/s --limit-burst %d ", \r
+                       ip->pps_limit, ip->pps_limit);\r
+  }\r
+  else\r
+  {\r
+   *limit_pkts = 0;\r
+  }  \r
+\r
 #ifdef DEBUG\r
-  printf("%-22s %-16s %04d ", ip->name, ip->addr, ip->mark); \r
+  printf("%-22s %-16s %04d %d/s\n", ip->name, ip->addr, ip->mark, ip->pps_limit); \r
 #endif\r
 \r
-  /* -------------------------------------------------------- mark download */\r
-  \r
+  /* -------------------------------------------------------- mark download */  \r
   sprintf(str, "-A %s -d %s/%d -o %s -j %s%d",\r
                chain_postrouting, ip->addr, 32*(1+ip->v6),\r
                lan, mark_iptables, ip->mark);\r
-  /* -m limit --limit 1/s */  \r
   iptables_save_line(str, ip->v6);\r
 \r
   if(qos_proxy)\r
@@ -1147,9 +1156,6 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version);
    iptables_save_line(str, ip->v6);\r
   }\r
 \r
-  /* this will be optional in future - hardcoded for now*/\r
-  sprintf(limit_pkts,"-m limit --limit %d/s ", ip->pps_limit);\r
-\r
   sprintf(str, "-A %s -d %s/%d -o %s %s-j ACCEPT",\r
                chain_postrouting, ip->addr, 32*(1+ip->v6), lan, limit_pkts);\r
   iptables_save_line(str, ip->v6);\r
This page took 0.147889 seconds and 4 git commands to generate.