Skip to content

Instantly share code, notes, and snippets.

<div id="block-1" class="block row"><div class="col col-md-12"><h1 id="h1-1390553847"></h1><p id="p-1390553847">WITest has been open to the public since November 2011. Here's what the daily testbed utilization has been for the last month, the last year, and since opening.</p></div></div><div id="block-2" class="block row"><div class="col col-md-4"><h3 id="h3-2">Last Month</h3><module id="1390554132" name="html" desc="HTML block" type="html">&lt;img src="http://witestlab.poly.edu/~ffund/util-month.png" width="100%"&gt;</module></div><div class="col col-md-4"><h3 id="h3-3">Last Year</h3><module id="1390554132" name="html" desc="HTML block" type="html">&lt;img src="http://witestlab.poly.edu/~ffund/util-year.png" width="100%"&gt;</module></div><div class="col col-md-4"><h3 id="h3-1">All time</h3><module id="1390554132" name="html" desc="HTML block" type="html">&lt;img src="http://witestlab.poly.edu/~ffund/util-all.png" width="100%"&gt;</module></div></div>
@ffund
ffund / testping.py
Last active August 29, 2015 14:05
Ping script for GENI MOOC routing experiment
import fileinput
import re
import sys
import socket
import time
from oml4py import OMLBase
# Open File and Get List with lines
config = open('CONFIG.txt', 'r')
DATA=open('DATA.txt', 'w+')
contents = config.readlines()
@ffund
ffund / which-adaptation-logic.sh
Last active August 3, 2016 21:50
Script for reproducing the results of "Which Adaptation Logic? An Objective and Subjective Performance Evaluation of HTTP-based Adaptive Media Streaming Systems" http://arxiv.org/abs/1606.00341
iface=$(route -n | grep 10.10.1. | awk '{print $8}')
tc qdisc del dev "$iface" root
echo "Startup sleep"
sleep 5
tc qdisc add dev "$iface" root handle 1:0 tbf rate 750kbit buffer 7500 latency 70ms
tc qdisc add dev "$iface" parent 1:0 handle 10: netem delay 80ms
echo "switch 750"
sleep 60
# Install stuff
sudo apt-get update
sudo apt-get -y install python-pip python-dev
sudo pip install kademlia
# Add latency on link
iface=$(route -n | grep "10.1.1.0" | awk '{print $8}')
sudo tc qdisc add dev "$iface" root netem delay 10ms 2ms distribution normal
<rspec xmlns="http://www.geni.net/resources/rspec/3" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:tour="http://www.protogeni.net/resources/rspec/ext/apt-tour/1" xmlns:jacks="http://www.protogeni.net/resources/rspec/ext/jacks/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd" type="request">
<node xmlns="http://www.geni.net/resources/rspec/3" client_id="node-0">
<icon xmlns="http://www.protogeni.net/resources/rspec/ext/jacks/1" url="https://portal.geni.net/images/VM-noTxt-centered.svg"/>
<site xmlns="http://www.protogeni.net/resources/rspec/ext/jacks/1" id="Site 1"/>
<sliver_type xmlns="http://www.geni.net/resources/rspec/3" name="default-vm"/>
<services xmlns="http://www.geni.net/resources/rspec/3" />
<interface xmlns="http://www.geni.net/resources/rspec/3" client_id="interface-0">
<ip address="10.10.1.1" netmask="255.255.255.0" type="i
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.9'?>
<flow_graph>
<timestamp>Tue Jul 26 23:24:17 2016</timestamp>
<block>
<key>options</key>
<param>
<key>author</key>
<value></value>
</param>
<?xml version='1.0' encoding='utf-8'?>
<?grc format='1' created='3.7.9'?>
<flow_graph>
<timestamp>Tue Jul 26 23:24:17 2016</timestamp>
<block>
<key>options</key>
<param>
<key>author</key>
<value></value>
</param>
@ffund
ffund / squid.conf
Last active August 4, 2016 20:31
squid proxy configuration for "2G Tuesdays" experiment
acl CONNECT method CONNECT
http_access allow all
http_port 10.91.1.2:3128
coredump_dir /var/spool/squid3
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
@ffund
ffund / 2g-tuesdays.xml
Last active August 30, 2016 21:25
Rspec for "2G Tuesdays" experiment
<rspec xmlns="http://www.geni.net/resources/rspec/3" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:tour="http://www.protogeni.net/resources/rspec/ext/apt-tour/1" xmlns:jacks="http://www.protogeni.net/resources/rspec/ext/jacks/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd" type="request">
<node xmlns="http://www.geni.net/resources/rspec/3" client_id="openvpn">
<icon xmlns="http://www.protogeni.net/resources/rspec/ext/jacks/1" url="https://portal.geni.net/images/Xen-VM.svg"/>
<site xmlns="http://www.protogeni.net/resources/rspec/ext/jacks/1" id="Site 1"/>
<routable_control_ip xmlns="http://www.protogeni.net/resources/rspec/ext/emulab/1"/>
<sliver_type xmlns="http://www.geni.net/resources/rspec/3" name="raw-pc">
<disk_image xmlns="http://www.geni.net/resources/rspec/3" name="urn:publicid:IDN+emulab.net+image+emulab-ops:UBUNTU14-64-STD"/>
</sliver_type>
<services x
sudo apt-get update
# Install the babel routing daemon, mtr fancy traceroute, and nodejs (for the babelweb node)
sudo apt-get -y install babeld mtr npm nodejs-legacy
# Get a list of all experiment interfaces
ifaces=$(netstat -i | tail -n+3 | grep -v "lo" | grep -v "eth0" | cut -d' ' -f1)
# remove InstaGENI-generated automatic routes
for i in $ifaces; do