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
+