Forráskód Böngészése

add Rate limiting

mael 8 éve
szülő
commit
b0cc115854
2 módosított fájl, 11 hozzáadás és 0 törlés
  1. 6 0
      main.py
  2. 5 0
      templates/main.html

+ 6 - 0
main.py

@@ -18,6 +18,7 @@ def new_rule(interface):
     duplicate = request.form['Duplicate']
     reorder = request.form['Reorder']
     corrupt = request.form['Corrupt']
+    rate = request.form['Rate']
 
     # remove old setup
     command = 'tc qdisc del dev %s root netem' % interface
@@ -27,6 +28,8 @@ def new_rule(interface):
 
     # apply new setup
     command = 'tc qdisc add dev %s root netem' % interface
+    if rate != '':
+        command += ' rate %smbit' % rate
     if delay != '':
         command += ' delay %sms' % delay
     if loss != '':
@@ -66,6 +69,7 @@ def get_active_rules():
 
 def parse_rule(splitted_rule):
     rule = {'name':      None,
+            'rate':      None,
             'delay':     None,
             'loss':      None,
             'duplicate': None,
@@ -75,6 +79,8 @@ def parse_rule(splitted_rule):
     for argument in splitted_rule:
         if argument == 'dev':
             rule['name'] = splitted_rule[i+1]
+        elif argument == 'rate':
+            rule['rate'] = splitted_rule[i + 1].split('M')[0]
         elif argument == 'delay':
             rule['delay'] = splitted_rule[i + 1]
         elif argument == 'loss':

+ 5 - 0
templates/main.html

@@ -17,6 +17,11 @@
                         <th>Current Value</th>
                         <th>New Value</th>
                     </tr>
+                    <tr>
+                        <td>Throughput:</td>
+                        <td>{{ rule['rate'] }}</td>
+                        <td><input type="text" name="Rate" size="5"> in Mbps</td>
+                    </tr>
                     <tr>
                         <td>Delay:</td>
                         <td>{{ rule['delay'] }}</td>