index.php3 6.83 KB
Newer Older
1
2
<?php
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
3
# EMULAB-COPYRIGHT
4
# Copyright (c) 2000-2005 University of Utah and the Flux Group.
Leigh B. Stoller's avatar
Leigh B. Stoller committed
5
6
# All rights reserved.
#
7
8
require("defs.php3");

9
10
11
#
# The point of this is to redirect logged in users to their My Emulab
# page. 
12
#
13
if ($uid = GETUID()) {
14
15
    $check_status = CHECKLOGIN($uid) & CHECKLOGIN_STATUSMASK;

16
17
    if (($firstinitstate = TBGetFirstInitState())) {
	unset($stayhome);
18
    }
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
    if (!isset($stayhome)) {
	if ($check_status == CHECKLOGIN_LOGGEDIN) {
	    if ($firstinitstate == "createproject") {
	        # Zap to NewProject Page,
 	        header("Location: $TBBASE/newproject.php3");
	    }
	    else {
		# Zap to My Emulab page.
		header("Location: $TBBASE/showuser.php3?target_uid=$uid");
	    }
	    return;
	}
	elseif (isset($SSL_PROTOCOL)) {
            # Fall through; display the page.
	    ;
	}
	elseif ($check_status == CHECKLOGIN_MAYBEVALID) {
            # Not in SSL mode, so reload using https to see if logged in.
	    header("Location: $TBBASE/index.php3");
	}
39
40
41
42
    }
    # Fall through; display the page.
}

43
#
44
# Standard Testbed Header
45
#
Leigh B. Stoller's avatar
Leigh B. Stoller committed
46
PAGEHEADER("Emulab - Network Emulation Testbed Home");
47

48
49
# Get some stats about current experiments

50
$query_result =
51
52
53
    DBQueryFatal("select count(*) from experiments as e " .
	"left join experiment_stats as s on s.exptidx=e.idx " .
	"left join experiment_resources as rs on rs.idx=s.rsrcidx ".
54
55
56
	"where state='active' and rs.pnodes>0 and " .
        "      e.pid!='emulab-ops' and ".
	"      not (e.pid='ron' and e.eid='all')");
57

58
59
60
61
62
63
64
65
if (mysql_num_rows($query_result) != 1) {
    $active_expts = "ERR";
} else {
    $row = mysql_fetch_array($query_result);
    $active_expts = $row[0];
}

$query_result = DBQueryFatal("select count(*) from experiments where ".
66
	"state='swapped' and pid!='emulab-ops' and pid!='testbed'");
67
68
69
70
71
72
73
74
if (mysql_num_rows($query_result) != 1) {
    $swapped_expts = "ERR";
} else {
    $row = mysql_fetch_array($query_result);
    $swapped_expts = $row[0];
}

$query_result = DBQueryFatal("select count(*) from experiments where ".
Mac Newbold's avatar
Mac Newbold committed
75
			     "swap_requests > 0 and idle_ignore=0 ".
76
			     "and pid!='emulab-ops' and pid!='testbed'");
77
78
79
80
81
82
83
if (mysql_num_rows($query_result) != 1) {
    $idle_expts = "ERR";
} else {
    $row = mysql_fetch_array($query_result);
    $idle_expts = $row[0];
}

84
85
86
87
88
89
90
91
92
#
# Special banner message.
#
$message = TBGetSiteVar("web/banner");
if ($message != "") {
    echo "<center><font color=Red size=+1>\n";
    echo "$message\n";
    echo "</font></center><br>\n";
}
93

94
?>
95

96
97
<center>
<table align="right">
98
<tr><th nowrap colspan=2 class="contentheader" align="center">
99
100
	Current Experiments</th></tr>
<tr><td align="right" class="menuopt"><?php echo $active_expts ?></td> 
101
    <td align="left" class="menuopt">
102
        <a href=explist.php3#active>Active</a>
103
    </td></tr>
104
105
106
<tr><td align="right" class="menuopt"><?php echo $idle_expts ?></td>
    <td align="left" class="menuopt">Idle</td></tr>
<tr><td align="right" class="menuopt"><?php echo $swapped_expts ?></td>
107
    <td align="left" class="menuopt">
108
        <a href=explist.php3#swapped>Swapped</a>
109
    </td></tr>
110
111
112
</table>
</center>

113
114
115
116
117
118
119
<p><em>Netbed</em>, an outgrowth of <em>Emulab</em>, provides
integrated access to three disparate experimental environments:
simulated, emulated, and wide-area network testbeds.  Netbed strives
to preserve the control and ease of use of simulation, without
sacrificing the realism of emulation and live network experimentation.
</p>

Chad Barb's avatar
   
Chad Barb committed
120
<p>
121
122
123
124
125
126
127
128
129
Netbed unifies all three environments under a common user interface,
and integrates the three into a common framework.  This framework
provides abstractions, services, and namespaces common to all, such as
allocation and naming of nodes and links.  By mapping the abstractions
into domain-specific mechanisms and internal names, Netbed masks much
of the heterogeneity of the three approaches.
</p>

<p> <em>Wide-area resources</em>: Netbed currently includes
130
131
132
50-60 nodes geographically distributed across approximately
30 sites; the majority are the machines in the "MIT distributed testbed;"
others were created by people loading our wide-area boot CD.
133
134
135
136
Experimenters with a valid research use can get non-root shell access
to these shared nodes, with ssh keys and other aspects automatically
managed by Netbed.  Secure shared filesystem access is coming soon via
SFS.
Chad Barb's avatar
   
Chad Barb committed
137
</p>
138

139
<p>
140
141
142
143
144
145
146
147
148
149
<em>"Emulab Classic,"</em> a key part of Netbed, is a universally-available
time- and space-shared network emulator which achieves new levels of
ease of use.
Several hundred
PCs in racks, combined with secure, user-friendly web-based tools, and driven
by <it>ns</it>-compatible scripts or a Java GUI, allow you
to remotely configure and control machines and links down to
the hardware level.  Packet loss, latency, bandwidth, queue sizes--
all can be user-defined.  Even the OS disk
contents can be fully and securely replaced with custom images by any experimenter;
150
Netbed can load ten or a hundred disks in less than a minute. 
151
152
153
154
155
<?php
echo "There are currently <a href=explist.php3>$active_expts active
     experiments</a> running on Emulab, and <a
     href=explist.php3>$swapped_expts swapped out experiments</a>.\n";
?>
Chad Barb's avatar
   
Chad Barb committed
156
</p>
157

158
<p> Utah's local installation features high-speed Cisco
159
switches connecting 5 100Mbit interfaces on each of 168 PCs.  The
160
161
162
163
<a href = "http://www.uky.emulab.net">University of Kentucky</a>'s testbed,
also open to external users, contains 48 similarly networked PCs, 
and <a href = "http://www.netlab.cc.gatech.edu">
Georgia Tech's</a> contains 40.  The PC nodes can be used as
164
165
166
167
168
edge nodes running arbitrary programs, simulated routers,
traffic-shaping nodes, or traffic generators.  While an "experiment"
is running, the experiment (and its associated researchers) get
exclusive use of the assigned machines, including root access.  </p>

169
<p>
170
We provide default OS software (Redhat Linux 7.3 and FreeBSD 4.7);
171
172
173
174
175
the default configuration on your nodes includes accounts for project members,
root access, DNS service, and standard compilers, linkers, and editors.
Fundamentally, however,
all the software you run on it, including all bits on the disks, is
replaceable and entirely your choice.  The same applies to the network's
176
characteristics, including its topology: configurable by users.
177
178


Chad Barb's avatar
   
Chad Barb committed
179
180
</p>
<br /><br />
181
<a href='pix/side-crop-big.jpg'>
182
   <img src='pix/side-crop-smaller.jpg' align=right /></a>
183

184
185
186
187
188
<h3>Links to help you get started:</h3>
<ul>
<li><b><a href = "docwrapper.php3?docname=auth.html">
          Authorization Scheme, Policy, and "How To Get Started"</a></b>
<li><b><a href = "docwrapper.php3?docname=software.html">
189
190
191
          Overview of Installed Software</a></b>
<li><b><a href = "docwrapper.php3?docname=hardware.html">
          Hardware Overview, "Emulab Classic"</a></b>
192
193
194
195
196
<li><b><a href = "docwrapper.php3?docname=security.html">
          Security Issues</a></b>
<li><b><a href = "docwrapper.php3?docname=policies.html">
          Administrative Policies and Disclaimer</a></b>
</ul>
197

198
<?php
199
#
200
# Standard Testbed Footer
201
# 
202
PAGEFOOTER();
203

204
?>