aboutsummaryrefslogtreecommitdiffstats
path: root/extras/configs/http
diff options
context:
space:
mode:
Diffstat (limited to 'extras/configs/http')
-rw-r--r--extras/configs/http/sample.md82
-rw-r--r--extras/configs/http/setup.http7
-rw-r--r--extras/configs/http/startup.cfg9
3 files changed, 98 insertions, 0 deletions
diff --git a/extras/configs/http/sample.md b/extras/configs/http/sample.md
new file mode 100644
index 00000000000..8451cedd8a5
--- /dev/null
+++ b/extras/configs/http/sample.md
@@ -0,0 +1,82 @@
+---
+title: Home
+---
+
+# VPP Status
+
+### Here's the version...
+
+VPP version: <div id="VPPversion"></div>
+
+build date: <div id="VPPbuilddate"></div>
+
+<div id="like_button_container"></div>
+
+### Show Interface
+
+<p>Enter the interface name, then click "Submit" to display interface stats:</p>
+
+<input id="ifacename" type="text"></input>
+<button onclick="getStats()">Get Stats</button>
+
+<div id="ifacestats"></div>
+
+{{< rawhtml >}}
+
+<script>
+function getStats() {
+ var url="http://192.168.10.1:1234/interface_stats.json?";
+ var iface=document.getElementById("ifacename").value;
+ url=url.concat(iface);
+ fetch(url, {
+ method: 'POST',
+ mode: 'no-cors',
+ cache: 'no-cache',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+})
+.then((response) => response.json())
+.then(function(obj) {
+ console.log(obj)
+ var result=obj.interface_stats.name;
+ result = result.concat(": rx-pkts: ");
+ result = result.concat(obj.interface_stats.rx_packets);
+ result = result.concat(" rx-bytes: ");
+ result = result.concat(obj.interface_stats.rx_bytes);
+ result = result.concat(": tx-pkts: ");
+ result = result.concat(obj.interface_stats.tx_packets);
+ result = result.concat(" tx-bytes: ");
+ result = result.concat(obj.interface_stats.tx_bytes);
+ result = result.concat(" drops: ");
+ result = result.concat(obj.interface_stats.drops);
+ result = result.concat(" ip4: ");
+ result = result.concat(obj.interface_stats.ip4);
+ result = result.concat(" ip6: ");
+ result = result.concat(obj.interface_stats.ip6);
+
+ document.getElementById("ifacestats").innerHTML=result;
+})
+.catch(function(error) {
+ console.log(error);
+})}
+// unconditionally populate vpp version info ->
+fetch('http://192.168.10.1:1234/version.json', {
+ method: 'GET',
+ mode: 'no-cors',
+ cache: 'no-cache',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+})
+.then((response) => response.json())
+.then(function(obj) {
+ document.getElementById("VPPbuilddate").innerHTML=obj.vpp_details.build_date;
+ document.getElementById("VPPversion").innerHTML=obj.vpp_details.version;
+})
+.catch(function(error) {
+ console.log(error);
+});
+</script>
+
+{{< /rawhtml >}}
diff --git a/extras/configs/http/setup.http b/extras/configs/http/setup.http
new file mode 100644
index 00000000000..78b7a2f19e8
--- /dev/null
+++ b/extras/configs/http/setup.http
@@ -0,0 +1,7 @@
+set term pag off
+create tap host-if-name lstack host-ip4-addr 192.168.10.2/24
+set int ip address tap0 192.168.10.1/24
+set int state tap0 up
+
+http static server www-root <path> uri tcp://0.0.0.0/1234 cache-size 10m fifo-size 2048
+builtinurl enable
diff --git a/extras/configs/http/startup.cfg b/extras/configs/http/startup.cfg
new file mode 100644
index 00000000000..b2a50d3412a
--- /dev/null
+++ b/extras/configs/http/startup.cfg
@@ -0,0 +1,9 @@
+unix {
+ interactive
+ poll-sleep-usec 500
+ startup-config /scratch/vpp-http/extras/http/setup.http
+}
+
+tls {
+ use-test-cert-in-ca
+}