Added debug, etc to config.py and moved to oft_config.py due to conflict
diff --git a/src/python/oftest/oft_config.py b/src/python/oftest/oft_config.py
new file mode 100644
index 0000000..b6c14d3
--- /dev/null
+++ b/src/python/oftest/oft_config.py
@@ -0,0 +1,155 @@
+"""
+OpenFlow Test Framework
+
+Configuration fragment
+
+This file contains Python code to specify the configuration
+of the system under test.
+
+This is a work in progress.  The code below is for illustration only.
+
+The configuration information is extensible in that any 
+Python code may be added to this file (or its imports) and will 
+be available to test cases.  
+
+A platform identifier is given at the top of the file and most
+other information is determined by testing this value.  Additional
+files may also be imported based on the platform.
+
+The configuration must specify a mapping from system interfaces
+available to the test framework to OpenFlow port numbers on the
+switch under test.  This is done in the interface_ofport_map
+dictionary.  Future extensions may include specifying a driver
+for the port (so as to allow remote packet generation) and to
+specify a switch instance (to allow multiple switches to be
+tested together).
+
+Currently, the assumption is that ports are bidirectional, so
+specifying "OF port 1 is connnected to eth2" implies this is so
+for both TX and RX.
+
+"""
+
+##@var platform
+# A string representing the platform under test.  Tested below
+# for determining other variables.
+
+##@var switch_cxn_type
+# How does the test framework communicate to the switch?
+#
+# Options include:
+# @arg localhost:   Switch is running on same host as tests
+# @arg ssh:         Use paramiko to control ssh connection. Needs switch
+# IP and other params
+#
+# For ssh, additional variables include
+# @arg switch_ip = "192.168.2.21"
+# @arg switch_username = "root"
+# @arg switch_password
+
+##@var switch_init
+# A function to be called to initialize the switch.  May be None
+# to indicate no such function needs to be called.
+
+##@var switch_connect
+# Function to be called to prompt the switch to connect to the
+# controller.  The function may need to maintain connection state 
+# as it could be called multiple times between disconnects.
+
+##@var switch_disconnect
+# Function to be called to force the switch to disconnect from the
+# controller. 
+
+##@var controller_host
+# Gives the controller host address to use
+
+##@var controller_port
+# Gives the controller port to use
+
+# platform = "sw_userspace"
+# platform = "sw_kernelspace"
+platform = "bcm_indigo"
+# platform = "stanford_lb4g"
+
+
+# These can be moved into platform specific code if needed
+
+RCV_TIMEOUT_DEFAULT = 10
+RCV_SIZE_DEFAULT = 4096
+CONTROLLER_HOST_DEFAULT = ''
+CONTROLLER_PORT_DEFAULT = 6633
+
+# Number of switch connection requests to queue
+LISTEN_QUEUE_SIZE = 1
+
+if platform == "sw_userspace":
+    interface_ofport_map = {
+        1 : "eth2",
+        2 : "eth3",
+        3 : "eth4",
+        4 : "eth5"
+        }
+    switch_cxn_type = "localhost"
+    switch_init = None  # TBD
+    switch_connect = None  # TBD
+    switch_disconnect = None  # TBD
+    controller_host = "172.27.74.158"
+    controller_port = 7000
+
+elif platform == "bcm_indigo":
+    interface_ofport_map = {
+        1 : "eth2",
+        2 : "eth3",
+        3 : "eth4",
+        4 : "eth5"
+        }
+    # For SSH connections to switch
+    switch_cxn_type = "ssh"
+    switch_ip = "192.168.2.21"
+    switch_username = "root"
+    switch_password = "OpenFlow"
+    switch_init = None  # TBD
+    switch_connect = None  # TBD
+    switch_disconnect = None  # TBD
+    controller_host = "192.168.2.2"
+#    controller_host = "172.27.74.26"
+    controller_port = 7000
+
+
+# Debug levels
+DEBUG_ALL = 0
+DEBUG_VERBOSE = 1
+DEBUG_INFO = 2
+DEBUG_WARN = 3
+DEBUG_ERROR = 4
+DEBUG_CRITICAL = 5
+DEBUG_NONE = 6 # For current setting only; not for string level
+
+dbg_string = [
+    "DBG ALL  ",
+    "VERBOSE  ",
+    "INFO     ",
+    "WARN     ",
+    "ERROR    ",
+    "CRITICAL "
+    ]
+
+def debug_log(module, cur_level, level, string):
+    """
+    Log a debug message
+
+    Compare the debug level to the current level and display
+    the string if appropriate.
+    @param module String representing the module reporting the info/error
+    @param cur_level The module's current debug level
+    @param level The level of the error message
+    @param string String to report
+
+    @todo Allow file logging options, etc
+    @todo Add timestamps
+    """
+
+    if level >= cur_level:
+        #@todo Support output redirection based on debug level
+        print module + ":" + dbg_string[level] + ":" + string
+