diff --git a/src/python/oftest/controller.py b/src/python/oftest/controller.py
index 079f7ef..3d4e828 100644
--- a/src/python/oftest/controller.py
+++ b/src/python/oftest/controller.py
@@ -513,9 +513,9 @@
         """
         Send the message to the switch
 
-        @param msg A string or OpenFlow message object to be forwarded to 
-        the switch.  
-        @param zero_xid If msg is an OpenFlow object (not a string) and if 
+        @param msg A string or OpenFlow message object to be forwarded to
+        the switch.
+        @param zero_xid If msg is an OpenFlow object (not a string) and if
         the XID in the header is 0, then an XID will be generated
         for the message.  Set xero_xid to override this behavior (and keep an
         existing 0 xid)
diff --git a/src/python/oftest/dataplane.py b/src/python/oftest/dataplane.py
index 9389d51..70b4e9e 100644
--- a/src/python/oftest/dataplane.py
+++ b/src/python/oftest/dataplane.py
@@ -247,7 +247,7 @@
         @param port_number The port number used to refer to the port
         """
 
-        self.port_list[port_number] = DataPlanePort(interface_name, 
+        self.port_list[port_number] = DataPlanePort(interface_name,
                                                     port_number, self)
         self.port_list[port_number].start()
 
@@ -257,8 +257,8 @@
         @param port_number The port to send the data to
         @param packet Raw packet data to send to port
         """
-        self.logger.debug("Sending %d bytes to port %d" % 
-                      (len(packet), port_number))
+        self.logger.debug("Sending %d bytes to port %d" %
+                          (len(packet), port_number))
         bytes = self.port_list[port_number].send(packet)
         if bytes != len(packet):
             self.logger.error("Unhandled send error, length mismatch %d != %d" %
@@ -299,7 +299,7 @@
         Otherwise, find the port with the oldest packet and return
         that packet.
         @param port_number If set, get packet from this port
-        @param timeout If positive and no packet is available, block 
+        @param timeout If positive and no packet is available, block
         until a packet is received or for this many seconds
         @return The triple port_number, packet, pkt_time where packet
         is received from port_number at time pkt_time.  If a timeout
@@ -312,7 +312,7 @@
         if port_number and len(self.port_list[port_number].packets) != 0:
             pkt, time = self.port_list[port_number].dequeue(use_lock=False)
             self.pkt_sync.release()
-            oft_assert(pkt, "Poll: packet not found on port " + 
+            oft_assert(pkt, "Poll: packet not found on port " +
                        str(port_number))
             return port_number, pkt, time
 
