aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/iperf.xml2
-rw-r--r--packages/iperfserver.xml88
2 files changed, 88 insertions, 2 deletions
diff --git a/packages/iperf.xml b/packages/iperf.xml
index 22c2601d..088799f5 100644
--- a/packages/iperf.xml
+++ b/packages/iperf.xml
@@ -10,7 +10,6 @@
<section>Diagnostics</section>
<configfile>iperf.xml</configfile>
</menu>
- <!-- Do not implement server functionality yet.
<tabs>
<tab>
<text>Client</text>
@@ -25,7 +24,6 @@
<additional_files_needed>
<item>http://www.pfsense.com/packages/config/iperfserver.xml</item>
</additional_files_needed>
- -->
<fields>
<field>
<fielddescr>Server</fielddescr>
diff --git a/packages/iperfserver.xml b/packages/iperfserver.xml
new file mode 100644
index 00000000..19a3dc4d
--- /dev/null
+++ b/packages/iperfserver.xml
@@ -0,0 +1,88 @@
+<packagegui>
+ <name>iperf</name>
+ <version>1.7.0</version>
+ <title>iperf: Server</title>
+ <donotsave>true</donotsave>
+ <preoutput>yes</preoutput>
+ <tabs>
+ <tab>
+ <text>Client</text>
+ <url>/pkg_edit.php?xml=iperf.xml</url>
+ </tab>
+ <tab>
+ <text>Server</text>
+ <url>/pkg_edit.php?xml=iperfserver.xml</url>
+ <active/>
+ </tab>
+ </tabs>
+ <fields>
+ <field>
+ <fielddescr>Port</fielddescr>
+ <fieldname>port</fieldname>
+ <description>Enter the port that iperf will listen for connections on. (default 5001)</description>
+ <type>input</type>
+ </field>
+ <field>
+ <fielddescr>Protocol</fielddescr>
+ <fieldname>protocol</fieldname>
+ <description>Choose whether to use TCP or UDP here. (default is TCP)</description>
+ <type>select</type>
+ <options>
+ <option>
+ <name>TCP</name>
+ <value>tcp</value>
+ </option>
+ <option>
+ <name>UDP</name>
+ <value>udp</value>
+ </option>
+ </options>
+ </field>
+ <field>
+ <fielddescr>Output format</fielddescr>
+ <fieldname>format</fieldname>
+ <description>Choose to display output in bits/sec or bytes/sec. (default is bits)</description>
+ <type>select</type>
+ <options>
+ <option>
+ <name>bits/sec</name>
+ <value>bits</value>
+ </option>
+ <option>
+ <name>bytes/sec</name>
+ <value>bytes</value>
+ </option>
+ </options>
+ </field>
+ <field>
+ <fielddescr>Interval</fielddescr>
+ <fieldname>interval</fieldname>
+ <description>Enter the desired interval between bandwidth, jitter and loss reports here. (default is 0 for no periodic reports)</description>
+ <type>input</type>
+ </field>
+ <field>
+ <fielddescr>Buffer length</fielddescr>
+ <fieldname>length</fieldname>
+ <description>Enter the length of buffers to read or write here. (default 8KB for TCP, 1470B for UDP)</description>
+ <type>input</type>
+ </field>
+ <field>
+ <fielddescr>Socket buffer bize</fielddescr>
+ <fieldname>window</fieldname>
+ <description>Enter the desired socket buffer size, if needed.</description>
+ <type>input</type>
+ </field>
+ </fields>
+ <custom_add_php_command>
+ $iperf_options = "";
+ if($_POST['protocol'] == "udp") $iperf_options .= " -u";
+ if($_POST['format'] == "bytes") $iperf_options .= " -f A";
+ if($_POST['interval'] != "") $iperf_options .= " -i {$_POST['interval']}";
+ if($_POST['length'] != "") $iperf_options .= " -l {$_POST['length']}";
+ if($_POST['window'] != "") $iperf_options .= " -w {$_POST['window']}";
+ if($_POST['port'] != "") $iperf_options .= " -p {$_POST['port']}";
+ $iperf_options .= " -s";
+ system("/usr/local/bin/iperf" . $iperf_options);
+ </custom_add_php_command>
+</packagegui>
+