Initial version of README
diff --git a/README b/README
new file mode 100644
index 0000000..f621ae1
--- /dev/null
+++ b/README
@@ -0,0 +1,116 @@
+OpenFlow Testing Framework
+February, 2010
+
+Warning
++++++++
+
+This is still experimental and it requires root privilege to
+control the dataplane ports. As a consequence, there are
+some serious risks to the machine on which this is running.
+Use caution.
+
+Quick Start
++++++++++++
+
+ 1. Pre-requisites:
+ * Python 2.5 (or so)
+ * oftest checked out (called <oftest> here)
+ * scapy installed: http://www.secdev.org/projects/scapy/
+ * Doxygen and doxypy for document generation (optional)
+ * lint for source checking (optional)
+
+ 2. Build the OpenFlow Python message classes
+ * cd <oftest>/tools/munger
+ * make
+ This places files in <oftest>/src/python/oftest/src
+
+ 3. Install with setup (currently not required)
+ * TBD
+
+ 4. Edit configuration
+ Edit <oftest>/src/python/oftest/oft_config.py. The only
+ important variables right now are:
+
+ # The platform targetted; currently ignored outside this file
+ platform = <string>
+
+ # The association of OF port number to interface name
+ interface_ofport_map = {
+ <of_port_number> : <os_interface_name>,
+ ...
+ }
+ controller_port = <port number on which to listen>
+ controller_host = <ip address on which to listen>
+ debug_level_default = <desired debug level>
+
+ 5. Start the switch to test
+ The switch must be running and actively attempting to
+ connect to the controller at the host/port specified above.
+
+ 6. Run basic.py
+ See Warning above
+ * cd <oftest>/tests
+ * sudo python basic.py
+
+
+Overview
+++++++++
+
+ The directory structure is currently:
+
+ <oftest>
+ `
+ |-- doc
+ |-- src
+ | `-- python
+ | `-- oftest
+ |-- tests
+ `-- tools
+ |-- munger
+ `-- pylibopenflow
+
+ The tools directory is what processes the OpenFlow header
+ files to produce Python classes representing OpenFlow messages.
+ The results are placed in src/python/oftest and currently
+ include:
+
+ message.py: The main API providing OF message classes
+ error.py: Subclasses for error messages
+ action.py: Subclasses for action specification
+ cstruct.py: Direct representation of C structures in Python
+ class_maps.py: Addition info about C structures
+
+ In addition, the following Python files are present in
+ src/python/oftest:
+
+ oft_config.py: The system configuration file
+ controller.py: The controller representation
+ dataplane.py: The dataplane representation
+ action_list.py: Action list class
+ netutils.py: e.g., set promisc on sockets
+ ofutils.py: Utilities related to OpenFlow messages
+
+
+
+Other Info
+++++++++++
+
+ * Build doc with
+ + cd <oftest>/tools/munger
+ + make doc
+ Places the results in <oftest>/doc/html
+
+ * Run lint on sources
+ + cd <oftest>/tools/munger
+ + make lint
+ Places results in <oftest>/lint/*.log
+ The file controller.log currently has some errors indicated
+
+
+To Do
++++++
+
+ * See the Regression Test component on trac:
+ http://www.openflowswitch.org/bugs/openflow
+ http://www.openflowswitch.org/bugs/openflow/query?component=Regression+test+suite
+