merge with code from tty
authorpravin@inf.ethz.ch <pravin@inf.ethz.ch>
Thu, 21 Nov 2013 18:28:53 +0000 (19:28 +0100)
committerpravin@inf.ethz.ch <pravin@inf.ethz.ch>
Thu, 21 Nov 2013 18:28:53 +0000 (19:28 +0100)
12 files changed:
1  2 
errors/errno.fugu
hake/RuleDefs.hs
hake/menu.lst.x86_64
hake/symbolic_targets.mk
if/Hakefile
include/barrelfish/net_constants.h
include/barrelfish/waitset.h
lib/barrelfish/domain.c
tools/harness/tests/basicNetwork.py
usr/vmkitmon/Hakefile
usr/vmkitmon/guest.c
usr/vmkitmon/vmkitmon.c

index 34c6bde,461a83a..06e7ac9
mode 100755,100644..100755
@@@ -4,9 -4,10 +4,10 @@@
   *
   * This file is distributed under the terms in the attached LICENSE file.
   * If you do not find this file, copies can be found by writing to:
-  * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
+  * ETH Zurich D-INFK, CAB F.78, Universitaetstr. 6, CH-8092 Zurich,
+  * Attn: Systems Group.
   */
 - 
 +
  // Kernel/syscall errors
  errors kernel SYS_ERR_ {
      default success OK          "Success",
@@@ -985,13 -985,17 +985,17 @@@ data LibDepTree = LibDep String | LibDe
  -- manually add dependencies for now (it would be better if each library
  -- defined each own dependencies locally, but that does not seem to be an
  -- easy thing to do currently
- libposixcompat_deps = LibDeps [ LibDep "posixcompat", liblwip_deps,
-                                 libvfs_deps_all ]
- liblwip_deps        = LibDeps $ [ LibDep x | x <- deps ]
+ libposixcompat_deps   = LibDeps [ LibDep "posixcompat", liblwip_deps,
+                                   libvfs_deps_all, LibDep "term_server" ]
+ liblwip_deps          = LibDeps $ [ LibDep x | x <- deps ]
 -    where deps = ["lwip" ,"contmng" ,"procon" ,"timer" ,"hashtable"]
 +    where deps = ["lwip" ,"contmng" ,"net_if_raw" ,"timer" ,"hashtable"]
- libnetQmng_deps        = LibDeps $ [ LibDep x | x <- deps ]
+ libnetQmng_deps       = LibDeps $ [ LibDep x | x <- deps ]
 -    where deps = ["net_queue_manager", "contmng" ,"procon" , "bfdmuxvm"]
 +    where deps = ["net_queue_manager", "contmng" ,"procon" , "net_if_raw", "bfdmuxvm"]
- libnfs_deps         = LibDeps $ [ LibDep "nfs", liblwip_deps ]
+ libnfs_deps           = LibDeps $ [ LibDep "nfs", liblwip_deps ]
+ libssh_deps           = LibDeps [ libposixcompat_deps, libopenbsdcompat_deps,
+                                   LibDep "zlib", LibDep "crypto", LibDep "ssh" ]
+ libopenbsdcompat_deps = LibDeps [ libposixcompat_deps, LibDep "crypto",
+                                   LibDep "openbsdcompat" ]
  
  -- we need to make vfs more modular to make this actually useful
  data VFSModules = VFS_RamFS | VFS_NFS | VFS_BlockdevFS | VFS_FAT
Simple merge
@@@ -119,12 -119,9 +121,12 @@@ MODULES_x86_64= 
        sbin/mem_serv_dist \
        sbin/net-test \
        sbin/netthroughput \
 +      sbin/elb_app \
 +      sbin/elb_app_tcp \
 +      sbin/lo_queue \
        sbin/pci \
-         sbin/acpi \
-         sbin/kaluga \
+       sbin/acpi \
+       sbin/kaluga \
        sbin/placement_bench \
        sbin/phases_bench \
        sbin/phases_scale_bench \
diff --cc if/Hakefile
Simple merge
Simple merge
Simple merge
Simple merge
index 0000000,0000000..ff123af
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,124 @@@
++##########################################################################
++# Copyright (c) 2009, ETH Zurich.
++# All rights reserved.
++#
++# This file is distributed under the terms in the attached LICENSE file.
++# If you do not find this file, copies can be found by writing to:
++# ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
++##########################################################################
++
++import re, socket, httplib, traceback, os, subprocess, select, datetime, glob, time
++import tests, debug, siteconfig
++from shutil import copyfile
++from common import TestCommon, TimeoutError, select_timeout
++from results import ResultsBase, PassFailResult, RowResults
++
++
++WEBSERVER_TEST_FILES=['index.html', 'barrelfish.gif', 'barrelfish_sosp09.pdf']
++WEBSERVER_TIMEOUT=5 # seconds
++TEST_LOG_NAME = 'testlog.txt'
++TRACE_LOG_NAME = 'tracelog.txt'
++
++HTTPERF_BASE_ARGS='--hog --close-with-reset --timeout 2 '
++HTTPERF_URI = '/index.html'
++
++# desired duration of an httperf test run (seconds)
++HTTPERF_DURATION = 20
++
++# sleep time between runs (seconds)
++HTTPERF_SLEEPTIME = 20
++
++# timeout for a complete run, including setup etc.
++HTTPERF_TIMEOUT = datetime.timedelta(seconds=(HTTPERF_DURATION + 30))
++
++# connection rates across all client machines
++HTTPERF_STARTRATE = 1000 # initial rate
++HTTPERF_RATEINCREMENT = 1000 # amount to increment by for each new run
++
++
++class NetCommon(TestCommon):
++
++    def setup(self, build, machine, testdir):
++        super(NetCommon, self).setup(build, machine, testdir)
++        self.testdir = testdir
++        self.finished = False
++        self.ip = None
++        self.traceLogsON = False
++        self.traceLogs = []
++        self.build_path = build.build_dir
++
++    def get_modules(self, build, machine):
++        cardName = "e1000"
++        modules = super(NetCommon, self).get_modules(build, machine)
++        modules.add_module("e1000n", ["core=%d" % machine.get_coreids()[1]])
++        modules.add_module("NGD_mng", ["core=%d" % machine.get_coreids()[1],
++                                    "cardname=%s"%cardName])
++        modules.add_module("netd", ["core=%d" % machine.get_coreids()[1],
++                                   "cardname=%s"%cardName])
++        nfsip = socket.gethostbyname(siteconfig.get('WEBSERVER_NFS_HOST'))
++        modules.add_module("webserver", ["core=%d" % machine.get_coreids()[1], #2
++                              cardName, nfsip,
++                                siteconfig.get('WEBSERVER_NFS_TEST_PATH')])
++
++        return modules
++
++    def process_line(self, line):
++        m = re.match(r'Interface up! IP address (\d+\.\d+\.\d+\.\d+)', line)
++        if m:
++            self.ip = m.group(1)
++
++        if line.startswith('dump trac buffers: Start') :
++            self.traceLogsON = True
++        elif line.startswith('dump trac buffers: Stop') :
++            self.finished = True
++            self.traceLogsON = False
++        elif  self.traceLogsON :
++            self.traceLogs.append(line);
++
++
++    def is_finished(self, line):
++        return self.finished
++
++
++@tests.add_test
++class NetdTraceTest(NetCommon):
++    '''tests netd and generates tracing output'''
++    name = "netdTrace"
++
++    def setup(self, *args):
++        super(NetdTraceTest, self).setup(*args)
++        self.testlog = None
++
++
++    def process_data(self, testdir, rawiter):
++
++        tracelogFilePath = os.path.join(self.testdir, TRACE_LOG_NAME)
++        tracelogFile = open(tracelogFilePath, 'w')
++
++        passed = None
++        traceLogsStarted = False
++        traceLogsFinished = False
++        #testlog = open(os.path.join(testdir, TEST_LOG_NAME), 'r')
++        for line in rawiter:
++            if line.startswith('dump trac buffers: Start') :
++                traceLogsStarted = True
++            elif line.startswith('dump trac buffers: Stop') :
++                traceLogsStarted = False
++            elif traceLogsStarted :
++                tracelogFile.write(line);
++                passed = True
++        #testlog.close()
++        tracelogFile.close()
++        print "Tracefile: " +  tracelogFilePath
++        JASONFILENAME = 'trace_defs.json'
++        # copy trace_defs.json files
++        jsonFilePath = os.path.join(self.build_path,
++                "x86_64", "trace_definitions", JASONFILENAME)
++        print "json file is at " + jsonFilePath
++        destFile =  os.path.join(self.testdir, JASONFILENAME)
++        copyfile(jsonFilePath, destFile)
++
++        return PassFailResult(passed == True)
++
++
++
                        cFiles = [ "vmkitmon.c", "guest.c", "realmode.c",
                                   "hdd.c", "keyboard.c", "console.c",
                                   "apic.c", "lpc.c", "pc16550d.c", "pci.c",
-                                                                "pci_host.c", "pci_hostbridge.c", "pci_ethernet.c", "pci_vmkitmon_eth.c", "benchmark.c" ],
-                                        flounderBindings = [ "net_queue_manager",
-                                 "net_soft_filters" ],
 -                               "pci_host.c", "pci_hostbridge.c" ],
 -                      mackerelDevices = [ "amd_vmcb", "lpc_timer",
++                               "pci_host.c", "pci_hostbridge.c",
++                                 "pci_ethernet.c", "pci_vmkitmon_eth.c",
++                                 "benchmark.c" ],
++                    flounderBindings = [ "net_queue_manager",
++                                "net_soft_filters", "serial"],
 +                      mackerelDevices = [ "amd_vmcb", "lpc_timer", "e1000",
                                            "pc16550d_mem", "pci_hdr0_mem" ],
 -                      flounderBindings = [ "serial" ],
+                       flounderDefs = [ "monitor" ],
 -                      addLibraries = libDeps [ "spawndomain", "x86emu", "vfs"],
 +                      addLibraries = libDeps [ "spawndomain", "netQmng", "x86emu", "vfs", "pci", "bench"],
 +                      -- addLibraries = libDeps [ "spawndomain", "netQmng"],
                        architectures = ["x86_64"]
                      }
  ]
Simple merge
Simple merge