First commit
diff --git a/ccn_utils/generate_mesh.py b/ccn_utils/generate_mesh.py
new file mode 100644
index 0000000..e150e66
--- /dev/null
+++ b/ccn_utils/generate_mesh.py
@@ -0,0 +1,57 @@
+#!/usr/bin/python
+
+import optparse
+
+def parse_args():
+ usage="""Usage: generate_mesh num_nodes [template_file]
+ Generates template_file with a full mesh topology with num_nodes
+ If no template_file is given, will write to default
+ file miniccnx.conf in the current directory.
+ """
+
+ parser = optparse.OptionParser(usage)
+
+ _, arg = parser.parse_args()
+
+ if len(arg) > 2:
+ print parser.usage
+ quit()
+ elif len(arg) == 0:
+ print parser.usage
+ quit()
+ elif len(arg) == 1:
+ num_nodes = int(parser.parse_args()[1][0])
+ temp_file = ''
+ else:
+ print parser.parse_args()
+ num_nodes,temp_file = int(parser.parse_args()[1][0]), parser.parse_args()[1][1]
+
+ return num_nodes, temp_file
+
+if __name__ == '__main__':
+
+ n_nodes, t_file = parse_args()
+
+ if t_file == '':
+ t_file = 'miniccnx.conf'
+
+ temp_file = open(t_file,'w')
+
+ temp_file.write('[hosts]\n')
+
+ temp_file.write('[routers]\n')
+
+ for i in range(n_nodes):
+ temp_file.write('s' + str(i) + ':\n')
+
+ temp_file.write('[links]\n')
+
+ for i in range(n_nodes):
+ peer = i + 1
+ for j in range(peer,n_nodes):
+ temp_file.write('s' + str(i) + ':s' + str(j) + '\n')
+
+ temp_file.close()
+
+
+
\ No newline at end of file