Remove unused files and folders

Change-Id: I5b1872651bcaff603816b83ab23464b4808cbd19
refs: #2908
diff --git a/bin/miniccnx b/bin/miniccnx
deleted file mode 100755
index 614d5ca..0000000
--- a/bin/miniccnx
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/usr/bin/python
-
-from mininet.topo import Topo
-from mininet.net import Mininet
-from mininet.log import setLogLevel, output, info
-from mininet.cli import CLI
-from mininet.node import CPULimitedCCNHost, CCNHost
-from mininet.link import TCLink
-from mininet.conf_parser import parse_hosts,parse_routers, parse_links
-import os.path, time
-import optparse
-import datetime
-import pdb
-
-def parse_args():
-    usage="""Usage: miniccnx [template_file] [ -t | --testbed ]
-    If no template_file is given, will try to load template
-    from file miniccnx.conf in the current directory.
-    If --testbed is used, miniccnx will run the NDN Project Testbed.
-    This assumes you are in the testbed directory in the miniccnx installation
-    directory.
-    """
-
-    testbed = False
-    parser = optparse.OptionParser(usage)
-
-    parser.add_option("-t", "--testbed", action="store_true", dest="testbed",
-    help="instantiates NDN Testbed")
-
-    (options, arg) = parser.parse_args()
-
-    testbed = options.testbed
-
-    if len(arg) == 0 or len(arg) > 2:
-        file = ''
-    else:
-        file = arg[0]
-
-    return file, testbed
-
-
-class CCNTopo(Topo):
-    def __init__(self, conf_arq, **opts):
-        Topo.__init__(self, **opts)
-
-        hosts_conf = parse_hosts(conf_arq)
-       	routers_conf = parse_routers(conf_arq)
-        links_conf = parse_links(conf_arq)
-
-
-        self.isTCLink = False
-        self.isLimited = False
-
-        for host in hosts_conf:
-#	    print host
-            if host.cpu != None and self.isLimited != True:
-                self.isLimited = True
-            self.addHost(host.name, app=host.app, fib=host.uri_tuples,cpu=host.cpu,cores=host.cores,cache=host.cache)
-
-        for router in routers_conf:
-            if router.cpu != None and self.isLimited != True:
-                self.isLimited = True
-            self.addHost(router.name,fib=router.uri_tuples,cpu=router.cpu,cores=router.cores, cache=router.cache)
-
-        for link in links_conf:
-            if len(link.linkDict) == 0:
-		#pdb.set_trace()
-                self.addLink(link.h1, link.h2)
-            else:
-                self.addLink(link.h1, link.h2, **link.linkDict)
-                self.isTCLink = True
-
-        info('Parse of ' + conf_arq + ' done.\n')
-
-def execute(template_file='miniccnx.conf', testbed=False):
-    "Create a network based on template_file"
-
-    if template_file == '':
-        template_file='miniccnx.conf'
-
-    if os.path.exists(template_file) == False:
-        info('No template file given and default template file miniccnx.conf not found. Exiting...\n')
-        quit()
-
-    topo = CCNTopo(template_file)
-
-    t = datetime.datetime.now()
-
-    if topo.isTCLink == True and topo.isLimited == True:
-        net = Mininet(topo,host=CPULimitedCCNHost,link=TCLink)
-    elif topo.isTCLink == True and topo.isLimited == False:
-        net = Mininet(topo,host=CCNHost,link=TCLink)
-    elif topo.isTCLink == False and topo.isLimited == True:
-        net = Mininet(topo,host=CPULimitedCCNHost)
-    else:
-        net = Mininet(topo,host=CCNHost)
-
-    t2 = datetime.datetime.now()
-
-    delta = t2 - t
-
-    info('Setup time: ' + str(delta.seconds) + '\n')
-
-    net.start()
-
-    if testbed == True:
-        info('Starting OSPFN ...\n')
-        for host in net.hosts:
-            host.cmd("cd {0}".format(host.name))
-            host.cmd("./routing.sh {0}".format(host.name))
-
-        time.sleep(60)
-
-        for host in net.hosts:
-            host.cmd("./ospfn-start.sh {0}".format(host.name))
-
-        info('OSPFN configuration completed!\n')
-
-    for host in net.hosts:
-        if 'app' in host.params:
-            if host.params['app'] != '_':
-                host.cmd(host.params['app'])
-
-    CLI(net)
-    net.stop()
-
-if __name__ == '__main__':
-
-    template, testbed = parse_args()
-    setLogLevel('info')
-    execute(template, testbed)
diff --git a/bin/miniccnxedit b/bin/miniccnxedit
deleted file mode 100755
index 6141102..0000000
--- a/bin/miniccnxedit
+++ /dev/null
@@ -1,1733 +0,0 @@
-#!/usr/bin/python
-
-"""
-MiniCCNxEdit: a simple network editor for MiniCCNx
-
-Based on miniedit by:
-Bob Lantz, April 2010
-Gregory Gee, July 2013
-
-Carlos Cabral, Jan 2013
-Caio Elias, Nov 2014
-
-"""
-
-MINIEDIT_VERSION = '2.2.0.1'
-
-from optparse import OptionParser
-from Tkinter import *
-from ttk import Notebook
-from tkMessageBox import showinfo, showerror, showwarning
-from subprocess import call
-import tkFont
-import csv
-import tkFileDialog
-import tkSimpleDialog
-import re
-import json
-from distutils.version import StrictVersion
-import os
-import sys
-from functools import partial
-
-import pdb
-
-if 'PYTHONPATH' in os.environ:
-    sys.path = os.environ[ 'PYTHONPATH' ].split( ':' ) + sys.path
-
-# someday: from ttk import *
-
-from mininet.log import info, error, debug, output, setLogLevel
-from mininet.net import Mininet, VERSION
-from mininet.util import ipStr, netParse, ipAdd, quietRun
-from mininet.util import buildTopo
-from mininet.util import custom, customConstructor
-from mininet.term import makeTerm, cleanUpScreens
-from mininet.node import Controller, RemoteController, NOX, OVSController
-from mininet.node import CPULimitedHost, Host, Node
-from mininet.node import OVSKernelSwitch, OVSSwitch, UserSwitch
-from mininet.link import TCLink, Intf, Link
-from mininet.cli import CLI
-from mininet.moduledeps import moduleDeps, pathCheck
-from mininet.topo import SingleSwitchTopo, LinearTopo, SingleSwitchReversedTopo
-from mininet.topolib import TreeTopo
-
-print 'MiniCCNxEdit running...' #+VERSION
-MININET_VERSION = re.sub(r'[^\d\.]', '', VERSION)
-if StrictVersion(MININET_VERSION) > StrictVersion('2.0'):
-    from mininet.node import IVSSwitch
-
-TOPODEF = 'none'
-TOPOS = { 'minimal': lambda: SingleSwitchTopo( k=2 ),
-          'linear': LinearTopo,
-          'reversed': SingleSwitchReversedTopo,
-          'single': SingleSwitchTopo,
-          'none': None,
-          'tree': TreeTopo }
-LINKDEF = 'default'
-LINKS = { 'default': Link,
-          'tc': TCLink }
-HOSTDEF = 'proc'
-HOSTS = { 'proc': Host,
-          'rt': custom( CPULimitedHost, sched='rt' ),
-          'cfs': custom( CPULimitedHost, sched='cfs' ) }
-
-class LegacyRouter( Node ):
-
-    def __init__( self, name, inNamespace=True, **params ):
-        Node.__init__( self, name, inNamespace, **params )
-
-    def config( self, **_params ):
-        if self.intfs:
-            self.setParam( _params, 'setIP', ip='0.0.0.0' )
-        r = Node.config( self, **_params )
-        self.cmd('sysctl -w net.ipv4.ip_forward=1')
-        return r
-
-class CustomDialog(object):
-
-        # TODO: Fix button placement and Title and window focus lock
-        def __init__(self, master, title):
-            self.top=Toplevel(master)
-
-            self.bodyFrame = Frame(self.top)
-            self.bodyFrame.grid(row=0, column=0, sticky='nswe')
-            self.body(self.bodyFrame)
-
-            #return self.b # initial focus
-            buttonFrame = Frame(self.top, relief='ridge', bd=3, bg='lightgrey')
-            buttonFrame.grid(row=1 , column=0, sticky='nswe')
-
-            okButton = Button(buttonFrame, width=8, text='OK', relief='groove',
-                       bd=4, command=self.okAction)
-            okButton.grid(row=1, column=0, sticky=E)
-
-            canlceButton = Button(buttonFrame, width=8, text='Cancel', relief='groove',
-                        bd=4, command=self.cancelAction)
-            canlceButton.grid(row=1, column=1, sticky=W)
-
-        def body(self, master):
-            self.rootFrame = master
-
-        def apply(self):
-            self.top.destroy()
-
-        def cancelAction(self):
-            self.top.destroy()
-
-        def okAction(self):
-            self.apply()
-            self.top.destroy()
-
-class HostDialog(CustomDialog):
-
-        def __init__(self, master, title, prefDefaults, isRouter):
-
-            self.prefValues = prefDefaults
-            self.result = None
-	    self.isRouter = isRouter
-	    self.title = title
-
-            CustomDialog.__init__(self, master, title)
-
-        def body(self, master):
-            self.rootFrame = master
-            n = Notebook(self.rootFrame)
-            self.propFrame = Frame(n)
-            self.fibFrame = Frame(n)
-            n.add(self.propFrame, text='Properties')
-            n.add(self.fibFrame, text='FIB Entries')
-            n.pack()
-
-            ### TAB 1
-            # Field for Hostname
-            Label(self.propFrame, text="Hostname:").grid(row=0, sticky=E)
-            self.hostnameEntry = Entry(self.propFrame)
-            self.hostnameEntry.grid(row=0, column=1)
-            if 'hostname' in self.prefValues:
-                self.hostnameEntry.insert(0, self.prefValues['hostname'])
-
-            # Field for CPU
-            Label(self.propFrame, text="Amount CPU:").grid(row=2, sticky=E)
-            self.cpuEntry = Entry(self.propFrame)
-            self.cpuEntry.grid(row=2, column=1)
-	    Label(self.propFrame, text="%").grid(row=2, column=2, sticky=W)
-            if 'cpu' in self.prefValues:
-                self.cpuEntry.insert(0, str(self.prefValues['cpu']))
-            
-	    # Field for Memory
-            Label(self.propFrame, text="Amount MEM:").grid(row=3, sticky=E)
-            self.memEntry = Entry(self.propFrame)
-            self.memEntry.grid(row=3, column=1)
-	    Label(self.propFrame, text="%").grid(row=3, column=2, sticky=W)
-            if 'mem' in self.prefValues:
-                self.memEntry.insert(0, str(self.prefValues['mem']))
-	    
-	    # Field for Cache
-            Label(self.propFrame, text="Amount CACHE:").grid(row=4, sticky=E)
-            self.cacheEntry = Entry(self.propFrame)
-            self.cacheEntry.grid(row=4, column=1)
-	    Label(self.propFrame, text="KBytes").grid(row=4, column=2, sticky=W)
-            if 'cache' in self.prefValues:
-                self.cacheEntry.insert(0, str(self.prefValues['cache']))
-
-            # Start command
-	    #print self.isRouter
-	    if self.isRouter == 'False':
-		    Label(self.propFrame, text="Start Command:").grid(row=5, sticky=E)
-		    self.startEntry = Entry(self.propFrame)
-		    self.startEntry.grid(row=5, column=1, sticky='nswe', columnspan=3)
-		    Label(self.propFrame, text="[full path]").grid(row=5, column=2, sticky=W)
-		    if 'startCommand' in self.prefValues:
-		        self.startEntry.insert(0, str(self.prefValues['startCommand']))
-	    else: 
-		self.startEntry= Entry(self.propFrame)
-
-            ### TAB 2
-            # FIB Entries
-            self.fibEntries = 0
-            Label(self.fibFrame, text="FIB Entry:").grid(row=0, column=0, sticky=E)
-            self.fibButton = Button( self.fibFrame, text='Add', command=self.addEntry)
-            self.fibButton.grid(row=0, column=1)
-
-            self.fibFrame = VerticalScrolledTable(self.fibFrame, rows=0, columns=2, title='FIB Entries')
-            self.fibFrame.grid(row=1, column=0, sticky='nswe', columnspan=2)
-            self.fibTableFrame = self.fibFrame.interior
-            self.fibTableFrame.addRow(value=['Prefix','Next Hop'], readonly=True)
-
-            fibList = []
-            if 'fibEntries' in self.prefValues:
-                fibList = self.prefValues['fibEntries']
-            for fibEntr in fibList:
-                if isinstance( fibEntr, tuple ):
-                    self.fibTableFrame.addRow(value=fibEntr)
-                else:
-                    self.fibTableFrame.addRow(value=[fibEntr,''])
-
-        def addEntry( self ):
-            self.fibTableFrame.addRow()
-
-        def apply(self):
-            fibEntries = []
-            for row in range(self.fibTableFrame.rows):
-                if (len(self.fibTableFrame.get(row, 0)) > 0 and row > 0):
-                    if(len(self.fibTableFrame.get(row, 1)) > 0):
-                        fibEntries.append((self.fibTableFrame.get(row, 0), self.fibTableFrame.get(row, 1)))
-                    else:
-                        fibEntries.append(self.fibTableFrame.get(row, 0))
-
-            results = {'cpu': self.cpuEntry.get(),
-                       'cache': self.cacheEntry.get(),
-                       'mem': self.memEntry.get(),
-                       'hostname':self.hostnameEntry.get(),
-                       'startCommand':self.startEntry.get(),
-                       'fibEntries':fibEntries}
-            self.result = results
-
-class VerticalScrolledTable(LabelFrame):
-    """A pure Tkinter scrollable frame that actually works!
-
-    * Use the 'interior' attribute to place widgets inside the scrollable frame
-    * Construct and pack/place/grid normally
-    * This frame only allows vertical scrolling
-    
-    """
-    def __init__(self, parent, rows=2, columns=2, title=None, *args, **kw):
-        LabelFrame.__init__(self, parent, text=title, padx=5, pady=5, *args, **kw)            
-
-        # create a canvas object and a vertical scrollbar for scrolling it
-        vscrollbar = Scrollbar(self, orient=VERTICAL)
-        vscrollbar.pack(fill=Y, side=RIGHT, expand=FALSE)
-        canvas = Canvas(self, bd=0, highlightthickness=0,
-                        yscrollcommand=vscrollbar.set)
-        canvas.pack(side=LEFT, fill=BOTH, expand=TRUE)
-        vscrollbar.config(command=canvas.yview)
-
-        # reset the view
-        canvas.xview_moveto(0)
-        canvas.yview_moveto(0)
-
-        # create a frame inside the canvas which will be scrolled with it
-        self.interior = interior = TableFrame(canvas, rows=rows, columns=columns)
-        interior_id = canvas.create_window(0, 0, window=interior,
-                                           anchor=NW)
-
-        # track changes to the canvas and frame width and sync them,
-        # also updating the scrollbar
-        def _configure_interior(event):
-            # update the scrollbars to match the size of the inner frame
-            size = (interior.winfo_reqwidth(), interior.winfo_reqheight())
-            canvas.config(scrollregion="0 0 %s %s" % size)
-            if interior.winfo_reqwidth() != canvas.winfo_width():
-                # update the canvas's width to fit the inner frame
-                canvas.config(width=interior.winfo_reqwidth())
-        interior.bind('<Configure>', _configure_interior)
-
-        def _configure_canvas(event):
-            if interior.winfo_reqwidth() != canvas.winfo_width():
-                # update the inner frame's width to fill the canvas
-                canvas.itemconfigure(interior_id, width=canvas.winfo_width())
-        canvas.bind('<Configure>', _configure_canvas)
-
-        return
-
-class TableFrame(Frame):
-    def __init__(self, parent, rows=2, columns=2):
-
-        Frame.__init__(self, parent, background="black")
-        self._widgets = []
-        self.rows = rows
-        self.columns = columns
-        for row in range(rows):
-            current_row = []
-            for column in range(columns):
-                label = Entry(self, borderwidth=0)
-                label.grid(row=row, column=column, sticky="wens", padx=1, pady=1)
-                current_row.append(label)
-            self._widgets.append(current_row)
-
-    def set(self, row, column, value):
-        widget = self._widgets[row][column]
-        widget.insert(0, value)
-
-    def get(self, row, column):
-        widget = self._widgets[row][column]
-        return widget.get()
-
-    def addRow( self, value=None, readonly=False ):
-        #print "Adding row " + str(self.rows +1)
-        current_row = []
-        for column in range(self.columns):
-            label = Entry(self, borderwidth=0)
-            label.grid(row=self.rows, column=column, sticky="wens", padx=1, pady=1)
-            if value is not None:
-                label.insert(0, value[column])
-            if (readonly == True):
-                label.configure(state='readonly')
-            current_row.append(label)
-        self._widgets.append(current_row)
-        self.update_idletasks()
-        self.rows += 1
-
-class LinkDialog(tkSimpleDialog.Dialog):
-
-        def __init__(self, parent, title, linkDefaults):
-
-            self.linkValues = linkDefaults
-
-            tkSimpleDialog.Dialog.__init__(self, parent, title)
-
-        def body(self, master):
-
-            self.var = StringVar(master)
-            Label(master, text="Bandwidth:").grid(row=0, sticky=E)
-            self.e1 = Entry(master)
-            self.e1.grid(row=0, column=1)
-            Label(master, text="[1-1000] Mbps").grid(row=0, column=2, sticky=W)
-            if 'bw' in self.linkValues:
-                self.e1.insert(0,str(self.linkValues['bw']))
-
-            Label(master, text="Delay:").grid(row=1, sticky=E)
-            self.e2 = Entry(master)
-            self.e2.grid(row=1, column=1)
-	    Label(master, text="[0-1000] ms").grid(row=1, column=2, sticky=W)
-            if 'delay' in self.linkValues:
-                self.e2.insert(0, self.linkValues['delay'])
-
-            Label(master, text="Loss:").grid(row=2, sticky=E)
-            self.e3 = Entry(master)
-            self.e3.grid(row=2, column=1)
-            Label(master, text="%").grid(row=2, column=2, sticky=W)
-            if 'loss' in self.linkValues:
-                self.e3.insert(0, str(self.linkValues['loss']))
-
-            return self.e1 # initial focus
-
-        def apply(self):
-            self.result = {}
-            if (len(self.e1.get()) > 0):
-                self.result['bw'] = int(self.e1.get())
-            if (len(self.e2.get()) > 0):
-                self.result['delay'] = self.e2.get()
-            if (len(self.e3.get()) > 0):
-                self.result['loss'] = int(self.e3.get())
-
-class ToolTip(object):
-
-    def __init__(self, widget):
-        self.widget = widget
-        self.tipwindow = None
-        self.id = None
-        self.x = self.y = 0
-
-    def showtip(self, text):
-        "Display text in tooltip window"
-        self.text = text
-        if self.tipwindow or not self.text:
-            return
-        x, y, cx, cy = self.widget.bbox("insert")
-        x = x + self.widget.winfo_rootx() + 27
-        y = y + cy + self.widget.winfo_rooty() +27
-        self.tipwindow = tw = Toplevel(self.widget)
-        tw.wm_overrideredirect(1)
-        tw.wm_geometry("+%d+%d" % (x, y))
-        try:
-            # For Mac OS
-            tw.tk.call("::tk::unsupported::MacWindowStyle",
-                       "style", tw._w,
-                       "help", "noActivates")
-        except TclError:
-            pass
-        label = Label(tw, text=self.text, justify=LEFT,
-                      background="#ffffe0", relief=SOLID, borderwidth=1,
-                      font=("tahoma", "8", "normal"))
-        label.pack(ipadx=1)
-
-    def hidetip(self):
-        tw = self.tipwindow
-        self.tipwindow = None
-        if tw:
-            tw.destroy()
-
-class MiniEdit( Frame ):
-
-    "A simple network editor for MiniCCNx."
-
-    def __init__( self, parent=None, cheight=600, cwidth=1000, template_file='miniccnx.conf' ):
-	
-	self.template_file = template_file
-
-        Frame.__init__( self, parent )
-        self.action = None
-        self.appName = 'MiniccnxEdit'
-        self.fixedFont = tkFont.Font ( family="DejaVu Sans Mono", size="14" )
-
-        # Style
-        self.font = ( 'Geneva', 9 )
-        self.smallFont = ( 'Geneva', 7 )
-        self.bg = 'white'
-
-        # Title
-        self.top = self.winfo_toplevel()
-        self.top.title( self.appName )
-
-        # Menu bar
-        self.createMenubar()
-
-        # Editing canvas
-        self.cheight, self.cwidth = cheight, cwidth
-        self.cframe, self.canvas = self.createCanvas()
-
-        # Toolbar
-        self.controllers = {}
-
-        # Toolbar
-        self.images = miniEditImages()
-        self.buttons = {}
-        self.active = None
-        self.tools = ( 'Select', 'Host', 'LegacyRouter', 'NetLink' )
-        self.customColors = { 'LegacyRouter': 'darkGreen', 'Host': 'blue' }
-        self.toolbar = self.createToolbar()
-
-        # Layout
-        self.toolbar.grid( column=0, row=0, sticky='nsew')
-        self.cframe.grid( column=1, row=0 )
-        self.columnconfigure( 1, weight=1 )
-        self.rowconfigure( 0, weight=1 )
-        self.pack( expand=True, fill='both' )
-
-        # About box
-        self.aboutBox = None
-
-        # Initialize node data
-        self.nodeBindings = self.createNodeBindings()
-        self.nodePrefixes = { 'LegacyRouter': 'r', 'Host': 'h'}
-        self.widgetToItem = {}
-        self.itemToWidget = {}
-
-        # Initialize link tool
-        self.link = self.linkWidget = None
-
-        # Selection support
-        self.selection = None
-
-        # Keyboard bindings
-        self.bind( '<Control-q>', lambda event: self.quit() )
-        self.bind( '<KeyPress-Delete>', self.deleteSelection )
-        self.bind( '<KeyPress-BackSpace>', self.deleteSelection )
-        self.focus()
-
-	#Mouse bindings
-	self.bind( '<Button-1>', lambda event: self.clearPopups )
-
-        self.hostPopup = Menu(self.top, tearoff=0)
-        self.hostPopup.add_command(label='Host Options', font=self.font, command=self.hostDetails)
-        #self.hostPopup.add_separator()
-        #self.hostPopup.add_command(label='Properties', font=self.font, command=self.hostDetails )
-
-        self.legacyRouterPopup = Menu(self.top, tearoff=0)
-        self.legacyRouterPopup.add_command(label='Router Options', font=self.font, command=self.hostDetails)
-
-        self.linkPopup = Menu(self.top, tearoff=0)
-        self.linkPopup.add_command(label='Link Options', font=self.font, command=self.linkDetails)
-        #self.linkPopup.add_separator()
-        #self.linkPopup.add_command(label='Properties', font=self.font, command=self.linkDetails )
-
-        # Event handling initalization
-        self.linkx = self.linky = self.linkItem = None
-        self.lastSelection = None
-
-        # Model initialization
-        self.links = {}
-        self.hostOpts = {}
-        self.switchOpts = {}
-	self.routerOpts = {}
-        self.hostCount = 0
-	self.routerCount = 0
-        self.net = None
-
-        # Close window gracefully
-        Wm.wm_protocol( self.top, name='WM_DELETE_WINDOW', func=self.quit )
-
-    def quit( self ):
-        "Stop our network, if any, then quit."
-        #sself.stop()
-        Frame.quit( self )
-
-    def createMenubar( self ): # MODIFICADO - OK
-        "Create our menu bar."
-
-        font = self.font
-
-        mbar = Menu( self.top, font=font )
-        self.top.configure( menu=mbar )
-
-        fileMenu = Menu( mbar, tearoff=False )
-        mbar.add_cascade( label="File", font=font, menu=fileMenu )
-        fileMenu.add_command( label="New", font=font, command=self.newTopology )
-        fileMenu.add_command( label="Open", font=font, command=self.loadTopology )
-        fileMenu.add_command( label="Save", font=font, command=self.saveTopology )
-        fileMenu.add_command( label="Generate", font=font, command=self.doGenerate )
-        fileMenu.add_separator()
-        fileMenu.add_command( label='Quit', command=self.quit, font=font )
-	
-        editMenu = Menu( mbar, tearoff=False )
-        mbar.add_cascade( label="Edit", font=font, menu=editMenu )
-        editMenu.add_command( label="Cut", font=font,
-                              command=lambda: self.deleteSelection( None ) )
-
-	# Application menu
-        appMenu = Menu( mbar, tearoff=False )
-        mbar.add_cascade( label=self.appName, font=font, menu=appMenu )
-        appMenu.add_command( label='About Mini-CCNx', command=self.about,
-                             font=font)
-        #appMenu.add_separator()
-        #appMenu.add_command( label='Quit', command=self.quit, font=font )
-
-    # Canvas - TUDO IGUAL - OK
-
-    def createCanvas( self ):
-        "Create and return our scrolling canvas frame."
-        f = Frame( self )
-
-        canvas = Canvas( f, width=self.cwidth, height=self.cheight,
-                         bg=self.bg )
-
-        # Scroll bars
-        xbar = Scrollbar( f, orient='horizontal', command=canvas.xview )
-        ybar = Scrollbar( f, orient='vertical', command=canvas.yview )
-        canvas.configure( xscrollcommand=xbar.set, yscrollcommand=ybar.set )
-
-        # Resize box
-        resize = Label( f, bg='white' )
-
-        # Layout
-        canvas.grid( row=0, column=1, sticky='nsew')
-        ybar.grid( row=0, column=2, sticky='ns')
-        xbar.grid( row=1, column=1, sticky='ew' )
-        resize.grid( row=1, column=2, sticky='nsew' )
-
-        # Resize behavior
-        f.rowconfigure( 0, weight=1 )
-        f.columnconfigure( 1, weight=1 )
-        f.grid( row=0, column=0, sticky='nsew' )
-        f.bind( '<Configure>', lambda event: self.updateScrollRegion() )
-
-        # Mouse bindings
-        canvas.bind( '<ButtonPress-1>', self.clickCanvas )
-        canvas.bind( '<B1-Motion>', self.dragCanvas )
-        canvas.bind( '<ButtonRelease-1>', self.releaseCanvas )
-
-        return f, canvas
-
-    def updateScrollRegion( self ):
-        "Update canvas scroll region to hold everything."
-        bbox = self.canvas.bbox( 'all' )
-        if bbox is not None:
-            self.canvas.configure( scrollregion=( 0, 0, bbox[ 2 ],
-                                   bbox[ 3 ] ) )
-
-    def canvasx( self, x_root ):
-        "Convert root x coordinate to canvas coordinate."
-        c = self.canvas
-        return c.canvasx( x_root ) - c.winfo_rootx()
-
-    def canvasy( self, y_root ):
-        "Convert root y coordinate to canvas coordinate."
-        c = self.canvas
-        return c.canvasy( y_root ) - c.winfo_rooty()
-
-    # Toolbar
-
-    def activate( self, toolName ): #IGUAL - OK
-        "Activate a tool and press its button."
-        # Adjust button appearance
-        if self.active:
-            self.buttons[ self.active ].configure( relief='raised' )
-        self.buttons[ toolName ].configure( relief='sunken' )
-        # Activate dynamic bindings
-        self.active = toolName
-
-
-    def createToolTip(self, widget, text): #NOVA - CRIA HINTS E TIPS
-        toolTip = ToolTip(widget)
-        def enter(event):
-            toolTip.showtip(text)
-        def leave(event):
-            toolTip.hidetip()
-        widget.bind('<Enter>', enter)
-        widget.bind('<Leave>', leave)
-
-    def createToolbar( self ): #MODIFICADO - OK
-        "Create and return our toolbar frame."
-
-        toolbar = Frame( self )
-
-        # Tools
-        for tool in self.tools:
-            cmd = ( lambda t=tool: self.activate( t ) )
-            b = Button( toolbar, text=tool, font=self.smallFont, command=cmd)
-            if tool in self.images:
-                b.config( height=35, image=self.images[ tool ] )
-                self.createToolTip(b, str(tool))
-                # b.config( compound='top' )
-            b.pack( fill='x' )
-            self.buttons[ tool ] = b
-        self.activate( self.tools[ 0 ] )
-
-        # Spacer
-        Label( toolbar, text='' ).pack()
-
-	# abaixo copiado Mini-CCNx para criar botao Generate
-
-        for cmd, color in [ ( 'Generate', 'darkGreen' ) ]:
-            doCmd = getattr( self, 'do' + cmd )
-            b = Button( toolbar, text=cmd, font=self.smallFont,
-                        fg=color, command=doCmd )
-            b.pack( fill='x', side='bottom' )
-
-        return toolbar
-
-    def doGenerate( self ): #COPIA Mini-CCNx - GERA TEMPLATE
-        "Generate template."
-        self.activate( 'Select' )
-        for tool in self.tools:
-            self.buttons[ tool ].config( state='disabled' )
-
-        self.buildTemplate()
-
-        for tool in self.tools:
-            self.buttons[ tool ].config( state='normal' )
-
-	toplevel = Toplevel()
-	label1 = Label(toplevel, text="Template file generated successfully", height=0, width=30)
-	label1.pack()
-	b=Button(toplevel, text="Ok", width=5, command=toplevel.destroy)
-	b.pack(side='bottom', padx=0,pady=0)
-
-    def parseFibEntries ( self, fibEntries ):
-	"Parse FIB Entries for write"
-	result=''
-	
-	for fibEntry in fibEntries:
-		entry = ','.join(map(str, fibEntry))
-		result += entry + ' '
-
-	return result
-
-    def buildTemplate( self ): #COPIA Mini-CCNx para criar Template
-        "Generate template"
-
-        template = open(self.template_file, 'w')
-
-        # hosts
-        template.write('[hosts]\n')
-        for widget in self.widgetToItem:
-            name = widget[ 'text' ]
-            tags = self.canvas.gettags( self.widgetToItem[ widget ] )
-	    #print self.hostOpts[name]
-            if 'Host' in tags:
-		hOpts=self.hostOpts[name]
-                template.write(name + ': ')
-		if 'startCommand' in hOpts:
-			template.write(hOpts['startCommand'] + ' ')
-		else:
-			template.write('_ ')
-		if 'cache' in hOpts:
-			template.write('cache=' + hOpts['cache'] + ' ')
-		if 'cpu' in hOpts:
-			cpu=float(hOpts['cpu'])/100
-			template.write('cpu=' + repr(cpu) + ' ')
-		if 'mem' in hOpts:
-			mem=float(hOpts['mem'])/100
-			template.write('mem=' + repr(mem) + ' ')
-		if 'fibEntries' in hOpts:
-			customFib = self.parseFibEntries(hOpts['fibEntries'])
-			template.write(customFib)
-		template.write('\n')
-
-        # switches/routers
-        template.write('[routers]\n')
-
-        for router in self.routerOpts.values():
-
-	    hasOpt='False'
-	    routerName=router['hostname']
-	    #nodetype=router['nodetype']
-	    #nodenum=router['nodenum']
-	    
-	    rOpts=self.routerOpts[routerName]
-
-	    template.write(routerName + ': ')
-
-	    if 'cpu' in rOpts:
-		cpu=float(rOpts['cpu'])/100
-		template.write('cpu=' + repr(cpu) + ' ')
-		hasOpt='True'
-	    if 'mem' in rOpts:
-		mem=float(rOpts['mem'])/100
-		template.write('mem=' + repr(mem) + ' ')
-		hasOpt='True'
-	    if 'cache' in rOpts:
-		template.write('cache=' + rOpts['cache'] + ' ')
-		hasOpt='True'
-	    if 'fibEntries' in rOpts:
-		customFib = self.parseFibEntries(rOpts['fibEntries'])
-		template.write(customFib)
-		hasOpt='True'
-	    if hasOpt == 'False':
-		template.write('_')
-
-	    template.write('\n')
-
-        # Make links
-        template.write('[links]\n')
-        for link in self.links.values():
-             dst=link['dest']
-	     src=link['src']
-	     linkopts=link['linkOpts']
-	     linktype=link['type']
-
-             srcName, dstName = src[ 'text' ], dst[ 'text' ]
-             template.write(srcName + ':' + dstName + ' ')
-	     if 'bw' in linkopts:
-	     	template.write('bw=' + str(linkopts['bw']) + ' ' )
-	     if 'loss' in linkopts:
-	     	template.write('loss=' + repr(linkopts['loss']) + ' ' )
-	     if 'delay' in linkopts:
-	     	template.write('delay=' + str(linkopts['delay']))
-	     
-	     template.write('\n')
-
-	template.close()
-
-    def addNode( self, node, nodeNum, x, y, name=None):
-        "Add a new node to our canvas."
-
-	if 'LegacyRouter' == node:
-	    self.routerCount += 1
-        if 'Host' == node:
-            self.hostCount += 1
-        if name is None:
-            name = self.nodePrefixes[ node ] + nodeNum
-        self.addNamedNode(node, name, x, y)
-
-    def addNamedNode( self, node, name, x, y):
-        "Add a new node to our canvas."
-        c = self.canvas
-        icon = self.nodeIcon( node, name )
-        item = self.canvas.create_window( x, y, anchor='c', window=icon,
-                                          tags=node )
-        self.widgetToItem[ icon ] = item
-        self.itemToWidget[ item ] = icon
-        icon.links = {}
-
-    def convertJsonUnicode(self, input):
-        "Some part of Mininet don't like Unicode"
-        if isinstance(input, dict):
-            return {self.convertJsonUnicode(key): self.convertJsonUnicode(value) for key, value in input.iteritems()}
-        elif isinstance(input, list):
-            return [self.convertJsonUnicode(element) for element in input]
-        elif isinstance(input, unicode):
-            return input.encode('utf-8')
-        else:
-            return input
-
-    def loadTopology( self ):
-        "Load command."
-        c = self.canvas
-
-        myFormats = [
-            ('Miniccnx Topology','*.mnccnx'),
-            ('All Files','*'),
-        ]
-        f = tkFileDialog.askopenfile(filetypes=myFormats, mode='rb')
-        if f == None:
-            return
-        self.newTopology()
-        loadedTopology = self.convertJsonUnicode(json.load(f))
-
-        # Load hosts
-        hosts = loadedTopology['hosts']
-        for host in hosts:
-            nodeNum = host['number']
-            hostname = 'h'+nodeNum
-            if 'hostname' in host['opts']:
-                hostname = host['opts']['hostname']
-            else:
-                host['opts']['hostname'] = hostname
-            if 'nodeNum' not in host['opts']:
-                host['opts']['nodeNum'] = int(nodeNum)
-            x = host['x']
-            y = host['y']
-            self.addNode('Host', nodeNum, float(x), float(y), name=hostname)
-
-            # Fix JSON converting tuple to list when saving
-            if 'privateDirectory' in host['opts']:
-                newDirList = []
-                for privateDir in host['opts']['privateDirectory']:
-                    if isinstance( privateDir, list ):
-                        newDirList.append((privateDir[0],privateDir[1]))
-                    else:
-                        newDirList.append(privateDir)
-                host['opts']['privateDirectory'] = newDirList
-            self.hostOpts[hostname] = host['opts']
-            icon = self.findWidgetByName(hostname)
-            icon.bind('<Button-3>', self.do_hostPopup )
-
-        # Load routers
-        routers = loadedTopology['routers']
-        for router in routers:
-            nodeNum = router['number']
-            hostname = 'r'+nodeNum
-	    #print router
-            if 'nodeType' not in router['opts']:
-                router['opts']['nodeType'] = 'legacyRouter'
-            if 'hostname' in router['opts']:
-                hostname = router['opts']['hostname']
-            else:
-                router['opts']['hostname'] = hostname
-            if 'nodeNum' not in router['opts']:
-                router['opts']['nodeNum'] = int(nodeNum)
-            x = router['x']
-            y = router['y']
-            if router['opts']['nodeType'] == "legacyRouter":
-                self.addNode('LegacyRouter', nodeNum, float(x), float(y), name=hostname)
-                icon = self.findWidgetByName(hostname)
-                icon.bind('<Button-3>', self.do_legacyRouterPopup )
-            self.routerOpts[hostname] = router['opts']
-
-        # Load links
-        links = loadedTopology['links']
-        for link in links:
-            srcNode = link['src']
-            src = self.findWidgetByName(srcNode)
-            sx, sy = self.canvas.coords( self.widgetToItem[ src ] )
-
-            destNode = link['dest']
-            dest = self.findWidgetByName(destNode)
-            dx, dy = self.canvas.coords( self.widgetToItem[ dest ]  )
-
-            self.link = self.canvas.create_line( sx, sy, dx, dy, width=4,
-                                             fill='blue', tag='link' )
-            c.itemconfig(self.link, tags=c.gettags(self.link)+('data',))
-            self.addLink( src, dest, linkopts=link['opts'] )
-            self.createDataLinkBindings()
-            self.link = self.linkWidget = None
-
-        f.close
-
-    def findWidgetByName( self, name ):
-        for widget in self.widgetToItem:
-            if name ==  widget[ 'text' ]:
-                return widget
-
-    def newTopology( self ):
-        "New command."
-        for widget in self.widgetToItem.keys():
-            self.deleteItem( self.widgetToItem[ widget ] )
-        self.hostCount = 0
-        self.routerCount = 0
-        self.links = {}
-        self.hostOpts = {}
-	self.routerOpts = {}
-
-    def saveTopology( self ):
-        "Save command."
-        myFormats = [
-            ('Miniccnx Topology','*.mnccnx'),
-            ('All Files','*'),
-        ]
-
-        savingDictionary = {}
-        fileName = tkFileDialog.asksaveasfilename(filetypes=myFormats ,title="Save the topology as...")
-        if len(fileName ) > 0:
-            # Save Application preferences
-            savingDictionary['version'] = '2'
-
-            # Save routers and Hosts
-            hostsToSave = []
-            routersToSave = []
-
-            for widget in self.widgetToItem:
-                name = widget[ 'text' ]
-                tags = self.canvas.gettags( self.widgetToItem[ widget ] )
-                x1, y1 = self.canvas.coords( self.widgetToItem[ widget ] )
-                if 'LegacyRouter' in tags:
-                    nodeNum = self.routerOpts[name]['nodeNum']
-                    nodeToSave = {'number':str(nodeNum),
-                                  'x':str(x1),
-                                  'y':str(y1),
-                                  'opts':self.routerOpts[name] }
-                    routersToSave.append(nodeToSave)
-                elif 'Host' in tags:
-                    nodeNum = self.hostOpts[name]['nodeNum']
-                    nodeToSave = {'number':str(nodeNum),
-                                  'x':str(x1),
-                                  'y':str(y1),
-                                  'opts':self.hostOpts[name] }
-                    hostsToSave.append(nodeToSave)
-                else:
-                    raise Exception( "Cannot create mystery node: " + name )
-            savingDictionary['hosts'] = hostsToSave
-            savingDictionary['routers'] = routersToSave
-
-            # Save Links
-            linksToSave = []
-            for link in self.links.values():
-                src = link['src']
-                dst = link['dest']
-                linkopts = link['linkOpts']
-
-                srcName, dstName = src[ 'text' ], dst[ 'text' ]
-                linkToSave = {'src':srcName,
-                              'dest':dstName,
-                              'opts':linkopts}
-                if link['type'] == 'data':
-                    linksToSave.append(linkToSave)
-            savingDictionary['links'] = linksToSave
-
-            # Save Application preferences
-            #savingDictionary['application'] = self.appPrefs
-
-            try:
-                f = open(fileName, 'wb')
-                f.write(json.dumps(savingDictionary, sort_keys=True, indent=4, separators=(',', ': ')))
-            except Exception as er:
-                print er
-            finally:
-                f.close()
-
-    # Generic canvas handler
-    #
-    # We could have used bindtags, as in nodeIcon, but
-    # the dynamic approach used here
-    # may actually require less code. In any case, it's an
-    # interesting introspection-based alternative to bindtags.
-
-    def canvasHandle( self, eventName, event ):
-        "Generic canvas event handler"
-        if self.active is None:
-            return
-        toolName = self.active
-        handler = getattr( self, eventName + toolName, None )
-        if handler is not None:
-            handler( event )
-
-    def clickCanvas( self, event ):
-        "Canvas click handler."
-        self.canvasHandle( 'click', event )
-
-    def dragCanvas( self, event ):
-        "Canvas drag handler."
-        self.canvasHandle( 'drag', event )
-
-    def releaseCanvas( self, event ):
-        "Canvas mouse up handler."
-        self.canvasHandle( 'release', event )
-
-    # Currently the only items we can select directly are
-    # links. Nodes are handled by bindings in the node icon.
-
-    def findItem( self, x, y ):
-        "Find items at a location in our canvas."
-        items = self.canvas.find_overlapping( x, y, x, y )
-        if len( items ) == 0:
-            return None
-        else:
-            return items[ 0 ]
-
-    # Canvas bindings for Select, Host, Router and Link tools
-
-    def clickSelect( self, event ):
-        "Select an item."
-        self.selectItem( self.findItem( event.x, event.y ) )
-
-    def deleteItem( self, item ):
-        "Delete an item."
-        # Don't delete while network is running
-        if self.buttons[ 'Select' ][ 'state' ] == 'disabled':
-            return
-        # Delete from model
-        if item in self.links:
-            self.deleteLink( item )
-        if item in self.itemToWidget:
-            self.deleteNode( item )
-        # Delete from view
-        self.canvas.delete( item )
-
-    def deleteSelection( self, _event ):
-        "Delete the selected item."
-        if self.selection is not None:
-            self.deleteItem( self.selection )
-        self.selectItem( None )
-
-    def clearPopups(self):
-	print 'Entrou funcao clear_popups'
-
-    	if isHostPopup == True:
-		print 'Hostpopup = true'
-    		self.hostPopup.unpost
-		isHostPopup = False
-	#if isRouterPopup == True
-	#if isLinkPopup == True
-
-    def nodeIcon( self, node, name ):
-        "Create a new node icon."
-        icon = Button( self.canvas, image=self.images[ node ],
-                       text=name, compound='top' )
-        # Unfortunately bindtags wants a tuple
-        bindtags = [ str( self.nodeBindings ) ]
-        bindtags += list( icon.bindtags() )
-        icon.bindtags( tuple( bindtags ) )
-        return icon
-
-    def newNode( self, node, event ):
-        "Add a new node to our canvas."
-        c = self.canvas
-        x, y = c.canvasx( event.x ), c.canvasy( event.y )
-        name = self.nodePrefixes[ node ]
-
-        if 'LegacyRouter' == node:
-            self.routerCount += 1
-            name = self.nodePrefixes[ node ] + str( self.routerCount )
-            self.routerOpts[name] = {}
-            self.routerOpts[name]['nodeNum']=self.routerCount
-            self.routerOpts[name]['hostname']=name
-            self.routerOpts[name]['nodeType']='legacyRouter'
-
-        if 'Host' == node:
-            self.hostCount += 1
-            name = self.nodePrefixes[ node ] + str( self.hostCount )
-            self.hostOpts[name] = {'sched':'host'}
-            self.hostOpts[name]['nodeNum']=self.hostCount
-            self.hostOpts[name]['hostname']=name
-
-        icon = self.nodeIcon( node, name )
-        item = self.canvas.create_window( x, y, anchor='c', window=icon,
-                                          tags=node )
-        self.widgetToItem[ icon ] = item
-        self.itemToWidget[ item ] = icon
-        self.selectItem( item )
-        icon.links = {}
-        if 'LegacyRouter' == node:
-            icon.bind('<Button-3>', self.do_legacyRouterPopup )
-        if 'Host' == node:
-            icon.bind('<Button-3>', self.do_hostPopup )
-
-    def clickHost( self, event ):
-        "Add a new host to our canvas."
-        self.newNode( 'Host', event )
-
-    def clickLegacyRouter( self, event ):
-        "Add a new router to our canvas."
-        self.newNode( 'LegacyRouter', event )
-
-    def dragNetLink( self, event ):
-        "Drag a link's endpoint to another node."
-        if self.link is None:
-            return
-        # Since drag starts in widget, we use root coords
-        x = self.canvasx( event.x_root )
-        y = self.canvasy( event.y_root )
-        c = self.canvas
-        c.coords( self.link, self.linkx, self.linky, x, y )
-
-    def releaseNetLink( self, _event ):
-        "Give up on the current link."
-        if self.link is not None:
-            self.canvas.delete( self.link )
-        self.linkWidget = self.linkItem = self.link = None
-
-    # Generic node handlers
-
-    def createNodeBindings( self ):
-        "Create a set of bindings for nodes."
-        bindings = {
-            '<ButtonPress-1>': self.clickNode,
-            '<B1-Motion>': self.dragNode,
-            '<ButtonRelease-1>': self.releaseNode,
-            '<Enter>': self.enterNode,
-            '<Leave>': self.leaveNode
-        }
-        l = Label()  # lightweight-ish owner for bindings
-        for event, binding in bindings.items():
-            l.bind( event, binding )
-        return l
-
-    def selectItem( self, item ):
-        "Select an item and remember old selection."
-        self.lastSelection = self.selection
-        self.selection = item
-
-    def enterNode( self, event ):
-        "Select node on entry."
-        self.selectNode( event )
-
-    def leaveNode( self, _event ):
-        "Restore old selection on exit."
-        self.selectItem( self.lastSelection )
-
-    def clickNode( self, event ):
-        "Node click handler."
-        if self.active is 'NetLink':
-            self.startLink( event )
-        else:
-            self.selectNode( event )
-        return 'break'
-
-    def dragNode( self, event ):
-        "Node drag handler."
-        if self.active is 'NetLink':
-            self.dragNetLink( event )
-        else:
-            self.dragNodeAround( event )
-
-    def releaseNode( self, event ):
-        "Node release handler."
-        if self.active is 'NetLink':
-            self.finishLink( event )
-
-    # Specific node handlers
-
-    def selectNode( self, event ):
-        "Select the node that was clicked on."
-        item = self.widgetToItem.get( event.widget, None )
-        self.selectItem( item )
-
-    def dragNodeAround( self, event ):
-        "Drag a node around on the canvas."
-        c = self.canvas
-        # Convert global to local coordinates;
-        # Necessary since x, y are widget-relative
-        x = self.canvasx( event.x_root )
-        y = self.canvasy( event.y_root )
-        w = event.widget
-        # Adjust node position
-        item = self.widgetToItem[ w ]
-        c.coords( item, x, y )
-        # Adjust link positions
-        for dest in w.links:
-            link = w.links[ dest ]
-            item = self.widgetToItem[ dest ]
-            x1, y1 = c.coords( item )
-            c.coords( link, x, y, x1, y1 )
-        self.updateScrollRegion()
-
-    def createDataLinkBindings( self ):
-        "Create a set of bindings for nodes."
-        # Link bindings
-        # Selection still needs a bit of work overall
-        # Callbacks ignore event
-
-        def select( _event, link=self.link ):
-            "Select item on mouse entry."
-            self.selectItem( link )
-
-        def highlight( _event, link=self.link ):
-            "Highlight item on mouse entry."
-            self.selectItem( link )
-            self.canvas.itemconfig( link, fill='green' )
-
-        def unhighlight( _event, link=self.link ):
-            "Unhighlight item on mouse exit."
-            self.canvas.itemconfig( link, fill='blue' )
-            #self.selectItem( None )
-
-        self.canvas.tag_bind( self.link, '<Enter>', highlight )
-        self.canvas.tag_bind( self.link, '<Leave>', unhighlight )
-        self.canvas.tag_bind( self.link, '<ButtonPress-1>', select )
-        self.canvas.tag_bind( self.link, '<Button-3>', self.do_linkPopup )
-
-    def startLink( self, event ):
-        "Start a new link."
-        if event.widget not in self.widgetToItem:
-            # Didn't click on a node
-            return
-
-        w = event.widget
-        item = self.widgetToItem[ w ]
-        x, y = self.canvas.coords( item )
-        self.link = self.canvas.create_line( x, y, x, y, width=4,
-                                             fill='blue', tag='link' )
-        self.linkx, self.linky = x, y
-        self.linkWidget = w
-        self.linkItem = item
-
-    def finishLink( self, event ):
-        "Finish creating a link"
-        if self.link is None:
-            return
-        source = self.linkWidget
-        c = self.canvas
-        # Since we dragged from the widget, use root coords
-        x, y = self.canvasx( event.x_root ), self.canvasy( event.y_root )
-        target = self.findItem( x, y )
-        dest = self.itemToWidget.get( target, None )
-        if ( source is None or dest is None or source == dest
-                or dest in source.links or source in dest.links ):
-            self.releaseNetLink( event )
-            return
-        # For now, don't allow hosts to be directly linked
-        stags = self.canvas.gettags( self.widgetToItem[ source ] )
-        dtags = self.canvas.gettags( target )
-        if (('Host' in stags and 'Host' in dtags)):
-            self.releaseNetLink( event )
-            return
-
-        # Set link type
-        linkType='data'
-	
-	self.createDataLinkBindings()
-        c.itemconfig(self.link, tags=c.gettags(self.link)+(linkType,))
-
-        x, y = c.coords( target )
-        c.coords( self.link, self.linkx, self.linky, x, y )
-        self.addLink( source, dest, linktype=linkType )
-        
-        # We're done
-        self.link = self.linkWidget = None
-
-    # Menu handlers
-
-    def about( self ):
-        "Display about box."
-        about = self.aboutBox
-        if about is None:
-            bg = 'white'
-            about = Toplevel( bg='white' )
-            about.title( 'About' )
-            info = self.appName + ': a simple network editor for MiniCCNx - based on Miniedit'
-	    warning = 'Development version - not entirely functional!'
-            #version = 'MiniEdit '+MINIEDIT_VERSION
-	    author = 'Carlos Cabral, Jan 2013'
-	    author2 = 'Caio Elias, Nov 2014'
-            author3 = 'Originally by: Bob Lantz <rlantz@cs>, April 2010'
-            enhancements = 'Enhancements by: Gregory Gee, Since July 2013'
-            www = 'http://gregorygee.wordpress.com/category/miniedit/'
-            line1 = Label( about, text=info, font='Helvetica 10 bold', bg=bg )
-            line2 = Label( about, text=warning, font='Helvetica 9', bg=bg )
-            line3 = Label( about, text=author, font='Helvetica 9', bg=bg )
-	    line4 = Label( about, text=author2, font='Helvetica 9', bg=bg )
-	    line5 = Label( about, text=author3, font='Helvetica 9', bg=bg )
-            line6 = Label( about, text=enhancements, font='Helvetica 9', bg=bg )
-            line7 = Entry( about, font='Helvetica 9', bg=bg, width=len(www), justify=CENTER )
-	    
-
-            line7.insert(0, www)
-            line7.configure(state='readonly')
-            line1.pack( padx=20, pady=10 )
-            line2.pack(pady=10 )
-            line3.pack(pady=10 )
-            line4.pack(pady=10 )
-            line5.pack(pady=10 )
-	    line6.pack(pady=10 )
-	    line7.pack(pady=10 )
-            hide = ( lambda about=about: about.withdraw() )
-            self.aboutBox = about
-            # Hide on close rather than destroying window
-            Wm.wm_protocol( about, name='WM_DELETE_WINDOW', func=hide )
-        # Show (existing) window
-        about.deiconify()
-
-    def createToolImages( self ):
-        "Create toolbar (and icon) images."
-
-    def hostDetails( self, _ignore=None ):
-        if ( self.selection is None or
-             self.net is not None or
-             self.selection not in self.itemToWidget ):
-            return
-        widget = self.itemToWidget[ self.selection ]
-        name = widget[ 'text' ]
-        tags = self.canvas.gettags( self.selection )
-
-	#print tags
-        if 'Host' in tags:
-
-        	prefDefaults = self.hostOpts[name]
-        	hostBox = HostDialog(self, title='Host Details', prefDefaults=prefDefaults, isRouter='False')
-        	self.master.wait_window(hostBox.top)
-        	if hostBox.result:
-		    newHostOpts = {'nodeNum':self.hostOpts[name]['nodeNum']}
-
-		    if len(hostBox.result['startCommand']) > 0:
-		        newHostOpts['startCommand'] = hostBox.result['startCommand']
-		    if hostBox.result['cpu']:
-		        newHostOpts['cpu'] = hostBox.result['cpu']
-		    if hostBox.result['mem']:
-		        newHostOpts['mem'] = hostBox.result['mem']
-		    if len(hostBox.result['hostname']) > 0:
-		        newHostOpts['hostname'] = hostBox.result['hostname']
-		        name = hostBox.result['hostname']
-		        widget[ 'text' ] = name
-		    if len(hostBox.result['cache']) > 0:
-		        newHostOpts['cache'] = hostBox.result['cache']
-		    if len(hostBox.result['fibEntries']) > 0:
-		        newHostOpts['fibEntries'] = hostBox.result['fibEntries']
-		    self.hostOpts[name] = newHostOpts
-
-		    print 'New host details for ' + name + ' = ' + str(newHostOpts)
-
-	elif 'LegacyRouter' in tags:
-
-		prefDefaults = self.routerOpts[name]
-        	hostBox = HostDialog(self, title='Router Details', prefDefaults=prefDefaults, isRouter='True')
-        	self.master.wait_window(hostBox.top)
-        	if hostBox.result:
-		    newRouterOpts = {'nodeNum':self.routerOpts[name]['nodeNum']}
-
-		    if hostBox.result['cpu']:
-		        newRouterOpts['cpu'] = hostBox.result['cpu']
-		    if hostBox.result['mem']:
-		        newRouterOpts['mem'] = hostBox.result['mem']
-		    if len(hostBox.result['hostname']) > 0:
-		        newRouterOpts['hostname'] = hostBox.result['hostname']
-		        name = hostBox.result['hostname']
-		        widget[ 'text' ] = name
-		    if len(hostBox.result['cache']) > 0:
-		        newRouterOpts['cache'] = hostBox.result['cache']
-		    if len(hostBox.result['fibEntries']) > 0:
-		        newRouterOpts['fibEntries'] = hostBox.result['fibEntries']
-		    self.routerOpts[name] = newRouterOpts
-
-		    print 'New host details for ' + name + ' = ' + str(newRouterOpts)
-
-    def linkDetails( self, _ignore=None ):
-        if ( self.selection is None or
-             self.net is not None):
-            return
-        link = self.selection
-
-        linkDetail =  self.links[link]
-        src = linkDetail['src']
-        dest = linkDetail['dest']
-        linkopts = linkDetail['linkOpts']
-        linkBox = LinkDialog(self, title='Link Details', linkDefaults=linkopts)
-        if linkBox.result is not None:
-            linkDetail['linkOpts'] = linkBox.result
-            print 'New link details = ' + str(linkBox.result)
-
-    # Model interface
-    #
-    # Ultimately we will either want to use a topo or
-    # mininet object here, probably.
-
-    def addLink( self, source, dest, linktype='data', linkopts={} ):
-        "Add link to model."
-        source.links[ dest ] = self.link
-        dest.links[ source ] = self.link
-        self.links[ self.link ] = {'type' :linktype,
-                                   'src':source,
-                                   'dest':dest,
-                                   'linkOpts':linkopts}
-
-    def deleteLink( self, link ):
-        "Delete link from model."
-        pair = self.links.get( link, None )
-        if pair is not None:
-            source=pair['src']
-            dest=pair['dest']
-            del source.links[ dest ]
-            del dest.links[ source ]
-            stags = self.canvas.gettags( self.widgetToItem[ source ] )
-            dtags = self.canvas.gettags( self.widgetToItem[ dest ] )
-            ltags = self.canvas.gettags( link )
-
-        if link is not None:
-            del self.links[ link ]
-
-    def deleteNode( self, item ):
-        "Delete node (and its links) from model."
-
-        widget = self.itemToWidget[ item ]
-        tags = self.canvas.gettags(item)
-            
-        for link in widget.links.values():
-            # Delete from view and model
-            self.deleteItem( link )
-        del self.itemToWidget[ item ]
-        del self.widgetToItem[ widget ]
-
-    def do_linkPopup(self, event):
-        # display the popup menu
-        if ( self.net is None ):
-            try:
-                self.linkPopup.tk_popup(event.x_root, event.y_root)
-            finally:
-                # make sure to release the grab (Tk 8.0a1 only)
-                self.linkPopup.grab_release()
-
-    def do_legacyRouterPopup(self, event):
-        # display the popup menu
-        if ( self.net is None ):
-            try:
-                self.legacyRouterPopup.tk_popup(event.x_root, event.y_root)
-            finally:
-                # make sure to release the grab (Tk 8.0a1 only)
-                self.legacyRouterPopup.grab_release()
-
-    def do_hostPopup(self, event):
-        # display the popup menu
-        if ( self.net is None ):
-		try:
-		    self.hostPopup.tk_popup(event.x_root, event.y_root)
-		    isHostPopup = True
-		finally:
-		    # make sure to release the grab (Tk 8.0a1 only)
-		    self.hostPopup.grab_release()
-
-    def xterm( self, _ignore=None ):
-        "Make an xterm when a button is pressed."
-        if ( self.selection is None or
-             self.net is None or
-             self.selection not in self.itemToWidget ):
-            return
-        name = self.itemToWidget[ self.selection ][ 'text' ]
-        if name not in self.net.nameToNode:
-            return
-        term = makeTerm( self.net.nameToNode[ name ], 'Host', term=self.appPrefs['terminalType'] )
-        if StrictVersion(MININET_VERSION) > StrictVersion('2.0'):
-            self.net.terms += term
-        else:
-            self.net.terms.append(term)
-
-    def iperf( self, _ignore=None ):
-        "Make an xterm when a button is pressed."
-        if ( self.selection is None or
-             self.net is None or
-             self.selection not in self.itemToWidget ):
-            return
-        name = self.itemToWidget[ self.selection ][ 'text' ]
-        if name not in self.net.nameToNode:
-            return
-        self.net.nameToNode[ name ].cmd( 'iperf -s -p 5001 &' )
-
-    """ BELOW HERE IS THE TOPOLOGY IMPORT CODE """
-
-    def parseArgs( self ):
-        """Parse command-line args and return options object.
-           returns: opts parse options dict"""
-
-        if '--custom' in sys.argv:
-            index = sys.argv.index( '--custom' )
-            if len( sys.argv ) > index + 1:
-                filename = sys.argv[ index + 1 ]
-                self.parseCustomFile( filename )
-            else:
-                raise Exception( 'Custom file name not found' )
-
-        desc = ( "The %prog utility creates Miniccnx network from the\n"
-                 "command line. It can create parametrized topologies,\n"
-                 "invoke the Miniccnx CLI, and run tests." )
-
-        usage = ( '%prog [options] [template_file]\n'
-		  '\nIf no template_file is given, generated template will be written to the file miniccnx.conf in the current directory.\n'
-                  'Type %prog -h for details)' )
-
-        opts = OptionParser( description=desc, usage=usage )
-
-        addDictOption( opts, TOPOS, TOPODEF, 'topo' )
-        addDictOption( opts, LINKS, LINKDEF, 'link' )
-
-        opts.add_option( '--custom', type='string', default=None,
-                         help='read custom topo and node params from .py' +
-                         'file' )
-
-        self.options, self.args = opts.parse_args()
-        # We don't accept extra arguments after the options
-        if self.args:
-	     if len(self.args) > 1:
-	     	opts.print_help()
-             	exit()
-	     else:
-	     	self.template_file=self.args[0]
-
-    def setCustom( self, name, value ):
-        "Set custom parameters for MininetRunner."
-        if name in ( 'topos', 'switches', 'hosts', 'controllers' ):
-            # Update dictionaries
-            param = name.upper()
-            globals()[ param ].update( value )
-        elif name == 'validate':
-            # Add custom validate function
-            self.validate = value
-        else:
-            # Add or modify global variable or class
-            globals()[ name ] = value
-
-    def parseCustomFile( self, fileName ):
-        "Parse custom file and add params before parsing cmd-line options."
-        customs = {}
-        if os.path.isfile( fileName ):
-            execfile( fileName, customs, customs )
-            for name, val in customs.iteritems():
-                self.setCustom( name, val )
-        else:
-            raise Exception( 'could not find custom file: %s' % fileName )
-
-    def importTopo( self ):
-        print 'topo='+self.options.topo
-        if self.options.topo == 'none':
-            return
-        self.newTopology()
-        topo = buildTopo( TOPOS, self.options.topo )
-        link = customConstructor( LINKS, self.options.link )
-        importNet = Mininet(topo=topo, build=False, link=link)
-        importNet.build()
-
-        c = self.canvas
-        rowIncrement = 100
-        currentY = 100
-
-        # Add switches
-        print 'switches:'+str(len(importNet.switches))
-        columnCount = 0
-        for switch in importNet.switches:
-            name = switch.name
-            self.switchOpts[name] = {}
-            self.switchOpts[name]['nodeNum']=self.switchCount
-            self.switchOpts[name]['hostname']=name
-            self.switchOpts[name]['switchType']='default'
-            self.switchOpts[name]['controllers']=[]
-
-            x = columnCount*100+100
-            self.addNode('Switch', self.switchCount,
-                 float(x), float(currentY), name=name)
-            icon = self.findWidgetByName(name)
-            icon.bind('<Button-3>', self.do_switchPopup )
-
-            if columnCount == 9:
-                columnCount = 0
-                currentY = currentY + rowIncrement
-            else:
-                columnCount =columnCount+1
-
-        currentY = currentY + rowIncrement
-        # Add hosts
-        print 'hosts:'+str(len(importNet.hosts))
-        columnCount = 0
-        for host in importNet.hosts:
-            name = host.name
-            self.hostOpts[name] = {'sched':'host'}
-            self.hostOpts[name]['nodeNum']=self.hostCount
-            self.hostOpts[name]['hostname']=name
-            #self.hostOpts[name]['ip']=host.IP()
-
-            x = columnCount*100+100
-            self.addNode('Host', self.hostCount,
-                 float(x), float(currentY), name=name)
-            icon = self.findWidgetByName(name)
-            icon.bind('<Button-3>', self.do_hostPopup )
-            if columnCount == 9:
-                columnCount = 0
-                currentY = currentY + rowIncrement
-            else:
-                columnCount =columnCount+1
-
-        print 'links:'+str(len(topo.links()))
-        #[('h1', 's3'), ('h2', 's4'), ('s3', 's4')]
-        for link in topo.links():
-            print str(link)
-            srcNode = link[0]
-            src = self.findWidgetByName(srcNode)
-            sx, sy = self.canvas.coords( self.widgetToItem[ src ] )
-
-            destNode = link[1]
-            dest = self.findWidgetByName(destNode)
-            dx, dy = self.canvas.coords( self.widgetToItem[ dest]  )
-
-            params = topo.linkInfo( srcNode, destNode )
-            print 'Link Parameters='+str(params)
-
-            self.link = self.canvas.create_line( sx, sy, dx, dy, width=4,
-                                             fill='blue', tag='link' )
-            c.itemconfig(self.link, tags=c.gettags(self.link)+('data',))
-            self.addLink( src, dest, linkopts=params )
-            self.createDataLinkBindings()
-            self.link = self.linkWidget = None
-
-        importNet.stop()
-
-def miniEditImages():
-    "Create and return images for MiniEdit."
-
-    # Image data. Git will be unhappy. However, the alternative
-    # is to keep track of separate binary files, which is also
-    # unappealing.
-
-    return {
-        'Select': BitmapImage(
-            file='/usr/include/X11/bitmaps/left_ptr' ),
-
-        'LegacyRouter': PhotoImage( data=r"""
-	    R0lGODlhMgAYAPcAAAEBAXZ8gQNAgL29vQNctjl/xVSa4j1dfCF+
-	    3QFq1DmL3wJMmAMzZZW11dnZ2SFrtyNdmTSO6gIZMUKa8gJVqEOH
-	    zR9Pf5W74wFjxgFx4jltn+np6Eyi+DuT6qKiohdtwwUPGWiq6ymF
-	    4LHH3Rh11CV81kKT5AMoUA9dq1ap/mV0gxdXlytRdR1ptRNPjTt9
-	    vwNgvwJZsX+69gsXJQFHjTtjizF0tvHx8VOm9z2V736Dhz2N3QM2
-	    acPZ70qe8gFo0HS19wVRnTiR6hMpP0eP1i6J5iNlqAtgtktjfQFu
-	    3TNxryx4xAMTIzOE1XqAh1uf5SWC4AcfNy1XgQJny93n8a2trRh3
-	    12Gt+VGm/AQIDTmByAF37QJasydzvxM/ayF3zhdLf8zLywFdu4i5
-	    6gFlyi2J4yV/1w8wUo2/8j+X8D2Q5Eee9jeR7Uia7DpeggFt2QNP
-	    m97e3jRong9bpziH2DuT7aipqQoVICmG45vI9R5720eT4Q1hs1er
-	    /yVVhwJJktPh70tfdbHP7Xev5xs5V7W1sz9jhz11rUVZcQ9WoCVV
-	    hQk7cRdtwWuw9QYOFyFHbSBnr0dznxtWkS18zKfP9wwcLAMHCwFF
-	    iS5UeqGtuRNNiwMfPS1hlQMtWRE5XzGM5yhxusLCwCljnwMdOFWh
-	    7cve8pG/7Tlxp+Tr8g9bpXF3f0lheStrrYu13QEXLS1ppTV3uUuR
-	    1RMjNTF3vU2X4TZupwRSolNne4nB+T+L2YGz4zJ/zYe99YGHjRdD
-	    cT95sx09XQldsgMLEwMrVc/X3yN3yQ1JhTRbggsdMQNfu9HPz6Wl
-	    pW2t7RctQ0GFyeHh4dvl8SBZklCb5kOO2kWR3Vmt/zdjkQIQHi90
-	    uvPz8wIVKBp42SV5zbfT7wtXpStVfwFWrBVvyTt3swFz5kGBv2+1
-	    /QlbrVFjdQM7d1+j54i67UmX51qn9i1vsy+D2TuR5zddhQsjOR1t
-	    u0GV6ghbsDVZf4+76RRisent8Xd9hQFBgwFNmwJLlcPDwwFr1z2T
-	    5yH5BAEAAAAALAAAAAAyABgABwj/AAEIHEiQYJY7Qwg9UsTplRIb
-	    ENuxEiXJgpcz8e5YKsixY8Essh7JcbbOBwcOa1JOmJAmTY4cHeoI
-	    abJrCShI0XyB8YRso0eOjoAdWpciBZajJ1GuWcnSZY46Ed5N8hPA
-	    TqEBoRB9gVJsxRlhPwHI0kDkVywcRpGe9LF0adOnMpt8CxDnxg1o
-	    9lphKoEACoIvmlxxvHOKVg0n/Tzku2WoVoU2J1P6WNkSrtwADuxC
-	    G/MOjwgRUEIjGG3FhaOBzaThiDSCil27G8Isc3LLjZwXsA6YYJmD
-	    jhTMmseoKQIFDx7RoxHo2abnwygAlUj1mV6tWjlelEpRwfd6gzI7
-	    VeJQ/2vZoVaDUqigqftXpH0R46H9Kl++zUo4JnKq9dGvv09RHFhc
-	    IUMe0NiFDyql0OJUHWywMc87TXRhhCRGiHAccvNZUR8JxpDTH38p
-	    9HEUFhxgMSAvjbBjQge8PSXEC6uo0IsHA6gAAShmgCbffNtsQwIJ
-	    ifhRHX/TpUUiSijlUk8AqgQixSwdNBjCa7CFoVggmEgCyRf01WcF
-	    CYvYUgB104k4YlK5HONEXXfpokYdMrXRAzMhmNINNNzB9p0T57Ag
-	    yZckpKKPGFNgw06ZWKR10jTw6MAmFWj4AJcQQkQQwSefvFeGCemM
-	    IQggeaJywSQ/wgHOAmJskQEfWqBlFBEH1P/QaGY3QOpDZXA2+A6m
-	    7hl3IRQKGDCIAj6iwE8yGKC6xbJv8IHNHgACQQybN2QiTi5NwdlB
-	    pZdiisd7vyanByOJ7CMGGRhgwE+qyy47DhnBPLDLEzLIAEQjBtCh
-	    RmVPNWgpr+Be+Nc9icARww9TkIEuDAsQ0O7DzGIQzD2QdDEJHTsI
-	    AROc3F7qWQncyHPPHN5QQAAG/vjzw8oKp8sPPxDH3O44/kwBQzLB
-	    xBCMOTzzHEMMBMBARgJvZJBBEm/4k0ACKydMBgwYoKNNEjJXbTXE
-	    42Q9jtFIp8z0Dy1jQMA1AGziz9VoW7310V0znYDTGMQgwUDXLDBO
-	    2nhvoTXbbyRk/XXL+pxWkAT8UJ331WsbnbTSK8MggDZhCTOMLQkc
-	    jvXeSPedAAw0nABWWARZIgEDfyTzxt15Z53BG1PEcEknrvgEelhZ
-	    MDHKCTwI8EcQFHBBAAFcgGPLHwLwcMIo12Qxu0ABAQA7
-            """),
-
-        'Host': PhotoImage( data=r"""
-            R0lGODlhIAAYAPcAMf//////zP//mf//Zv//M///AP/M///MzP/M
-            mf/MZv/MM//MAP+Z//+ZzP+Zmf+ZZv+ZM/+ZAP9m//9mzP9mmf9m
-            Zv9mM/9mAP8z//8zzP8zmf8zZv8zM/8zAP8A//8AzP8Amf8AZv8A
-            M/8AAMz//8z/zMz/mcz/Zsz/M8z/AMzM/8zMzMzMmczMZszMM8zM
-            AMyZ/8yZzMyZmcyZZsyZM8yZAMxm/8xmzMxmmcxmZsxmM8xmAMwz
-            /8wzzMwzmcwzZswzM8wzAMwA/8wAzMwAmcwAZswAM8wAAJn//5n/
-            zJn/mZn/Zpn/M5n/AJnM/5nMzJnMmZnMZpnMM5nMAJmZ/5mZzJmZ
-            mZmZZpmZM5mZAJlm/5lmzJlmmZlmZplmM5lmAJkz/5kzzJkzmZkz
-            ZpkzM5kzAJkA/5kAzJkAmZkAZpkAM5kAAGb//2b/zGb/mWb/Zmb/
-            M2b/AGbM/2bMzGbMmWbMZmbMM2bMAGaZ/2aZzGaZmWaZZmaZM2aZ
-            AGZm/2ZmzGZmmWZmZmZmM2ZmAGYz/2YzzGYzmWYzZmYzM2YzAGYA
-            /2YAzGYAmWYAZmYAM2YAADP//zP/zDP/mTP/ZjP/MzP/ADPM/zPM
-            zDPMmTPMZjPMMzPMADOZ/zOZzDOZmTOZZjOZMzOZADNm/zNmzDNm
-            mTNmZjNmMzNmADMz/zMzzDMzmTMzZjMzMzMzADMA/zMAzDMAmTMA
-            ZjMAMzMAAAD//wD/zAD/mQD/ZgD/MwD/AADM/wDMzADMmQDMZgDM
-            MwDMAACZ/wCZzACZmQCZZgCZMwCZAABm/wBmzABmmQBmZgBmMwBm
-            AAAz/wAzzAAzmQAzZgAzMwAzAAAA/wAAzAAAmQAAZgAAM+4AAN0A
-            ALsAAKoAAIgAAHcAAFUAAEQAACIAABEAAADuAADdAAC7AACqAACI
-            AAB3AABVAABEAAAiAAARAAAA7gAA3QAAuwAAqgAAiAAAdwAAVQAA
-            RAAAIgAAEe7u7t3d3bu7u6qqqoiIiHd3d1VVVURERCIiIhEREQAA
-            ACH5BAEAAAAALAAAAAAgABgAAAiNAAH8G0iwoMGDCAcKTMiw4UBw
-            BPXVm0ixosWLFvVBHFjPoUeC9Tb+6/jRY0iQ/8iVbHiS40CVKxG2
-            HEkQZsyCM0mmvGkw50uePUV2tEnOZkyfQA8iTYpTKNOgKJ+C3AhO
-            p9SWVaVOfWj1KdauTL9q5UgVbFKsEjGqXVtP40NwcBnCjXtw7tx/
-            C8cSBBAQADs=
-        """ ),
-
-        'NetLink': PhotoImage( data=r"""
-            R0lGODlhFgAWAPcAMf//////zP//mf//Zv//M///AP/M///MzP/M
-            mf/MZv/MM//MAP+Z//+ZzP+Zmf+ZZv+ZM/+ZAP9m//9mzP9mmf9m
-            Zv9mM/9mAP8z//8zzP8zmf8zZv8zM/8zAP8A//8AzP8Amf8AZv8A
-            M/8AAMz//8z/zMz/mcz/Zsz/M8z/AMzM/8zMzMzMmczMZszMM8zM
-            AMyZ/8yZzMyZmcyZZsyZM8yZAMxm/8xmzMxmmcxmZsxmM8xmAMwz
-            /8wzzMwzmcwzZswzM8wzAMwA/8wAzMwAmcwAZswAM8wAAJn//5n/
-            zJn/mZn/Zpn/M5n/AJnM/5nMzJnMmZnMZpnMM5nMAJmZ/5mZzJmZ
-            mZmZZpmZM5mZAJlm/5lmzJlmmZlmZplmM5lmAJkz/5kzzJkzmZkz
-            ZpkzM5kzAJkA/5kAzJkAmZkAZpkAM5kAAGb//2b/zGb/mWb/Zmb/
-            M2b/AGbM/2bMzGbMmWbMZmbMM2bMAGaZ/2aZzGaZmWaZZmaZM2aZ
-            AGZm/2ZmzGZmmWZmZmZmM2ZmAGYz/2YzzGYzmWYzZmYzM2YzAGYA
-            /2YAzGYAmWYAZmYAM2YAADP//zP/zDP/mTP/ZjP/MzP/ADPM/zPM
-            zDPMmTPMZjPMMzPMADOZ/zOZzDOZmTOZZjOZMzOZADNm/zNmzDNm
-            mTNmZjNmMzNmADMz/zMzzDMzmTMzZjMzMzMzADMA/zMAzDMAmTMA
-            ZjMAMzMAAAD//wD/zAD/mQD/ZgD/MwD/AADM/wDMzADMmQDMZgDM
-            MwDMAACZ/wCZzACZmQCZZgCZMwCZAABm/wBmzABmmQBmZgBmMwBm
-            AAAz/wAzzAAzmQAzZgAzMwAzAAAA/wAAzAAAmQAAZgAAM+4AAN0A
-            ALsAAKoAAIgAAHcAAFUAAEQAACIAABEAAADuAADdAAC7AACqAACI
-            AAB3AABVAABEAAAiAAARAAAA7gAA3QAAuwAAqgAAiAAAdwAAVQAA
-            RAAAIgAAEe7u7t3d3bu7u6qqqoiIiHd3d1VVVURERCIiIhEREQAA
-            ACH5BAEAAAAALAAAAAAWABYAAAhIAAEIHEiwoEGBrhIeXEgwoUKG
-            Cx0+hGhQoiuKBy1irChxY0GNHgeCDAlgZEiTHlFuVImRJUWXEGEy
-            lBmxI8mSNknm1Dnx5sCAADs=
-        """ )
-    }
-
-def addDictOption( opts, choicesDict, default, name, helpStr=None ):
-    """Convenience function to add choices dicts to OptionParser.
-       opts: OptionParser instance
-       choicesDict: dictionary of valid choices, must include default
-       default: default choice key
-       name: long option name
-       help: string"""
-    if default not in choicesDict:
-        raise Exception( 'Invalid  default %s for choices dict: %s' %
-                         ( default, name ) )
-    if not helpStr:
-        helpStr = ( '|'.join( sorted( choicesDict.keys() ) ) +
-                    '[,param=value...]' )
-    opts.add_option( '--' + name,
-                     type='string',
-                     default = default,
-                     help = helpStr )
-
-if __name__ == '__main__':
-    setLogLevel( 'info' )
-    app = MiniEdit()
-    """ import topology if specified """
-    app.parseArgs()
-    app.importTopo()
-
-    global isHostPopup
-    global isRouterPopup
-    global isLinkPopup
-
-    app.mainloop()
diff --git a/bin/mn b/bin/mn
deleted file mode 100755
index 0fb5bae..0000000
--- a/bin/mn
+++ /dev/null
@@ -1,280 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Mininet runner
-author: Brandon Heller (brandonh@stanford.edu)
-
-To see options:
-  sudo mn -h
-
-Example to pull custom params (topo, switch, etc.) from a file:
-  sudo mn --custom ~/mininet/custom/custom_example.py
-"""
-
-from optparse import OptionParser
-import os
-import sys
-import time
-
-# Fix setuptools' evil madness, and open up (more?) security holes
-if 'PYTHONPATH' in os.environ:
-    sys.path = os.environ[ 'PYTHONPATH' ].split( ':' ) + sys.path
-
-from mininet.clean import cleanup
-from mininet.cli import CLI
-from mininet.log import lg, LEVELS, info
-from mininet.net import Mininet, MininetWithControlNet, VERSION
-from mininet.node import ( Host, CPULimitedHost, Controller, OVSController,
-                           NOX, RemoteController, UserSwitch, OVSKernelSwitch,
-                           OVSLegacyKernelSwitch )
-from mininet.link import Link, TCLink
-from mininet.topo import SingleSwitchTopo, LinearTopo, SingleSwitchReversedTopo
-from mininet.topolib import TreeTopo
-from mininet.util import custom, customConstructor
-from mininet.util import buildTopo
-
-
-# built in topologies, created only when run
-TOPODEF = 'minimal'
-TOPOS = { 'minimal': lambda: SingleSwitchTopo( k=2 ),
-          'linear': LinearTopo,
-          'reversed': SingleSwitchReversedTopo,
-          'single': SingleSwitchTopo,
-          'tree': TreeTopo }
-
-SWITCHDEF = 'ovsk'
-SWITCHES = { 'user': UserSwitch,
-             'ovsk': OVSKernelSwitch,
-             'ovsl': OVSLegacyKernelSwitch }
-
-HOSTDEF = 'proc'
-HOSTS = { 'proc': Host,
-          'rt': custom( CPULimitedHost, sched='rt' ),
-          'cfs': custom( CPULimitedHost, sched='cfs' ) }
-
-CONTROLLERDEF = 'ovsc'
-CONTROLLERS = { 'ref': Controller,
-                'ovsc': OVSController,
-                'nox': NOX,
-                'remote': RemoteController,
-                'none': lambda name: None }
-
-LINKDEF = 'default'
-LINKS = { 'default': Link,
-          'tc': TCLink }
-
-
-# optional tests to run
-TESTS = [ 'cli', 'build', 'pingall', 'pingpair', 'iperf', 'all', 'iperfudp',
-          'none' ]
-
-ALTSPELLING = { 'pingall': 'pingAll',
-                'pingpair': 'pingPair',
-                'iperfudp': 'iperfUdp',
-                'iperfUDP': 'iperfUdp',
-                'prefixlen': 'prefixLen' }
-
-
-def addDictOption( opts, choicesDict, default, name, helpStr=None ):
-    """Convenience function to add choices dicts to OptionParser.
-       opts: OptionParser instance
-       choicesDict: dictionary of valid choices, must include default
-       default: default choice key
-       name: long option name
-       help: string"""
-    if default not in choicesDict:
-        raise Exception( 'Invalid  default %s for choices dict: %s' %
-                         ( default, name ) )
-    if not helpStr:
-        helpStr = ( '|'.join( sorted( choicesDict.keys() ) ) +
-                    '[,param=value...]' )
-    opts.add_option( '--' + name,
-                     type='string',
-                     default = default,
-                     help = helpStr )
-
-
-def version( *_args ):
-    "Print Mininet version and exit"
-    print "%s" % VERSION
-    exit()
-
-class MininetRunner( object ):
-    "Build, setup, and run Mininet."
-
-    def __init__( self ):
-        "Init."
-        self.options = None
-        self.args = None  # May be used someday for more CLI scripts
-        self.validate = None
-
-        self.parseArgs()
-        self.setup()
-        self.begin()
-
-    def setCustom( self, name, value ):
-        "Set custom parameters for MininetRunner."
-        if name in ( 'topos', 'switches', 'hosts', 'controllers' ):
-            # Update dictionaries
-            param = name.upper()
-            globals()[ param ].update( value )
-        elif name == 'validate':
-            # Add custom validate function
-            self.validate = value
-        else:
-            # Add or modify global variable or class
-            globals()[ name ] = value
-
-    def parseCustomFile( self, fileName ):
-        "Parse custom file and add params before parsing cmd-line options."
-        customs = {}
-        if os.path.isfile( fileName ):
-            execfile( fileName, customs, customs )
-            for name, val in customs.iteritems():
-                self.setCustom( name, val )
-        else:
-            raise Exception( 'could not find custom file: %s' % fileName )
-
-    def parseArgs( self ):
-        """Parse command-line args and return options object.
-           returns: opts parse options dict"""
-        if '--custom' in sys.argv:
-            index = sys.argv.index( '--custom' )
-            if len( sys.argv ) > index + 1:
-                filename = sys.argv[ index + 1 ]
-                self.parseCustomFile( filename )
-            else:
-                raise Exception( 'Custom file name not found' )
-
-        desc = ( "The %prog utility creates Mininet network from the\n"
-                 "command line. It can create parametrized topologies,\n"
-                 "invoke the Mininet CLI, and run tests." )
-
-        usage = ( '%prog [options]\n'
-                  '(type %prog -h for details)' )
-
-        opts = OptionParser( description=desc, usage=usage )
-        addDictOption( opts, SWITCHES, SWITCHDEF, 'switch' )
-        addDictOption( opts, HOSTS, HOSTDEF, 'host' )
-        addDictOption( opts, CONTROLLERS, CONTROLLERDEF, 'controller' )
-        addDictOption( opts, LINKS, LINKDEF, 'link' )
-        addDictOption( opts, TOPOS, TOPODEF, 'topo' )
-
-        opts.add_option( '--clean', '-c', action='store_true',
-                         default=False, help='clean and exit' )
-        opts.add_option( '--custom', type='string', default=None,
-                         help='read custom topo and node params from .py' +
-                         'file' )
-        opts.add_option( '--test', type='choice', choices=TESTS,
-                         default=TESTS[ 0 ],
-                         help='|'.join( TESTS ) )
-        opts.add_option( '--xterms', '-x', action='store_true',
-                         default=False, help='spawn xterms for each node' )
-        opts.add_option( '--ipbase', '-i', type='string', default='10.0.0.0/8',
-                         help='base IP address for hosts' )
-        opts.add_option( '--mac', action='store_true',
-                         default=False, help='automatically set host MACs' )
-        opts.add_option( '--arp', action='store_true',
-                         default=False, help='set all-pairs ARP entries' )
-        opts.add_option( '--verbosity', '-v', type='choice',
-                         choices=LEVELS.keys(), default = 'info',
-                         help = '|'.join( LEVELS.keys() )  )
-        opts.add_option( '--innamespace', action='store_true',
-                         default=False, help='sw and ctrl in namespace?' )
-        opts.add_option( '--listenport', type='int', default=6634,
-                         help='base port for passive switch listening' )
-        opts.add_option( '--nolistenport', action='store_true',
-                         default=False, help="don't use passive listening " +
-                         "port")
-        opts.add_option( '--pre', type='string', default=None,
-                         help='CLI script to run before tests' )
-        opts.add_option( '--post', type='string', default=None,
-                         help='CLI script to run after tests' )
-        opts.add_option( '--prefixlen', type='int', default=8,
-                         help='prefix length (e.g. /8) for automatic '
-                         'network configuration' )
-        opts.add_option( '--pin', action='store_true',
-                         default=False, help="pin hosts to CPU cores "
-                         "(requires --host cfs or --host rt)" )
-        opts.add_option( '--version', action='callback', callback=version )
-
-        self.options, self.args = opts.parse_args()
-
-    def setup( self ):
-        "Setup and validate environment."
-
-        # set logging verbosity
-        if LEVELS[self.options.verbosity] > LEVELS['output']:
-            print ( '*** WARNING: selected verbosity level (%s) will hide CLI '
-                    'output!\n'
-                    'Please restart Mininet with -v [debug, info, output].'
-                    % self.options.verbosity )
-        lg.setLogLevel( self.options.verbosity )
-
-    def begin( self ):
-        "Create and run mininet."
-
-        if self.options.clean:
-            cleanup()
-            exit()
-
-        start = time.time()
-
-        topo = buildTopo( TOPOS, self.options.topo )
-        switch = customConstructor( SWITCHES, self.options.switch )
-        host = customConstructor( HOSTS, self.options.host )
-        controller = customConstructor( CONTROLLERS, self.options.controller )
-        link = customConstructor( LINKS, self.options.link )
-
-        if self.validate:
-            self.validate( self.options )
-
-        inNamespace = self.options.innamespace
-        Net = MininetWithControlNet if inNamespace else Mininet
-        ipBase = self.options.ipbase
-        xterms = self.options.xterms
-        mac = self.options.mac
-        arp = self.options.arp
-        pin = self.options.pin
-        listenPort = None
-        if not self.options.nolistenport:
-            listenPort = self.options.listenport
-        mn = Net( topo=topo,
-                  switch=switch, host=host, controller=controller,
-                  link=link,
-                  ipBase=ipBase,
-                  inNamespace=inNamespace,
-                  xterms=xterms, autoSetMacs=mac,
-                  autoStaticArp=arp, autoPinCpus=pin,
-                  listenPort=listenPort )
-
-        if self.options.pre:
-            CLI( mn, script=self.options.pre )
-
-        test = self.options.test
-        test = ALTSPELLING.get( test, test )
-
-        mn.start()
-
-        if test == 'none':
-            pass
-        elif test == 'all':
-            mn.start()
-            mn.ping()
-            mn.iperf()
-        elif test == 'cli':
-            CLI( mn )
-        elif test != 'build':
-            getattr( mn, test )()
-
-        if self.options.post:
-            CLI( mn, script=self.options.post )
-
-        mn.stop()
-
-        elapsed = float( time.time() - start )
-        info( 'completed in %0.3f seconds\n' % elapsed )
-
-
-if __name__ == "__main__":
-    MininetRunner()
diff --git a/custom/README b/custom/README
deleted file mode 100644
index 68f0ce6..0000000
--- a/custom/README
+++ /dev/null
@@ -1,6 +0,0 @@
-This directory should hold configuration files for custom mininets.
-
-See custom_example.py, which loads the default minimal topology.  The advantage of defining a mininet in a separate file is that you then use the --custom option in mn to run the CLI or specific tests with it.
-
-To start up a mininet with the provided custom topology, do:
-  sudo mn --custom custom_example.py --topo mytopo
diff --git a/custom/carlos-topo.py b/custom/carlos-topo.py
deleted file mode 100644
index 07a167f..0000000
--- a/custom/carlos-topo.py
+++ /dev/null
@@ -1,43 +0,0 @@
-"""Custom topology example
-
-Two directly connected switches plus a host for each switch:
-
-   host --- switch --- switch --- host
-
-Adding the 'topos' dict with a key/value pair to generate our newly defined
-topology enables one to pass in '--topo=mytopo' from the command line.
-"""
-
-from mininet.topo import Topo
-
-class MyTopo( Topo ):
-    "Simple topology example."
-
-    def __init__( self ):
-        "Create custom topo."
-
-        # Initialize topology
-        Topo.__init__( self )
-
-        # Add hosts and switches
-        client = self.addHost( 'h1' )
-	client.setIP('1.0.0.1')
-        router = self.addHost( 'h2' )
-	client.setIP('1.0.1.1',intf='h1-eth0')
-	client.setIP('2.0.1.2',intf='h1-eth1')
-	server = self.addHost( 'h3' )
-	client.setIP('2.0.0.1')
-
-        #leftSwitch = self.addSwitch( 's3' )
-        #rightSwitch = self.addSwitch( 's4' )
-
-        # Add links
-        #self.addLink( leftHost, leftSwitch )
-	#self.addLink( leftHost, rightSwitch)
-        #self.addLink( leftSwitch, rightSwitch )
-        #self.addLink( rightSwitch, rightHost )
-	self.addLink( client, router )
-	self.addLink( server, router )
-
-
-topos = { 'mytopo': ( lambda: MyTopo() ) }
diff --git a/custom/topo-2sw-2host.py b/custom/topo-2sw-2host.py
deleted file mode 100644
index 6f8638e..0000000
--- a/custom/topo-2sw-2host.py
+++ /dev/null
@@ -1,34 +0,0 @@
-"""Custom topology example
-
-Two directly connected switches plus a host for each switch:
-
-   host --- switch --- switch --- host
-
-Adding the 'topos' dict with a key/value pair to generate our newly defined
-topology enables one to pass in '--topo=mytopo' from the command line.
-"""
-
-from mininet.topo import Topo
-
-class MyTopo( Topo ):
-    "Simple topology example."
-
-    def __init__( self ):
-        "Create custom topo."
-
-        # Initialize topology
-        Topo.__init__( self )
-
-        # Add hosts and switches
-        leftHost = self.addHost( 'h1' )
-        rightHost = self.addHost( 'h2' )
-        leftSwitch = self.addSwitch( 's3' )
-        rightSwitch = self.addSwitch( 's4' )
-
-        # Add links
-        self.addLink( leftHost, leftSwitch )
-        self.addLink( leftSwitch, rightSwitch )
-        self.addLink( rightSwitch, rightHost )
-
-
-topos = { 'mytopo': ( lambda: MyTopo() ) }
diff --git a/ospfn/NDN Testbed.kml b/ospfn/NDN Testbed.kml
deleted file mode 100644
index 203442c..0000000
--- a/ospfn/NDN Testbed.kml
+++ /dev/null
@@ -1,1387 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
-<Document>
-	<name>NDN Testbed</name>
-	<StyleMap id="inline">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline13</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline94</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline0">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline1">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline2">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline3">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style7">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline4">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline5">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline6">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline7">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline8">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline9">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline10">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style16">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline11">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline12">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline70</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline80</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline13">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline14">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline82</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline8</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline15">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline16">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline17">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style3">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<StyleMap id="inline18">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline23</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline77</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="style14">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline19">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline20">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline2</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline16</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline21">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline22">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline5</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline88</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline23">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline24">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline25">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline56</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline92</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline26">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style4">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<StyleMap id="inline27">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline65</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline86</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline28">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline29">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline74</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline55</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="style10">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="style11">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<StyleMap id="inline30">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline78</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline61</styleUrl>
-		</Pair>
-	</StyleMap>
-	<StyleMap id="inline31">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline59</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline24</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline32">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline33">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline34">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline52</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline73</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline35">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline36">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline37">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style9">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline38">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline39">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline40">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style2">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="style17">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline41">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline42">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline46</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline50</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline43">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline44">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline32</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline103</styleUrl>
-		</Pair>
-	</StyleMap>
-	<StyleMap id="inline45">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline91</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline17</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="style6">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline46">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline47">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline48">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline7</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline79</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline49">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline50">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline51">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline90</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline0</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline52">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline53">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline21</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline19</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline54">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline55">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style8">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline56">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline57">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline60</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline10</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline58">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline59">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline60">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style12">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline61">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline62">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline35</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline64</styleUrl>
-		</Pair>
-	</StyleMap>
-	<StyleMap id="inline63">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline54</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline11</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline64">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline65">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style15">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline66">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline67">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline58</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline76</styleUrl>
-		</Pair>
-	</StyleMap>
-	<StyleMap id="inline68">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline38</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline28</styleUrl>
-		</Pair>
-	</StyleMap>
-	<StyleMap id="inline69">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline49</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline98</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline70">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline71">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline95</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline41</styleUrl>
-		</Pair>
-	</StyleMap>
-	<StyleMap id="inline72">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline39</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline3</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline73">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline74">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style1">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<StyleMap id="inline75">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline84</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline96</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline76">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline77">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline78">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline79">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline80">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline81">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline82">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline83">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline6</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline26</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline84">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline85">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="style13">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<Style id="inline86">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline87">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline66</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline81</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline88">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline89">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline90">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline91">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline92">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline93">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline43</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline4</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline94">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline95">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Style id="inline96">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline97">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline85</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline47</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline98">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<StyleMap id="inline99">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline9</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline89</styleUrl>
-		</Pair>
-	</StyleMap>
-	<StyleMap id="inline100">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline36</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline15</styleUrl>
-		</Pair>
-	</StyleMap>
-	<StyleMap id="inline101">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline33</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline37</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="style5">
-		<IconStyle>
-			<Icon>
-				<href>http://maps.gstatic.com/mapfiles/ms2/micons/blue-dot.png</href>
-			</Icon>
-		</IconStyle>
-	</Style>
-	<StyleMap id="inline102">
-		<Pair>
-			<key>normal</key>
-			<styleUrl>#inline1</styleUrl>
-		</Pair>
-		<Pair>
-			<key>highlight</key>
-			<styleUrl>#inline40</styleUrl>
-		</Pair>
-	</StyleMap>
-	<Style id="inline103">
-		<LineStyle>
-			<color>ff0000ff</color>
-			<width>2</width>
-		</LineStyle>
-	</Style>
-	<Placemark>
-		<name>spp-wash:neu</name>
-		<styleUrl>#inline57</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-77.0351962789041,38.89355915892995,6.286915479119226 -71.08932466870712,42.33945216177298,5.298561176154728 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp-atla:spp-wash</name>
-		<styleUrl>#inline53</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-84.38707672015283,33.74428091260496,312.2150235432476 -77.0373963019953,38.89169242115599,68.77555307412139 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>uiuc:neu</name>
-		<styleUrl>#inline68</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-88.23453219521171,40.08552214302232,222.3112143080591 -71.12021668531591,42.32889217642497,7.667427391210504 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>um:spp-atla</name>
-		<styleUrl>#inline48</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-89.94151548236987,35.11421818857127,86.71365268262211 -84.43945037063854,33.70054946385193,308.4065029471537 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>um:neu</name>
-		<styleUrl>#inline87</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-89.94071969269582,35.11602554844325,93.12590937831966 -71.10138814458209,42.33282251251992,5.677025944950811 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>washu:uiuc</name>
-		<styleUrl>#inline25</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-90.3019551255301,38.64766029499769,151.7930585919139 -88.23273254858323,40.08757570790794,222.6673833132559 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>whasu:um</name>
-		<styleUrl>#inline75</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-89.94111983331238,35.11563024754825,92.2866301984144 -90.30252207361144,38.64717597860027,155.4791831015957 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp-hous:spp-atla</name>
-		<styleUrl>#inline69</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-95.3712565367793,29.75857515541838,14.65019607135557 -84.38987630562976,33.74725687487077,317.2632275888314 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp-kans:uiuc</name>
-		<styleUrl>#inline42</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-94.57850233067749,39.09844467148834,250.9698519551797 -88.23245132235624,40.08762368842777,219.352821750666 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp-kans:spp-wash</name>
-		<styleUrl>#inline45</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-94.57943788601482,39.09826601743211,273.3459492061655 -77.03802743471795,38.89398748132508,5.791405634479879 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp-kans:washu</name>
-		<styleUrl>#inline100</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-94.5792729338142,39.09844276706531,265.9302658066846 -90.30199833647895,38.64763414187772,151.5785495879082 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp-kans:spp-atla</name>
-		<styleUrl>#inline22</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-94.57954196024892,39.09855144358256,265.7704212697216 -84.38983200432291,33.74727571486449,311.3662270958762 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp-kans:spp-hous</name>
-		<styleUrl>#inline14</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-94.57927815654155,39.09875246671262,268.3788802545565 -95.37007288615649,29.75847588827946,13.5194328911787 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>csu:washu</name>
-		<styleUrl>#inline18</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-105.0787404411907,40.56911598979946,1524.303341313438 -90.30196635220791,38.6476535134279,152.6401806577502 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>csu:um</name>
-		<styleUrl>#inline71</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-105.078140714869,40.56961612911522,1525.279375105285 -89.94040323215431,35.11613398935153,93.04420805962997 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>ua:spp-hous</name>
-		<styleUrl>#inline93</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-110.9582060163944,32.22977822559954,736.2330008047713 -95.37014757271967,29.75843890696482,13.53724645091658 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>ua:um</name>
-		<styleUrl>#inline97</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-110.9577350852564,32.23101079730665,739.4968276169053 -89.94015994906228,35.11650353521963,92.36925205023091 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>ua:csu</name>
-		<styleUrl>#inline31</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-105.0776692813087,40.57019155521086,1526.030854928092 -110.9581187451631,32.23067421979356,738.8725172897811 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp-salt:csu</name>
-		<styleUrl>#inline63</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-111.8925281594117,40.75770023002554,1304.531976328895 -105.0780796695405,40.56939415069849,1524.82664692824 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp:salt-spp-kans</name>
-		<styleUrl>#inline12</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-111.893328128371,40.75740827637261,1297.848556795271 -94.57934839362927,39.09855032098844,266.2869903879557 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>spp-salt:spp-hous</name>
-		<styleUrl>#inline99</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-111.8918760848697,40.75856786744627,1298.836957098833 -95.37018633021539,29.75843099596923,14.510984838289 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>caida-ucsd:ua</name>
-		<styleUrl>#inline62</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-117.1876338985086,32.77160902948733,72.15938095758888 -110.9575748009736,32.23176564033071,740.1102044739318 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>uci:caida-ucsd</name>
-		<styleUrl>#inline</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-117.8424469322175,33.64844214857224,19.01477847073255 -117.187288829381,32.77150610138234,67.55093898763488 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>remap:uci</name>
-		<styleUrl>#inline101</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-118.4396180653448,34.07535089582008,142.9637192711749 -117.8428947272542,33.64833355754981,14.81711185798074 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>ucla:spp-salt</name>
-		<styleUrl>#inline30</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-118.4455694593792,34.06826097495284,112.9744795659523 -111.893827577001,40.75562571638292,1303.618369850314 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>ucla:csu</name>
-		<styleUrl>#inline20</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-118.4455958374922,34.06818195115108,112.4643014292514 -105.077612536882,40.57019705577519,1525.158522111549 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>ucla:ua</name>
-		<styleUrl>#inline34</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-118.44556255681,34.06808079105861,112.4065889471122 -110.9581422108386,32.22991337008364,734.9879479393751 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>ucla:uci</name>
-		<styleUrl>#inline67</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-118.4455195280505,34.06800482241495,111.9212282836942 -117.8426410303324,33.64818380776127,23.95856298932791 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>ucla:caida-ucsd</name>
-		<styleUrl>#inline29</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-118.4456519360387,34.06792678665325,111.5153253926207 -117.1877711527838,32.76962032083577,68.19993007077051 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>ucla:remap</name>
-		<styleUrl>#inline72</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-118.4455884607668,34.06796888521002,111.7458457189148 -118.439635441144,34.07520303533296,142.6657859179949 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>parc:uiuc</name>
-		<styleUrl>#inline83</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-122.1481441145024,37.40195350444811,62.67559747396429 -88.23257835324767,40.0876658688013,223.3842607984745 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>parc:csu</name>
-		<styleUrl>#inline51</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-122.1482893748443,37.40217093393014,59.83766381430213 -105.0776197218521,40.57020380487289,1525.162607078206 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>parc:remap</name>
-		<styleUrl>#inline102</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-122.1481440725852,37.40201299569676,59.03149391616439 -118.445704687809,34.06777761178643,111.3239666762324 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>parc:ucla</name>
-		<styleUrl>#inline44</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-122.1482820556799,37.40209769150846,62.21507562784606 -118.4394860956223,34.07608504163112,142.8653129107064 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>pku:ucla</name>
-		<styleUrl>#inline27</styleUrl>
-		<LineString>
-			<tessellate>1</tessellate>
-			<coordinates>
-				-118.439273142346,34.07609266391709,144.6673868067747 116.3059957195656,39.98758845350724,56.04695322462267 
-			</coordinates>
-		</LineString>
-	</Placemark>
-	<Placemark>
-		<name>University Of California, Los Angeles</name>
-		<visibility>0</visibility>
-		<styleUrl>#style10</styleUrl>
-		<Point>
-			<coordinates>-118.44548,34.068611,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>PARC, a Xerox company</name>
-		<visibility>0</visibility>
-		<styleUrl>#style7</styleUrl>
-		<Point>
-			<coordinates>-122.148224,37.402603,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>UCLA School of Theater, Film and Television</name>
-		<visibility>0</visibility>
-		<styleUrl>#style6</styleUrl>
-		<Point>
-			<coordinates>-118.439369,34.076385,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>University of California Irvine</name>
-		<visibility>0</visibility>
-		<styleUrl>#style13</styleUrl>
-		<Point>
-			<coordinates>-117.842545,33.64875,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>University of San Diego</name>
-		<visibility>0</visibility>
-		<styleUrl>#style12</styleUrl>
-		<Point>
-			<coordinates>-117.1875,32.771919,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>Salt Lake City, UT</name>
-		<visibility>0</visibility>
-		<description><![CDATA[<a href="https://maps.google.com/maps/place?ftid=0x87523d9488d131ed:0x5b53b7a0484d31ca&amp;q=Salt+Lake+City,+UT,+United+States&amp;hl=en&amp;authuser=0&amp;cd=1&amp;cad=src:ppiwlink&amp;ei=l043UciMM5PltgetxICIBQ&amp;sig2=-oknFSwkRBXmGD4fmSKkSg&amp;dtab=5" target="_blank"><img src="https://cbks0.google.com/cbk?output=thumbnail&amp;w=90&amp;h=68&amp;ll=40.760779,-111.891047&amp;thumb=0"></a>]]></description>
-		<styleUrl>#style16</styleUrl>
-		<Point>
-			<coordinates>-111.891045,40.76078,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>The University of Arizona</name>
-		<visibility>0</visibility>
-		<styleUrl>#style1</styleUrl>
-		<Point>
-			<coordinates>-110.957207,32.232323,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>Colorado State University</name>
-		<visibility>0</visibility>
-		<styleUrl>#style11</styleUrl>
-		<Point>
-			<coordinates>-105.077385,40.570847,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>Kansas City, MO</name>
-		<visibility>0</visibility>
-		<description><![CDATA[<a href="https://maps.google.com/maps/place?ftid=0x87c0f75eafe99997:0x558525e66aaa51a2&amp;q=Kansas+City,+MO,+United+States&amp;hl=en&amp;authuser=0&amp;cd=1&amp;cad=src:ppiwlink&amp;ei=FVE3UdT_GITHtwecqIHgCA&amp;sig2=9ptGPuI6cqIVFCdsWCWRgA&amp;dtab=5" target="_blank"><img src="https://cbks0.google.com/cbk?output=thumbnail&amp;w=90&amp;h=68&amp;ll=39.099726,-94.578567&amp;thumb=0"></a>]]></description>
-		<styleUrl>#style3</styleUrl>
-		<Point>
-			<coordinates>-94.578568,39.099728,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>Houston, TX</name>
-		<visibility>0</visibility>
-		<description><![CDATA[<a href="https://maps.google.com/maps/place?ftid=0x8640b8b4488d8501:0xca0d02def365053b&amp;q=Houston,+TX,+United+States&amp;hl=en&amp;authuser=0&amp;cd=1&amp;cad=src:ppiwlink&amp;ei=LlE3UZGmJoXhtge--YBg&amp;sig2=ACVaWLLE7UMcQcCppZFWiQ&amp;dtab=5" target="_blank"><img src="https://cbks0.google.com/cbk?output=thumbnail&amp;w=90&amp;h=68&amp;ll=29.760193,-95.369390&amp;thumb=0"></a>]]></description>
-		<styleUrl>#style17</styleUrl>
-		<Point>
-			<coordinates>-95.369392,29.760193,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>Washington University</name>
-		<visibility>0</visibility>
-		<description><![CDATA[Washington University<br>1 Brookings Dr, St. Louis, MO 63130<br>(314) 935-5484<br>]]></description>
-		<styleUrl>#style5</styleUrl>
-		<Point>
-			<coordinates>-90.301498,38.648087,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>University of Memphis</name>
-		<visibility>0</visibility>
-		<styleUrl>#style15</styleUrl>
-		<Point>
-			<coordinates>-89.93976600000001,35.117023,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>Atlanta, GA</name>
-		<visibility>0</visibility>
-		<description><![CDATA[<a href="https://maps.google.com/maps/place?ftid=0x88f5045d6993098d:0x66fede2f990b630b&amp;q=Atlanta,+GA,+United+States&amp;hl=en&amp;authuser=0&amp;cd=1&amp;cad=src:ppiwlink&amp;ei=9VE3UZKZL9Lwtge__oCIBw&amp;sig2=oyrSkrYNq8lBVt-JAxqwfg&amp;dtab=5" target="_blank"><img src="https://cbks0.google.com/cbk?output=thumbnail&amp;w=90&amp;h=68&amp;ll=33.748995,-84.387982&amp;thumb=0"></a>]]></description>
-		<styleUrl>#style2</styleUrl>
-		<Point>
-			<coordinates>-84.387985,33.748997,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>University of Illinois</name>
-		<visibility>0</visibility>
-		<styleUrl>#style9</styleUrl>
-		<Point>
-			<coordinates>-88.229996,40.091022,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>Washington, DC</name>
-		<visibility>0</visibility>
-		<description><![CDATA[<a href="https://maps.google.com/maps/place?ftid=0x89b7c6de5af6e45b:0xc2524522d4885d2a&amp;q=Washington,+DC,+United+States&amp;hl=en&amp;authuser=0&amp;cd=1&amp;cad=src:ppiwlink&amp;ei=WlI3UdGgG8Smtwefv4DwBA&amp;sig2=SdX2AvT-NdF_J97YtHtHhA&amp;dtab=5" target="_blank"><img src="https://cbks0.google.com/cbk?output=thumbnail&amp;w=90&amp;h=68&amp;ll=38.895112,-77.036366&amp;thumb=0"></a>]]></description>
-		<styleUrl>#style8</styleUrl>
-		<Point>
-			<coordinates>-77.03636899999999,38.895111,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>Northeastern University</name>
-		<visibility>0</visibility>
-		<styleUrl>#style14</styleUrl>
-		<Point>
-			<coordinates>-71.088905,42.340168,0</coordinates>
-		</Point>
-	</Placemark>
-	<Placemark>
-		<name>Peking University (Southwest Gate)</name>
-		<visibility>0</visibility>
-		<styleUrl>#style4</styleUrl>
-		<Point>
-			<coordinates>116.305611,39.987755,0</coordinates>
-		</Point>
-	</Placemark>
-</Document>
-</kml>
diff --git a/ospfn/caida-ucsd/ospfd.conf b/ospfn/caida-ucsd/ospfd.conf
deleted file mode 100644
index 44809b7..0000000
--- a/ospfn/caida-ucsd/ospfd.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-
-hostname caida-ucsd
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface caida-ucsd-eth0
-interface caida-ucsd-eth1
-interface caida-ucsd-eth2
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.1
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.8/30 area 0
- network 1.0.0.4/30 area 0
- network 1.0.0.0/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/caida-ucsd/ospfn-start.sh b/ospfn/caida-ucsd/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/caida-ucsd/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/caida-ucsd/ospfn.conf b/ospfn/caida-ucsd/ospfn.conf
deleted file mode 100644
index 9a76683..0000000
--- a/ospfn/caida-ucsd/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/caida.org/ 1
-logdir .
diff --git a/ospfn/caida-ucsd/routing.sh b/ospfn/caida-ucsd/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/caida-ucsd/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/caida-ucsd/zebra.conf b/ospfn/caida-ucsd/zebra.conf
deleted file mode 100644
index 7da96fa..0000000
--- a/ospfn/caida-ucsd/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname caida-ucsd
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/clean.sh b/ospfn/clean.sh
deleted file mode 100644
index b93c286..0000000
--- a/ospfn/clean.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-killall -r ccnd ospf zebra
-rm log*
-rm */*log
-rm -rf /var/run/quagga-state/*
diff --git a/ospfn/csu/ospfd.conf b/ospfn/csu/ospfd.conf
deleted file mode 100644
index a314c69..0000000
--- a/ospfn/csu/ospfd.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-
-hostname caida-ucsd
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface csu-eth0
-interface csu-eth1
-interface csu-eth2
-interface csu-eth3
-interface csu-eth4
-interface csu-eth5
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.2
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.12/30 area 0
- network 1.0.0.24/30 area 0
- network 1.0.0.16/30 area 0
- network 1.0.0.20/30 area 0
- network 1.0.0.28/30 area 0
- network 1.0.0.32/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/csu/ospfn-start.sh b/ospfn/csu/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/csu/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/csu/ospfn.conf b/ospfn/csu/ospfn.conf
deleted file mode 100644
index 3151d22..0000000
--- a/ospfn/csu/ospfn.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-ccnname /ndn/colostate.edu/netsec/ 1
-ccnname /ndn/opschat/ 2
-logdir .
diff --git a/ospfn/csu/routing.sh b/ospfn/csu/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/csu/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/csu/zebra.conf b/ospfn/csu/zebra.conf
deleted file mode 100644
index 73d08b1..0000000
--- a/ospfn/csu/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname csu
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/delay b/ospfn/delay
deleted file mode 100644
index ae60d8d..0000000
--- a/ospfn/delay
+++ /dev/null
@@ -1,35 +0,0 @@
-pku:ucla 10070	0.05035
-parc:ucla 499	0.002495
-parc:remap 499	0.002495
-parc:csu 1518	0.00759
-parc:uiuc 2946	0.01473
-ucla:remap 1	5e-06
-ucla:caida-ucsd 186	0.00093
-ucla:uci 72	0.00036
-ucla:ua 728	0.00364
-ucla:csu 1385	0.006925
-ucla:spp-salt 941	0.004705
-remap:uci 72	0.00036
-uci:caida-ucsd 115	0.000575
-caida-ucsd:ua 588	0.00294
-spp-salt:spp-hous 1931	0.009655
-spp-salt:spp-kans 1489	0.007445
-spp-salt:csu 577	0.002885
-ua:csu 1065	0.005325
-ua:um 1972	0.00986
-ua:spp-hous 1512	0.00756
-csu:um 1461	0.007305
-csu:washu 1285	0.006425
-spp-kans:spp-hous 1039	0.005195
-spp-kans:spp-atla 1089	0.005445
-spp-kans:washu 374	0.00187
-spp-kans:spp-wash 1517	0.007585
-spp-kans:uiuc 556	0.00278
-spp-hous:spp-atla 1130	0.00565
-washu:um 393	0.001965
-washu:uiuc 239	0.001195
-um:neu 1818	0.00909
-um:spp-atla 530	0.00265
-uiuc:neu 1454	0.00727
-spp-atla:spp-wash 872	0.00436
-spp-wash:neu 632	0.00316
diff --git a/ospfn/distance b/ospfn/distance
deleted file mode 100644
index e11157e..0000000
--- a/ospfn/distance
+++ /dev/null
@@ -1,35 +0,0 @@
-pku:ucla 10070
-parc:ucla 499
-parc:remap 499
-parc:csu 1518
-parc:uiuc 2946
-ucla:remap 1
-ucla:caida-ucsd 186
-ucla:uci 72
-ucla:ua 728
-ucla:csu 1385
-ucla:spp-salt 941
-remap:uci 72
-uci:caida-ucsd 115
-caida-ucsd:ua 588
-spp-salt:spp-hous 1931
-spp-salt:spp-kans 1489
-spp-salt:csu 577
-ua:csu 1065
-ua:um 1972
-ua:spp-hous 1512
-csu:um 1461
-csu:washu 1285
-spp-kans:spp-hous 1039
-spp-kans:spp-atla 1089
-spp-kans:washu 374
-spp-kans:spp-wash 1517
-spp-kans:uiuc 556
-spp-hous:spp-atla 1130
-washu:um 393
-washu:uiuc 239
-um:neu 1818
-um:spp-atla 530
-uiuc:neu 1454
-spp-atla:spp-wash 872
-spp-wash:neu 632
diff --git a/ospfn/dump.txt b/ospfn/dump.txt
deleted file mode 100644
index 78f5218..0000000
--- a/ospfn/dump.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-<CCNHost caida-ucsd: caida-ucsd-eth0:1.0.0.9,caida-ucsd-eth1:1.0.0.5,caida-ucsd-eth2:1.0.0.1 pid=7506> 
-
-<CCNHost csu: csu-eth0:1.0.0.13,csu-eth1:1.0.0.25,csu-eth2:1.0.0.17,csu-eth3:1.0.0.21,csu-eth4:1.0.0.29,csu-eth5:1.0.0.33 pid=7515> 
-
-<CCNHost neu: neu-eth0:1.0.0.45,neu-eth1:1.0.0.41,neu-eth2:1.0.0.37 pid=7523> 
-
-<CCNHost parc: parc-eth0:1.0.0.53,parc-eth1:1.0.0.49,parc-eth2:1.0.0.14,parc-eth3:1.0.0.57 pid=7531> 
-
-<CCNHost pku: pku-eth0:1.0.0.61 pid=7539> 
-
-<CCNHost remap: remap-eth0:1.0.0.50,remap-eth1:1.0.0.69,remap-eth2:1.0.0.65 pid=7547> 
-
-<CCNHost spp-atla: spp-atla-eth0:1.0.0.77,spp-atla-eth1:1.0.0.73,spp-atla-eth2:1.0.0.85,spp-atla-eth3:1.0.0.81 pid=7555> 
-
-<CCNHost spp-hous: spp-hous-eth0:1.0.0.93,spp-hous-eth1:1.0.0.97,spp-hous-eth2:1.0.0.89,spp-hous-eth3:1.0.0.74 pid=7563> 
-
-<CCNHost spp-kans: spp-kans-eth0:1.0.0.101,spp-kans-eth1:1.0.0.90,spp-kans-eth2:1.0.0.78,spp-kans-eth3:1.0.0.113,spp-kans-eth4:1.0.0.105,spp-kans-eth5:1.0.0.109 pid=7571> 
-
-<CCNHost spp-salt: spp-salt-eth0:1.0.0.117,spp-salt-eth1:1.0.0.94,spp-salt-eth2:1.0.0.102,spp-salt-eth3:1.0.0.18 pid=7579> 
-
-<CCNHost spp-wash: spp-wash-eth0:1.0.0.106,spp-wash-eth1:1.0.0.82,spp-wash-eth2:1.0.0.38 pid=7587> 
-
-<CCNHost ua: ua-eth0:1.0.0.121,ua-eth1:1.0.0.2,ua-eth2:1.0.0.22,ua-eth3:1.0.0.125,ua-eth4:1.0.0.98 pid=7595> 
-
-<CCNHost uci: uci-eth0:1.0.0.129,uci-eth1:1.0.0.66,uci-eth2:1.0.0.6 pid=7603> 
-
-<CCNHost ucla: ucla-eth0:1.0.0.62,ucla-eth1:1.0.0.54,ucla-eth2:1.0.0.70,ucla-eth3:1.0.0.10,ucla-eth4:1.0.0.130,ucla-eth5:1.0.0.122,ucla-eth6:1.0.0.26,ucla-eth7:1.0.0.118 pid=7611> 
-
-<CCNHost uiuc: uiuc-eth0:1.0.0.58,uiuc-eth1:1.0.0.110,uiuc-eth2:1.0.0.133,uiuc-eth3:1.0.0.42 pid=7619> 
-
-<CCNHost um: um-eth0:1.0.0.126,um-eth1:1.0.0.30,um-eth2:1.0.0.137,um-eth3:1.0.0.46,um-eth4:1.0.0.86 pid=7627> 
-
-<CCNHost washu: washu-eth0:1.0.0.34,washu-eth1:1.0.0.114,washu-eth2:1.0.0.138,washu-eth3:1.0.0.134 pid=7635>
diff --git a/ospfn/miniccnx.conf b/ospfn/miniccnx.conf
deleted file mode 100644
index b1c93f5..0000000
--- a/ospfn/miniccnx.conf
+++ /dev/null
@@ -1,54 +0,0 @@
-[nodes]
-pku: _ ccnx:/,ucla
-parc: _
-ucla: _
-remap: _
-uci: _
-caida-ucsd: _
-spp-salt: _
-ua: _
-csu: _
-spp-kans: _
-spp-hous: _
-washu: _
-um: _
-uiuc: _
-spp-atla: _
-spp-wash: _
-neu: _
-[links]
-pku:ucla bw=200 delay=50ms
-parc:ucla bw=200 delay=2ms
-parc:remap bw=200 delay=2ms
-parc:csu bw=200 delay=8ms
-parc:uiuc bw=200 delay=14ms
-ucla:remap bw=200
-ucla:caida-ucsd bw=200
-ucla:uci bw=200
-ucla:ua bw=200 delay=4ms
-ucla:csu bw=200 delay=7ms
-ucla:spp-salt bw=200 delay=5ms
-remap:uci bw=200
-uci:caida-ucsd bw=200 
-caida-ucsd:ua bw=200 delay=3ms
-spp-salt:spp-hous bw=200 delay=10ms
-spp-salt:spp-kans bw=200 delay=7ms
-spp-salt:csu bw=200 delay=3ms
-ua:csu bw=200 delay=5ms
-ua:um bw=200 delay=10ms
-ua:spp-hous bw=200 delay=7ms
-csu:um bw=200 delay=7ms
-csu:washu bw=200 delay=6ms
-spp-kans:spp-hous bw=200 delay=5ms
-spp-kans:spp-atla bw=200 delay=5ms
-spp-kans:washu bw=200 delay=2ms
-spp-kans:spp-wash bw=200 delay=7ms
-spp-kans:uiuc bw=200 delay=3ms
-spp-hous:spp-atla bw=200 delay=6ms
-washu:um bw=200 delay=2ms
-washu:uiuc bw=200 delay=1ms
-um:neu bw=200 delay=9ms
-um:spp-atla bw=200 delay=3ms
-uiuc:neu bw=200 delay=7ms
-spp-atla:spp-wash bw=200 delay=4ms
-spp-wash:neu bw=200 delay=3ms
diff --git a/ospfn/neu/ospfd.conf b/ospfn/neu/ospfd.conf
deleted file mode 100644
index 83fbfb2..0000000
--- a/ospfn/neu/ospfd.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-
-hostname caida-ucsd
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface neu-eth0
-interface neu-eth1
-interface neu-eth2
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.3
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.36/30 area 0
- network 1.0.0.40/30 area 0
- network 1.0.0.44/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/neu/ospfn-start.sh b/ospfn/neu/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/neu/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/neu/ospfn.conf b/ospfn/neu/ospfn.conf
deleted file mode 100644
index 47872c2..0000000
--- a/ospfn/neu/ospfn.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-ccnname /ndn/neu.edu/northpole/ 1
-ccnname /ndn/opschat/ 2
-logdir .
diff --git a/ospfn/neu/routing.sh b/ospfn/neu/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/neu/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/neu/zebra.conf b/ospfn/neu/zebra.conf
deleted file mode 100644
index 4ac4253..0000000
--- a/ospfn/neu/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname neu
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/ospfn-start.sh b/ospfn/ospfn-start.sh
deleted file mode 100644
index a829d92..0000000
--- a/ospfn/ospfn-start.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-ospfn -f ospfn.conf -d
-sleep 1
diff --git a/ospfn/parc/ospfd.conf b/ospfn/parc/ospfd.conf
deleted file mode 100644
index 9f1aabe..0000000
--- a/ospfn/parc/ospfd.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-
-hostname parc
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface parc-eth0
-interface parc-eth1
-interface parc-eth2
-interface parc-eth3
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.4
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.52/30 area 0
- network 1.0.0.48/30 area 0
- network 1.0.0.12/30 area 0
- network 1.0.0.56/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/parc/ospfn-start.sh b/ospfn/parc/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/parc/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/parc/ospfn.conf b/ospfn/parc/ospfn.conf
deleted file mode 100644
index d336afc..0000000
--- a/ospfn/parc/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/parc.com/ 1
-logdir .
diff --git a/ospfn/parc/routing.sh b/ospfn/parc/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/parc/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/parc/zebra.conf b/ospfn/parc/zebra.conf
deleted file mode 100644
index f87c306..0000000
--- a/ospfn/parc/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname parc
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/pku/log.pku b/ospfn/pku/log.pku
deleted file mode 100644
index e9394dc..0000000
--- a/ospfn/pku/log.pku
+++ /dev/null
@@ -1,74 +0,0 @@
-1362605134.590307 ccnd[2905]: CCND_DEBUG=6 CCND_CAP=50000
-1362605134.590760 ccnd[2905]: listening on /tmp/.sock.ccnx.pku
-1362605134.590988 ccnd[2905]: accepting ipv4 datagrams on fd 4 rcvbuf 229376
-1362605134.591188 ccnd[2905]: accepting ipv4 connections on fd 5
-1362605134.591385 ccnd[2905]: accepting ipv6 datagrams on fd 6 rcvbuf 229376
-1362605134.591574 ccnd[2905]: accepting ipv6 connections on fd 7
-1362605134.598531 ccnd[2905]: debug.2573 prefix,ff=3 0 ccnx:/ccnx/ping (16 bytes)
-1362605134.599086 ccnd[2905]: debug.2573 prefix,ff=3 0 ccnx:/%C1.M.S.localhost/%C1.M.SRV/ccnd (37 bytes)
-1362605134.599787 ccnd[2905]: debug.2573 prefix,ff=3 0 ccnx:/%C1.M.S.neighborhood (24 bytes)
-1362605134.600188 ccnd[2905]: debug.2573 prefix,ff=3 0 ccnx:/%C1.M.FACE (13 bytes)
-1362605134.600597 ccnd[2905]: debug.2573 prefix,ff=0x17 0 ccnx:/ccnx/H%1D%0E%AF%CE%91%2A%23%D6%1B%CD%D3-%DF%10%F4%03%0DC%E5%20%09%06%99%FD%90%D1%CD%EAn%EE%F0 (45 bytes)
-1362605134.600803 ccnd[2905]: debug.2573 prefix,ff=0x23 0 ccnx:/%C1.M.S.localhost (20 bytes)
-1362605134.601137 ccnd[2905]: accepted client fd=8 id=6
-1362605134.601375 ccnd[2905]: shutdown client fd=8 id=6
-1362605134.601757 ccnd[2905]: recycling face id 6 (slot 6)
-1362605138.427405 ccnd[2905]: accepted client fd=8 id=6
-1362605138.428146 ccnd[2905]: shutdown client fd=8 id=6
-1362605138.428927 ccnd[2905]: recycling face id 6 (slot 6)
-1362605147.034371 ccnd[2905]: accepted datagram client id=6 (flags=0x40012) 1.0.0.62 port 9695
-1362605147.034720 ccnd[2905]: debug.4238 interest_from 6 ccnx:/%C1.M.FACE (95 bytes,aok=0,scope=2) 481D0E-037B-0000-5B08-FA5CAB
-1362605147.035071 ccnd[2905]: debug.4238 interest_from 6 ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY (55 bytes,scope=2)
-1362605147.035454 ccnd[2905]: debug.3388 interest_to 0 ccnx:/%C1.M.FACE (95 bytes,aok=0,scope=2,i=1) 481D0E-037B-0000-5B08-FA5CAB
-1362605147.035738 ccnd[2905]: ic.1004 adjstate 6 .S.......... 0x60012
-1362605147.035967 ccnd[2905]: ic.687 adjstate 6 .S.......P.. 0x60012
-1362605147.036153 ccnd[2905]: ic.692 adjstate 6 .So......P.. 0x60012
-1362605147.036453 ccnd[2905]: debug.3388 interest_to 0 ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY (71 bytes,scope=2,i=2) 481D0E-0B59-0006-5B08-539692
-1362605147.042080 ccnd[2905]: debug.4238 interest_from 0 ccnx:/%C1.M.FACE/%C1.M.G%00%00%BE%92h%89P%1D%C7%C5%14%0D%A8Z/%C1.M.NODE (110 bytes,aok=0,scope=2)
-1362605147.042562 ccnd[2905]: debug.4524 content_from 0 ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY/%C1.M.K%00H%1D%0E%AF%CE%91%2A%23%D6%1B%CD%D3-%DF%10%F4%03%0DC%E5%20%09%06%99%FD%90%D1%CD%EAn%EE%F0/%FD%05%13%7BD%E9r/%00/%18%F6%14%F8%18%0C%CF%E1%D7%E54%06%87%FD%DB%BCy%5CC%C2%1DL%F9%1DSk%C9%E18%DAu%BC (617 bytes)
-1362605147.042950 ccnd[2905]: debug.3388 interest_to 6 ccnx:/%C1.M.FACE/%C1.M.G%00%00%BE%92h%89P%1D%C7%C5%14%0D%A8Z/%C1.M.NODE (121 bytes,aok=0,scope=2,i=3) 481D0E-0B59-0000-5B0A-1F87F8
-1362605147.043547 ccnd[2905]: debug.1505 content_to 6 ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY/%C1.M.K%00H%1D%0E%AF%CE%91%2A%23%D6%1B%CD%D3-%DF%10%F4%03%0DC%E5%20%09%06%99%FD%90%D1%CD%EAn%EE%F0/%FD%05%13%7BD%E9r/%00/%18%F6%14%F8%18%0C%CF%E1%D7%E54%06%87%FD%DB%BCy%5CC%C2%1DL%F9%1DSk%C9%E18%DAu%BC (617 bytes)
-1362605151.036301 ccnd[2905]: ic.626 adjstate 6 .So......PR. 0x20012
-1362605151.036691 ccnd[2905]: debug.3582 interest_expiry 6 ccnx:/%C1.M.FACE (79 bytes,aok=0,scope=2,i=1)
-1362605151.037160 ccnd[2905]: debug.4238 interest_from 0 ccnx:/%C1.M.FACE/%C1.M.G%00%00%BE%92h%89P%1D%C7%C5%14%0D%A8Z/%C1.M.NODE (110 bytes,aok=0,scope=2,i=3)
-1362605151.040679 ccnd[2905]: debug.3388 interest_to 6 ccnx:/%C1.M.FACE/%C1.M.G%00%00%BE%92h%89P%1D%C7%C5%14%0D%A8Z/%C1.M.NODE (121 bytes,aok=0,scope=2,i=3) 481D0E-0B59-0000-5F09-FA2E13
-1362605152.044448 ccnd[2905]: debug.4361 stale ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY/%C1.M.K%00H%1D%0E%AF%CE%91%2A%23%D6%1B%CD%D3-%DF%10%F4%03%0DC%E5%20%09%06%99%FD%90%D1%CD%EAn%EE%F0/%FD%05%13%7BD%E9r/%00/%18%F6%14%F8%18%0C%CF%E1%D7%E54%06%87%FD%DB%BCy%5CC%C2%1DL%F9%1DSk%C9%E18%DAu%BC (617 bytes)
-1362605155.036439 ccnd[2905]: ic.808 adjstate 6 ........T... 0x20012
-1362605155.037069 ccnd[2905]: debug.3582 interest_expiry 0 ccnx:/%C1.M.FACE/%C1.M.G%00%00%BE%92h%89P%1D%C7%C5%14%0D%A8Z/%C1.M.NODE (105 bytes,aok=0,scope=2,i=3)
-1362605164.855859 ccnd[2905]: ic.789 adjstate 6 ............ 0x20012
-1362605165.128890 ccnd[2905]: ic.490 adjstate 6 s........... 0x20012
-1362605165.129481 ccnd[2905]: debug.4238 interest_from 0 ccnx:/%C1.M.FACE (84 bytes,aok=0,scope=2)
-1362605165.129928 ccnd[2905]: debug.3388 interest_to 6 ccnx:/%C1.M.FACE (95 bytes,aok=0,scope=2,i=4) 481D0E-0B59-0000-6D21-75F8FC
-1362605165.130319 ccnd[2905]: debug.1963 stuff_interest_to 6 ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY (55 bytes,scope=2)
-1362605165.132557 ccnd[2905]: debug.4524 content_from 6 ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY/%C1.M.K%00H%1D%0E%AF%CE%91%2A%23%D6%1B%CD%D3-%DF%10%F4%03%0DC%E5%20%09%06%99%FD%90%D1%CD%EAn%EE%F0/%FD%05%13%7B%3E%E0%80/%00/%0Cw~U%F5%20%06C%CB%3C%9B%93%CA%B2.%FE%A2%CAQ%8E%1F%DE%AED%99%A1s%80-Q%D4%EF (617 bytes)
-1362605169.130199 ccnd[2905]: ic.808 adjstate 6 ........T... 0x20012
-1362605169.130818 ccnd[2905]: debug.3582 interest_expiry 0 ccnx:/%C1.M.FACE (79 bytes,aok=0,scope=2,i=4)
-1362605170.134193 ccnd[2905]: debug.4361 stale ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY/%C1.M.K%00H%1D%0E%AF%CE%91%2A%23%D6%1B%CD%D3-%DF%10%F4%03%0DC%E5%20%09%06%99%FD%90%D1%CD%EAn%EE%F0/%FD%05%13%7B%3E%E0%80/%00/%0Cw~U%F5%20%06C%CB%3C%9B%93%CA%B2.%FE%A2%CAQ%8E%1F%DE%AED%99%A1s%80-Q%D4%EF (617 bytes)
-1362605182.069440 ccnd[2905]: ic.789 adjstate 6 ............ 0x20012
-1362605182.289413 ccnd[2905]: ic.490 adjstate 6 s........... 0x20012
-1362605182.290005 ccnd[2905]: debug.4238 interest_from 0 ccnx:/%C1.M.FACE (84 bytes,aok=0,scope=2)
-1362605182.290453 ccnd[2905]: debug.3388 interest_to 6 ccnx:/%C1.M.FACE (95 bytes,aok=0,scope=2,i=5) 481D0E-0B59-0000-7E4A-5C808D
-1362605182.290844 ccnd[2905]: debug.1963 stuff_interest_to 6 ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY (55 bytes,scope=2)
-1362605182.292835 ccnd[2905]: debug.4524 content_from 6 ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY/%C1.M.K%00H%1D%0E%AF%CE%91%2A%23%D6%1B%CD%D3-%DF%10%F4%03%0DC%E5%20%09%06%99%FD%90%D1%CD%EAn%EE%F0/%FD%05%13%7B%3E%CF%8F/%00/%1F%1B%AFq%08W%3A%B4%FF%23%A6%BCP%E0%06~q%83y%86%B7%D8b%FA%EF%08o%D77%8C%A4%CC (617 bytes)
-1362605186.290472 ccnd[2905]: ic.808 adjstate 6 ........T... 0x20012
-1362605186.291076 ccnd[2905]: debug.3582 interest_expiry 0 ccnx:/%C1.M.FACE (79 bytes,aok=0,scope=2,i=5)
-1362605187.293856 ccnd[2905]: debug.4361 stale ccnx:/%C1.M.S.neighborhood/%C1.M.SRV/ccnd/KEY/%C1.M.K%00H%1D%0E%AF%CE%91%2A%23%D6%1B%CD%D3-%DF%10%F4%03%0DC%E5%20%09%06%99%FD%90%D1%CD%EAn%EE%F0/%FD%05%13%7B%3E%CF%8F/%00/%1F%1B%AFq%08W%3A%B4%FF%23%A6%BCP%E0%06~q%83y%86%B7%D8b%FA%EF%08o%D77%8C%A4%CC (617 bytes)
-1362605198.648471 ccnd[2905]: releasing face id 6 (slot 6)
-1362606539.505981 ccnd[2905]: accepted client fd=8 id=7
-1362606539.507491 ccnd[2905]: accepted client fd=9 id=8
-1362606539.507556 ccnd[2905]: stopping (/tmp/.sock.ccnx.pku gone)
-1362606539.507591 ccnd[2905]: exiting.
-1362606539.507631 ccnd[2905]: closing fd 3 while finalizing face 1
-1362606539.507662 ccnd[2905]: releasing face id 1 (slot 1)
-1362606539.507698 ccnd[2905]: closing fd 4 while finalizing face 2
-1362606539.507729 ccnd[2905]: releasing face id 2 (slot 2)
-1362606539.507764 ccnd[2905]: closing fd 5 while finalizing face 3
-1362606539.507795 ccnd[2905]: releasing face id 3 (slot 3)
-1362606539.507829 ccnd[2905]: closing fd 6 while finalizing face 4
-1362606539.507859 ccnd[2905]: releasing face id 4 (slot 4)
-1362606539.507893 ccnd[2905]: closing fd 7 while finalizing face 5
-1362606539.507923 ccnd[2905]: releasing face id 5 (slot 5)
-1362606539.508031 ccnd[2905]: closing fd 8 while finalizing face 7
-1362606539.508111 ccnd[2905]: releasing face id 7 (slot 7)
-1362606539.508174 ccnd[2905]: closing fd 9 while finalizing face 8
-1362606539.508226 ccnd[2905]: recycling face id 8 (slot 8)
diff --git a/ospfn/pku/ospfd.conf b/ospfn/pku/ospfd.conf
deleted file mode 100644
index 6e021f3..0000000
--- a/ospfn/pku/ospfd.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-
-hostname pku
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface pku-eth0
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.5
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.60/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/pku/ospfn-start.sh b/ospfn/pku/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/pku/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/pku/ospfn.conf b/ospfn/pku/ospfn.conf
deleted file mode 100644
index a082242..0000000
--- a/ospfn/pku/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/pku.edu.cn/ 1
-logdir .
diff --git a/ospfn/pku/routing.sh b/ospfn/pku/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/pku/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/pku/zebra.conf b/ospfn/pku/zebra.conf
deleted file mode 100644
index 4540dc9..0000000
--- a/ospfn/pku/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname pku
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/remap/ospfd.conf b/ospfn/remap/ospfd.conf
deleted file mode 100644
index bd2fe87..0000000
--- a/ospfn/remap/ospfd.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-
-hostname remap
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface remap-eth0
-interface remap-eth1
-interface remap-eth2
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.6
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.48/30 area 0
- network 1.0.0.68/30 area 0
- network 1.0.0.64/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/remap/ospfn-start.sh b/ospfn/remap/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/remap/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/remap/ospfn.conf b/ospfn/remap/ospfn.conf
deleted file mode 100644
index eed23a4..0000000
--- a/ospfn/remap/ospfn.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-ccnname /ucla.edu/apps/ 1
-ccnname /ndn/remap.ucla.edu/ 2
-ccnname /ndn/ucla.edu/apps/ 3
-logdir .
diff --git a/ospfn/remap/routing.sh b/ospfn/remap/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/remap/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/remap/zebra.conf b/ospfn/remap/zebra.conf
deleted file mode 100644
index 6eed246..0000000
--- a/ospfn/remap/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname remap
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/routing.sh b/ospfn/routing.sh
deleted file mode 100644
index 15d5205..0000000
--- a/ospfn/routing.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-#sleep 1
-zebra -d -f zebra.conf -i /var/run/quagga-state/zebra.$1.pid
-#sleep 1
-ospfd -f ospfd.conf -i /var/run/quagga-state/ospfd.$1.pid -d -a
-#sleep 5
-#ospfn -d -f ospfn.conf
-
diff --git a/ospfn/spp-atla/ospfd.conf b/ospfn/spp-atla/ospfd.conf
deleted file mode 100644
index 65ce600..0000000
--- a/ospfn/spp-atla/ospfd.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-
-hostname spp-atla
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface spp-atla-eth0
-interface spp-atla-eth1
-interface spp-atla-eth2
-interface spp-atla-eth3
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.7
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.72/30 area 0
- network 1.0.0.76/30 area 0
- network 1.0.0.80/30 area 0
- network 1.0.0.84/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/spp-atla/ospfn-start.sh b/ospfn/spp-atla/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/spp-atla/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/spp-atla/ospfn.conf b/ospfn/spp-atla/ospfn.conf
deleted file mode 100644
index 869c4c1..0000000
--- a/ospfn/spp-atla/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/sppatla1/ 1
-logdir .
diff --git a/ospfn/spp-atla/routing.sh b/ospfn/spp-atla/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/spp-atla/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/spp-atla/zebra.conf b/ospfn/spp-atla/zebra.conf
deleted file mode 100644
index 7f3c151..0000000
--- a/ospfn/spp-atla/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname spp-atla
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/spp-hous/ospfd.conf b/ospfn/spp-hous/ospfd.conf
deleted file mode 100644
index c68a53d..0000000
--- a/ospfn/spp-hous/ospfd.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-
-hostname spp-hous
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface spp-hous-eth0
-interface spp-hous-eth1
-interface spp-hous-eth2
-interface spp-hous-eth3
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.8
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.92/30 area 0
- network 1.0.0.96/30 area 0
- network 1.0.0.88/30 area 0
- network 1.0.0.72/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/spp-hous/ospfn-start.sh b/ospfn/spp-hous/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/spp-hous/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/spp-hous/ospfn.conf b/ospfn/spp-hous/ospfn.conf
deleted file mode 100644
index fbbdaa2..0000000
--- a/ospfn/spp-hous/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/spphous1/ 1
-logdir .
diff --git a/ospfn/spp-hous/routing.sh b/ospfn/spp-hous/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/spp-hous/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/spp-hous/zebra.conf b/ospfn/spp-hous/zebra.conf
deleted file mode 100644
index 4af101c..0000000
--- a/ospfn/spp-hous/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname spp-hous
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/spp-kans/ospfd.conf b/ospfn/spp-kans/ospfd.conf
deleted file mode 100644
index 5d6c587..0000000
--- a/ospfn/spp-kans/ospfd.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-
-hostname spp-kans
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface spp-kans-eth0
-interface spp-kans-eth1
-interface spp-kans-eth2
-interface spp-kans-eth3
-interface spp-kans-eth4
-interface spp-kans-eth5
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.9
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.100/30 area 0
- network 1.0.0.88/30 area 0
- network 1.0.0.76/30 area 0
- network 1.0.0.112/30 area 0
- network 1.0.0.104/30 area 0
- network 1.0.0.108/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/spp-kans/ospfn-start.sh b/ospfn/spp-kans/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/spp-kans/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/spp-kans/ospfn.conf b/ospfn/spp-kans/ospfn.conf
deleted file mode 100644
index 2723a0e..0000000
--- a/ospfn/spp-kans/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/sppkans1/ 1
-logdir .
diff --git a/ospfn/spp-kans/routing.sh b/ospfn/spp-kans/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/spp-kans/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/spp-kans/zebra.conf b/ospfn/spp-kans/zebra.conf
deleted file mode 100644
index eb03d3a..0000000
--- a/ospfn/spp-kans/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname spp-kans
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/spp-salt/ospfd.conf b/ospfn/spp-salt/ospfd.conf
deleted file mode 100644
index 2f58d93..0000000
--- a/ospfn/spp-salt/ospfd.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-
-hostname spp-salt
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface spp-salt-eth0
-interface spp-salt-eth1
-interface spp-salt-eth2
-interface spp-salt-eth3
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.10
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.116/30 area 0
- network 1.0.0.92/30 area 0
- network 1.0.0.100/30 area 0
- network 1.0.0.16/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/spp-salt/ospfn-start.sh b/ospfn/spp-salt/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/spp-salt/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/spp-salt/ospfn.conf b/ospfn/spp-salt/ospfn.conf
deleted file mode 100644
index fb3756e..0000000
--- a/ospfn/spp-salt/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/sppsalt1/ 1
-logdir .
diff --git a/ospfn/spp-salt/routing.sh b/ospfn/spp-salt/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/spp-salt/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/spp-salt/zebra.conf b/ospfn/spp-salt/zebra.conf
deleted file mode 100644
index a89af87..0000000
--- a/ospfn/spp-salt/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname spp-salt
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/spp-wash/ospfd.conf b/ospfn/spp-wash/ospfd.conf
deleted file mode 100644
index 14b92c7..0000000
--- a/ospfn/spp-wash/ospfd.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-
-hostname spp-wash
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface spp-wash-eth0
-interface spp-wash-eth1
-interface spp-wash-eth2
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.11
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.104/30 area 0
- network 1.0.0.80/30 area 0
- network 1.0.0.36/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/spp-wash/ospfn-start.sh b/ospfn/spp-wash/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/spp-wash/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/spp-wash/ospfn.conf b/ospfn/spp-wash/ospfn.conf
deleted file mode 100644
index 9e819b7..0000000
--- a/ospfn/spp-wash/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/sppwash1/ 1
-logdir .
diff --git a/ospfn/spp-wash/routing.sh b/ospfn/spp-wash/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/spp-wash/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/spp-wash/zebra.conf b/ospfn/spp-wash/zebra.conf
deleted file mode 100644
index 7acfd06..0000000
--- a/ospfn/spp-wash/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname spp-wash
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/ua/ospfd.conf b/ospfn/ua/ospfd.conf
deleted file mode 100644
index 9338a4d..0000000
--- a/ospfn/ua/ospfd.conf
+++ /dev/null
@@ -1,33 +0,0 @@
-
-hostname ua
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface ua-eth0
-interface ua-eth1
-interface ua-eth2
-interface ua-eth3
-interface ua-eth4
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.12
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.120/30 area 0
- network 1.0.0.0/30 area 0
- network 1.0.0.20/30 area 0
- network 1.0.0.124/30 area 0
- network 1.0.0.96/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/ua/ospfn-start.sh b/ospfn/ua/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/ua/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/ua/ospfn.conf b/ospfn/ua/ospfn.conf
deleted file mode 100644
index a2f28ba..0000000
--- a/ospfn/ua/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/arizona.edu/ 1
-logdir .
diff --git a/ospfn/ua/routing.sh b/ospfn/ua/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/ua/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/ua/zebra.conf b/ospfn/ua/zebra.conf
deleted file mode 100644
index f6ffcd6..0000000
--- a/ospfn/ua/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname ua
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/uci/ospfd.conf b/ospfn/uci/ospfd.conf
deleted file mode 100644
index b495dbd..0000000
--- a/ospfn/uci/ospfd.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-
-hostname caida-ucsd
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface uci-eth0
-interface uci-eth1
-interface uci-eth2
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.13
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.128/30 area 0
- network 1.0.0.64/30 area 0
- network 1.0.0.4/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/uci/ospfn-start.sh b/ospfn/uci/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/uci/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/uci/ospfn.conf b/ospfn/uci/ospfn.conf
deleted file mode 100644
index 92d695f..0000000
--- a/ospfn/uci/ospfn.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-ccnname /uci.edu/ 1
-ccnname /ndn/uci.edu/ 2
-logdir .
diff --git a/ospfn/uci/routing.sh b/ospfn/uci/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/uci/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/uci/zebra.conf b/ospfn/uci/zebra.conf
deleted file mode 100644
index 82e393e..0000000
--- a/ospfn/uci/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname uci
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/ucla/ospfd.conf b/ospfn/ucla/ospfd.conf
deleted file mode 100644
index 3b7752b..0000000
--- a/ospfn/ucla/ospfd.conf
+++ /dev/null
@@ -1,39 +0,0 @@
-
-hostname ucla
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface ucla-eth0
-interface ucla-eth1
-interface ucla-eth2
-interface ucla-eth3
-interface ucla-eth4
-interface ucla-eth5
-interface ucla-eth6
-interface ucla-eth7
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.14
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.60/30 area 0
- network 1.0.0.52/30 area 0
- network 1.0.0.68/30 area 0
- network 1.0.0.8/30 area 0
- network 1.0.0.128/30 area 0
- network 1.0.0.120/30 area 0
- network 1.0.0.24/30 area 0
- network 1.0.0.116/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/ucla/ospfn-start.sh b/ospfn/ucla/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/ucla/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/ucla/ospfn.conf b/ospfn/ucla/ospfn.conf
deleted file mode 100644
index b16009e..0000000
--- a/ospfn/ucla/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/ucla.edu/ 1
-logdir .
diff --git a/ospfn/ucla/routing.sh b/ospfn/ucla/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/ucla/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/ucla/zebra.conf b/ospfn/ucla/zebra.conf
deleted file mode 100644
index af6fc92..0000000
--- a/ospfn/ucla/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname ucla
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/uiuc/ospfd.conf b/ospfn/uiuc/ospfd.conf
deleted file mode 100644
index 4feeabc..0000000
--- a/ospfn/uiuc/ospfd.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-
-hostname uiuc
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface uiuc-eth0
-interface uiuc-eth1
-interface uiuc-eth2
-interface uiuc-eth3
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.15
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.56/30 area 0
- network 1.0.0.108/30 area 0
- network 1.0.0.132/30 area 0
- network 1.0.0.40/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/uiuc/ospfn-start.sh b/ospfn/uiuc/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/uiuc/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/uiuc/ospfn.conf b/ospfn/uiuc/ospfn.conf
deleted file mode 100644
index f1a9601..0000000
--- a/ospfn/uiuc/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/uiuc.edu/ 1
-logdir .
diff --git a/ospfn/uiuc/routing.sh b/ospfn/uiuc/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/uiuc/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/uiuc/zebra.conf b/ospfn/uiuc/zebra.conf
deleted file mode 100644
index 1411f5d..0000000
--- a/ospfn/uiuc/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname uiuc
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/um/ospfd.conf b/ospfn/um/ospfd.conf
deleted file mode 100644
index 01d7cda..0000000
--- a/ospfn/um/ospfd.conf
+++ /dev/null
@@ -1,33 +0,0 @@
-
-hostname um
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface um-eth0
-interface um-eth1
-interface um-eth2
-interface um-eth3
-interface um-eth4
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.16
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.124/30 area 0
- network 1.0.0.28/30 area 0
- network 1.0.0.136/30 area 0
- network 1.0.0.44/30 area 0
- network 1.0.0.84/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/um/ospfn-start.sh b/ospfn/um/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/um/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/um/ospfn.conf b/ospfn/um/ospfn.conf
deleted file mode 100644
index 5d6b971..0000000
--- a/ospfn/um/ospfn.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-ccnname /ndn/memphis.edu/ 1
-ccnname /ndn/memphis.edu/netlab/ 2
-logdir .
diff --git a/ospfn/um/routing.sh b/ospfn/um/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/um/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/um/zebra.conf b/ospfn/um/zebra.conf
deleted file mode 100644
index 3824b75..0000000
--- a/ospfn/um/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname um
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log
diff --git a/ospfn/washu/ospfd.conf b/ospfn/washu/ospfd.conf
deleted file mode 100644
index e53c7cf..0000000
--- a/ospfn/washu/ospfd.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-
-hostname washu
-password pwd
-enable password pwd 
-!log file /var/log/quagga/ospfd-s1.log
-log file ospfd.log
-!
-!
-!
-interface washu-eth0
-interface washu-eth1
-interface washu-eth2
-interface washu-eth3
-!
-!
-!access-list ospfn permit 10.0.0.0/8
-!access-list ospfn deny any
-!
-router ospf
- ospf router-id 0.0.0.17
- redistribute connected
- distribute-list ospfn out connected   
- network 1.0.0.32/30 area 0
- network 1.0.0.112/30 area 0
- network 1.0.0.136/30 area 0
- network 1.0.0.132/30 area 0
- capability opaque
-!
-line vty
-!
-!end of configuration file here
diff --git a/ospfn/washu/ospfn-start.sh b/ospfn/washu/ospfn-start.sh
deleted file mode 120000
index c7171fd..0000000
--- a/ospfn/washu/ospfn-start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../ospfn-start.sh
\ No newline at end of file
diff --git a/ospfn/washu/ospfn.conf b/ospfn/washu/ospfn.conf
deleted file mode 100644
index f1a9601..0000000
--- a/ospfn/washu/ospfn.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-ccnname /ndn/uiuc.edu/ 1
-logdir .
diff --git a/ospfn/washu/routing.sh b/ospfn/washu/routing.sh
deleted file mode 120000
index e04b310..0000000
--- a/ospfn/washu/routing.sh
+++ /dev/null
@@ -1 +0,0 @@
-../routing.sh
\ No newline at end of file
diff --git a/ospfn/washu/zebra.conf b/ospfn/washu/zebra.conf
deleted file mode 100644
index 0eb5384..0000000
--- a/ospfn/washu/zebra.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-! -*- zebra -*-
-!
-! zebra sample configuration file
-!
-! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
-!
-hostname washu
-password zebra
-enable password zebra
-!
-! Interface's description. 
-!
-!interface lo
-! description test of desc.
-!
-!interface sit0
-! multicast
-
-!
-! Static default route sample.
-!
-!ip route 0.0.0.0/0 203.181.89.241
-!
-
-log file zebra.log