diff --git a/tbsetup/ipassign/dre/GNUmakefile b/tbsetup/ipassign/dre/GNUmakefile
index 62c6f3a5af2375dd29249a431001ac29118057da..83905abe8b90fb21425bd698ba89f0faeffbe28d 100644
--- a/tbsetup/ipassign/dre/GNUmakefile
+++ b/tbsetup/ipassign/dre/GNUmakefile
@@ -1,3 +1,8 @@
+#
+# EMULAB-COPYRIGHT
+# Copyright (c) 2005 University of Utah and the Flux Group.
+# All rights reserved.
+#
 all: test-heap graph2dot test-dijk test-dijk.opt test-dre test-dre.opt
 
 %.cmx: %.ml
diff --git a/tbsetup/ipassign/dre/dijkstra.ml b/tbsetup/ipassign/dre/dijkstra.ml
index 9ef612cefb888565422bc44718f314a7c6dd7462..d505bd7c6a8fd2e8f600e194acfbbdbd2a225906 100644
--- a/tbsetup/ipassign/dre/dijkstra.ml
+++ b/tbsetup/ipassign/dre/dijkstra.ml
@@ -3,6 +3,12 @@
  * algorthm
  *)
 
+(*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2005 University of Utah and the Flux Group.
+ * All rights reserved.
+ *)
+
 type ('a,'b) dijk_state = {
     graph : ('a, 'b) Graph.t;
     visited : bool array; (* Not yet used - ditch? *)
diff --git a/tbsetup/ipassign/dre/dre.ml b/tbsetup/ipassign/dre/dre.ml
index 14b5e8183f38737e0c02abcca91b60e2be167128..8495ed53248a6dee8573edf922c921c380cabed4 100644
--- a/tbsetup/ipassign/dre/dre.ml
+++ b/tbsetup/ipassign/dre/dre.ml
@@ -2,6 +2,12 @@
  * Functions for computing DRE
  *)
 
+(*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2005 University of Utah and the Flux Group.
+ * All rights reserved.
+ *)
+
 (* let compute_dre (graph : ('a, 'b) Graph.t) : float array array = *)
 let compute_dre (hops : ('a, 'b) Dijkstra.first_hop array array) : float array array =
     (* Initialize the array of results *)
diff --git a/tbsetup/ipassign/dre/ga.ml b/tbsetup/ipassign/dre/ga.ml
index 9933f3cf246d9510bbdc17f7f16744e4904e10dd..3a78814362a6aeba63d1aeb28f3dfa404f84d962 100644
--- a/tbsetup/ipassign/dre/ga.ml
+++ b/tbsetup/ipassign/dre/ga.ml
@@ -1,7 +1,11 @@
 (*
  * Core of a genetic algorithm
- * Copyright 2005 Robert Ricci for the University of Utah
- * ricci@cs.utah.edu, testbed-ops@emulab.net
+ *)
+
+(*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2005 University of Utah and the Flux Group.
+ * All rights reserved.
  *)
 
 type individual = int array;;
diff --git a/tbsetup/ipassign/dre/graph.ml b/tbsetup/ipassign/dre/graph.ml
index 7204bd441cca9c0bdd7627ae09be5730f9951d1b..4f7dcee56f689670a01ca6800176a46e82b2ce7b 100644
--- a/tbsetup/ipassign/dre/graph.ml
+++ b/tbsetup/ipassign/dre/graph.ml
@@ -3,6 +3,13 @@
  * Note: tests are commented out, since this module gets included by other
  * files
  *)
+
+(*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2005 University of Utah and the Flux Group.
+ * All rights reserved.
+ *)
+
 type ('a, 'b) node = { node_contents : 'a;
                        mutable node_edges : ('a, 'b) edge_list }
 and ('a, 'b) edge_list = ('a, 'b) edge list
diff --git a/tbsetup/ipassign/dre/graph2dot.ml b/tbsetup/ipassign/dre/graph2dot.ml
index b1b5244d29be948a33446edc72ce0c225f30a31c..510d1d1785872002a131e10627caf4f98e980358 100644
--- a/tbsetup/ipassign/dre/graph2dot.ml
+++ b/tbsetup/ipassign/dre/graph2dot.ml
@@ -8,6 +8,12 @@
  * ... verticies exist only implicitly, as referenced by edges.
  *)
 
+(*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2005 University of Utah and the Flux Group.
+ * All rights reserved.
+ *)
+
 (* Hmm, this is awkward, I have to declare all of these types even though they
  * are related. There's probably some better way to do this *)
 type mygraph = (int, unit) Graph.t;;
diff --git a/tbsetup/ipassign/dre/heap.ml b/tbsetup/ipassign/dre/heap.ml
index 2cc68a8f6974cd721faeed7b4c7d27c60fdc5621..e047e3aebbc3ed91b992795a58b2ff95e0ef057a 100644
--- a/tbsetup/ipassign/dre/heap.ml
+++ b/tbsetup/ipassign/dre/heap.ml
@@ -1,6 +1,13 @@
 (*
  * heap.ml - simple heap module
  *)
+
+(*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2005 University of Utah and the Flux Group.
+ * All rights reserved.
+ *)
+
 (* Types used by this module *)
 type location = int;;
 type weight = int;;
diff --git a/tbsetup/ipassign/dre/test-dijk.ml b/tbsetup/ipassign/dre/test-dijk.ml
index d5b2a8d2ca313d0637b388863bc5d837c4cf115a..a9312f6ddbdeda5d90ebc36a21b527936e9ed942 100644
--- a/tbsetup/ipassign/dre/test-dijk.ml
+++ b/tbsetup/ipassign/dre/test-dijk.ml
@@ -3,6 +3,12 @@
  * Test functions for my Dijkstra's shortest path implementation
  *)
 
+(*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2005 University of Utah and the Flux Group.
+ * All rights reserved.
+ *)
+
 (* Hmm, this is awkward, I have to declare all of these types even though they
  * are related. There's probably some better way to do this *)
 type mygraph = (int, int) Graph.t;;
diff --git a/tbsetup/ipassign/dre/test-dre.ml b/tbsetup/ipassign/dre/test-dre.ml
index 624a4da9e18431f99c838c9a23494f4478dba57f..4d413fc5865b6388e0efdb2bf7ce63c4d364b72a 100755
--- a/tbsetup/ipassign/dre/test-dre.ml
+++ b/tbsetup/ipassign/dre/test-dre.ml
@@ -3,6 +3,12 @@
  * Test functions for my Dijkstra's shortest path implementation
  *)
 
+(*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2005 University of Utah and the Flux Group.
+ * All rights reserved.
+ *)
+
 (* Hmm, this is awkward, I have to declare all of these types even though they
  * are related. There's probably some better way to do this *)
 type mygraph = (int, int) Graph.t;;
diff --git a/tbsetup/ipassign/dre/test-heap.ml b/tbsetup/ipassign/dre/test-heap.ml
index 4c0b9bf463d88d8c4dcd94234c9877f788ce5d30..b1bc5280ddfe098d5055be18378a06dfb695cb09 100644
--- a/tbsetup/ipassign/dre/test-heap.ml
+++ b/tbsetup/ipassign/dre/test-heap.ml
@@ -1,3 +1,9 @@
+(*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2005 University of Utah and the Flux Group.
+ * All rights reserved.
+ *)
+
 type h = int Heap.heap;;
 
 let h1 = Heap.make_heap 0;;
diff --git a/tbsetup/ipassign/src/CutSearchPartition.h b/tbsetup/ipassign/src/CutSearchPartition.h
index ae8834d541c300ad50798e852df94e784a49a4a4..4b6ebac3fc7553fd2e186665443431d275326b35 100644
--- a/tbsetup/ipassign/src/CutSearchPartition.h
+++ b/tbsetup/ipassign/src/CutSearchPartition.h
@@ -1,5 +1,11 @@
 // CutSearchPartition.h
 
+/*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2004 University of Utah and the Flux Group.
+ * All rights reserved.
+ */
+
 #ifndef CUT_SEARCH_PARTITION_H_IP_ASSIGN_2
 #define CUT_SEARCH_PARTITION_H_IP_ASSIGN_2
 
diff --git a/tbsetup/ipassign/src/GraphConverter.h b/tbsetup/ipassign/src/GraphConverter.h
index f22e34753b418fd0feaa113fa9fcbfc73b42c27d..d3b69e7c6c966bef728dd765215f3447ab59850d 100644
--- a/tbsetup/ipassign/src/GraphConverter.h
+++ b/tbsetup/ipassign/src/GraphConverter.h
@@ -1,5 +1,11 @@
 // GraphConverter.h
 
+/*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2004 University of Utah and the Flux Group.
+ * All rights reserved.
+ */
+
 #ifndef GRAPH_CONVERTER_H_IP_ASSIGN_2
 #define GRAPH_CONVERTER_H_IP_ASSIGN_2
 
diff --git a/tbsetup/ipassign/src/RatioCutPartition.h b/tbsetup/ipassign/src/RatioCutPartition.h
index 62e979712af6d5a2a2d47fe21f7501ddf2f254f2..877f4a4b4bb4c86fd1f7534f0f33a063cd9f3486 100644
--- a/tbsetup/ipassign/src/RatioCutPartition.h
+++ b/tbsetup/ipassign/src/RatioCutPartition.h
@@ -1,5 +1,11 @@
 // RatioCutPartition.h
 
+/*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2004 University of Utah and the Flux Group.
+ * All rights reserved.
+ */
+
 #ifndef RATIO_CUT_PARTITION_H_IP_ASSIGN_2
 #define RATIO_CUT_PARTITION_H_IP_ASSIGN_2
 
diff --git a/tbsetup/ipassign/src/add-x.cc b/tbsetup/ipassign/src/add-x.cc
index e83162a5a01b6b0d7e569d6221d7611d5cf7f86e..8d4c79e970a5361390118cff39fdced86993d73d 100644
--- a/tbsetup/ipassign/src/add-x.cc
+++ b/tbsetup/ipassign/src/add-x.cc
@@ -1,5 +1,11 @@
 // add-x.cc
 
+/*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2004 University of Utah and the Flux Group.
+ * All rights reserved.
+ */
+
 #include <iostream>
 
 using namespace std;
diff --git a/tbsetup/ipassign/src/difference.cc b/tbsetup/ipassign/src/difference.cc
index 69f8705bfea86815d8155e7226f0fe63da83a758..44860cd1dc54e4f8a77f86ac17458ede0ee358f0 100644
--- a/tbsetup/ipassign/src/difference.cc
+++ b/tbsetup/ipassign/src/difference.cc
@@ -1,5 +1,11 @@
 // difference.cc
 
+/*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2004 University of Utah and the Flux Group.
+ * All rights reserved.
+ */
+
 #include <iostream>
 #include <fstream>
 #include <string>
diff --git a/tbsetup/ipassign/src/graph2single-source.cc b/tbsetup/ipassign/src/graph2single-source.cc
index 67abef710a1eb1cefc61c38a7b1b8519c09deb51..729b2d902e98d9b3e635594abbbb3b483a4f715c 100644
--- a/tbsetup/ipassign/src/graph2single-source.cc
+++ b/tbsetup/ipassign/src/graph2single-source.cc
@@ -1,5 +1,11 @@
 // graph2single-source.cc
 
+/*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2004 University of Utah and the Flux Group.
+ * All rights reserved.
+ */
+
 #include <iostream>
 #include <string>
 #include <sstream>
diff --git a/tbsetup/ipassign/src/route2dist.cc b/tbsetup/ipassign/src/route2dist.cc
index 62e1be1bf9c22cc9019f87ead1519b40e92af3d1..42e92efe0a2b235298bd7e8ece8319578f366b96 100644
--- a/tbsetup/ipassign/src/route2dist.cc
+++ b/tbsetup/ipassign/src/route2dist.cc
@@ -1,5 +1,11 @@
 // route2dist.cc
 
+/*
+ * EMULAB-COPYRIGHT
+ * Copyright (c) 2004 University of Utah and the Flux Group.
+ * All rights reserved.
+ */
+
 #include <iostream>
 #include <sstream>
 #include <string>