diff --git a/db/xmlconvert.in b/db/xmlconvert.in
index 4342eb000fb86882f3719b558c07b4ebc57a0bb7..b00a640d30204f033062bf7b0079797a78329918 100644
--- a/db/xmlconvert.in
+++ b/db/xmlconvert.in
@@ -151,6 +151,7 @@ my %experiment_fields = ("multiplex_factor"		=> 1,
 		         "modelnet_cores"		=> 1,
 		         "modelnet_edges"		=> 1,
 		         "elab_in_elab"			=> 1,
+		         "elabinelab_eid"		=> 1,
 		         "security_level"		=> 1);
 
 # New parsing code state machine control.
diff --git a/sql/database-fill.sql b/sql/database-fill.sql
index 59e3984f254a68718cf63c0d7b6a1fe4c520c712..70c761cdd1f9de746bf97c59f0415fb87805709e 100644
--- a/sql/database-fill.sql
+++ b/sql/database-fill.sql
@@ -669,6 +669,7 @@ REPLACE INTO table_regex VALUES ('firewall_rules','ruleno','int','redirect','def
 REPLACE INTO table_regex VALUES ('firewall_rules','rule','text','regex','^\\w[-\\w \\t,/\\{\\}\\(\\)!:\\.]*$',0,1024,NULL);
 REPLACE INTO table_regex VALUES ('virt_nodes','inner_elab_role','text','regex','^(boss|ops|node)$',0,0,NULL);
 REPLACE INTO table_regex VALUES ('experiments','elab_in_elab','int','redirect','default:boolean',0,0,NULL);
+REPLACE INTO table_regex VALUES ('experiments','elabinelab_eid','text','redirect','experiments:eid',0,0,NULL);
 REPLACE INTO table_regex VALUES ('images','imageid','text','regex','^[a-zA-Z0-9][-\\w\\.+]+$',0,45,NULL);
 REPLACE INTO table_regex VALUES ('images','imagename','text','regex','^[a-zA-Z0-9][-\\w\\.+]+$',2,30,NULL);
 
diff --git a/tbsetup/ns2ir/elabinelab.ns b/tbsetup/ns2ir/elabinelab.ns
index 81b61ed742643ac334cff318ccc35f5deb4c6137..d6ba29af299b128144a4fd5d2c5daaf6cb90d694 100644
--- a/tbsetup/ns2ir/elabinelab.ns
+++ b/tbsetup/ns2ir/elabinelab.ns
@@ -9,7 +9,7 @@ set myboss [$ns node]
 set myops  [$ns node]
 
 tb-set-hardware $myboss pc2000
-tb-set-hardware $myops  pc2000
+tb-set-hardware $myops  pc850
 
 tb-elab-in-elab 1
 tb-set-node-inner-elab-role $myboss boss
@@ -22,7 +22,7 @@ for {set i 1} {$i <= $maxpcs} {incr i} {
 	append lanstr "[set $name] "
 	tb-set-node-os [set $name] FBSD-STD
 	tb-set-node-inner-elab-role [set $name] node
-	tb-set-hardware [set $name] pc600
+#	tb-set-hardware [set $name] pc600
 }
 set publiclan [$ns make-lan $lanstr 100Mb 0ms]
 
@@ -41,11 +41,7 @@ if {$security_level >= 2} {
 	# Set up a firewall
 	set fw [new Firewall $ns]
 	$fw set-type ipfw2-vlan
-	$fw set-style closed
-
-	# allow tracroute as well
-	$fw add-rule "allow udp from 155.98.36.0/22 to any 33434-33524"
-	$fw add-rule "allow udp from any 33434-33524 to 155.98.36.0/22"
+	$fw set-style open
 }
 
 # No routing! 
diff --git a/tbsetup/ns2ir/parse.tcl.in b/tbsetup/ns2ir/parse.tcl.in
index 3b7c0638e935db7ce03a7bb136d18f9213f2512e..1e367299963cd9d9906c46a2befaa394e326c99e 100644
--- a/tbsetup/ns2ir/parse.tcl.in
+++ b/tbsetup/ns2ir/parse.tcl.in
@@ -256,6 +256,7 @@ namespace eval GLOBALS {
 
     # Is an inner elab experiment.
     variable elab_in_elab 0
+    variable elabinelab_eid {}
 
     # Security level. Defaults to green
     variable security_level 0
diff --git a/tbsetup/ns2ir/sim.tcl.in b/tbsetup/ns2ir/sim.tcl.in
index 04747253894e4289d57454d0703075c5eedecb8c..d6f6c0190db7199365931615b7c8aa346232a58f 100644
--- a/tbsetup/ns2ir/sim.tcl.in
+++ b/tbsetup/ns2ir/sim.tcl.in
@@ -270,6 +270,7 @@ Simulator instproc run {} {
     var_import ::GLOBALS::modelnet_cores
     var_import ::GLOBALS::modelnet_edges
     var_import ::GLOBALS::elab_in_elab
+    var_import ::GLOBALS::elabinelab_eid
     var_import ::GLOBALS::security_level
     
     if {$ran == 1} {
@@ -452,6 +453,11 @@ Simulator instproc run {} {
     if {$elab_in_elab} {
 	lappend fields "elab_in_elab"
 	lappend values 1
+
+	if { $elabinelab_eid != {} } {
+	    lappend fields "elabinelab_eid"
+	    lappend values $elabinelab_eid
+	}
     }
     
     if {$security_level} {
diff --git a/tbsetup/ns2ir/tb_compat.tcl.in b/tbsetup/ns2ir/tb_compat.tcl.in
index 858f174bf6326a41660dbf26447303071f241d8a..61c498ea743a83f71d13cff196b20b02b14aa195 100644
--- a/tbsetup/ns2ir/tb_compat.tcl.in
+++ b/tbsetup/ns2ir/tb_compat.tcl.in
@@ -1438,6 +1438,11 @@ proc tb-elab-in-elab {onoff} {
 	set elab_in_elab 0
     }
 }
+proc tb-set-inner-elab-eid {eid} {
+    var_import ::GLOBALS::elabinelab_eid
+
+    set elabinelab_eid $eid
+}
 
 #
 # Set the inner elab role for a node.