diff --git a/db/libdb.pm.in b/db/libdb.pm.in
index 5475817a3f40b55ce2debfa071e9c6518b36ff25..d4aa3a8a512c45a19f394273b4ffd17b7dcc62c0 100644
--- a/db/libdb.pm.in
+++ b/db/libdb.pm.in
@@ -185,7 +185,7 @@ use vars qw(@ISA @EXPORT);
 
 	 TBDB_IFACEROLE_CONTROL TBDB_IFACEROLE_EXPERIMENT
 	 TBDB_IFACEROLE_JAIL TBDB_IFACEROLE_FAKE TBDB_IFACEROLE_OTHER
-	 TBDB_IFACEROLE_GW
+	 TBDB_IFACEROLE_GW TBDB_IFACEROLE_OUTER_CONTROL
 
 	 TBDB_ROUTERTYPE_NONE	TBDB_ROUTERTYPE_OSPF
 	 TBDB_ROUTERTYPE_STATIC TBDB_ROUTERTYPE_MANUAL
@@ -586,6 +586,7 @@ sub TBDB_IFACEROLE_JAIL()	{ "jail"; }
 sub TBDB_IFACEROLE_FAKE()	{ "fake"; }
 sub TBDB_IFACEROLE_GW()		{ "gw"; }
 sub TBDB_IFACEROLE_OTHER()	{ "other"; }
+sub TBDB_IFACEROLE_OUTER_CONTROL(){ "outer_ctrl"; }
 
 # Routertypes.
 sub TBDB_ROUTERTYPE_NONE()	{ "none"; }
diff --git a/sql/database-create.sql b/sql/database-create.sql
index d063c8df69807f55c328757d52084fd0bc8cf8fb..fec1b441b31ace2b2ee6528e6fe17322a532f9a7 100644
--- a/sql/database-create.sql
+++ b/sql/database-create.sql
@@ -595,7 +595,7 @@ CREATE TABLE interfaces (
   mask varchar(15) default NULL,
   interface_type varchar(30) default NULL,
   iface text NOT NULL,
-  role enum('ctrl','expt','jail','fake','other','gw') default NULL,
+  role enum('ctrl','expt','jail','fake','other','gw','outer_ctrl') default NULL,
   current_speed enum('0','10','100','1000') NOT NULL default '0',
   duplex enum('full','half') NOT NULL default 'full',
   rtabid smallint(5) unsigned NOT NULL default '0',
diff --git a/sql/database-migrate.txt b/sql/database-migrate.txt
index 0656e970a7bbf822ab986e9fc39e53c61bd7b249..0c77b755cec93eba61a773bd6e3246c9940f7514 100644
--- a/sql/database-migrate.txt
+++ b/sql/database-migrate.txt
@@ -2090,3 +2090,11 @@ last_net_act,last_cpu_act,last_ext_act);
        alter table nodes add cnet_vlan int(11) default NULL;
 
        alter table firewalls add index(vlan);
+
+1.270: Add another role for interfaces; an outer control network role,
+       used for ElabinElab.
+
+       alter table interfaces change role role \
+          enum('ctrl','expt','jail','fake','other','gw','outer_ctrl') \
+	  default NULL;
+