diff --git a/TestON/drivers/common/cli/emulator/mininetclidriver.py b/TestON/drivers/common/cli/emulator/mininetclidriver.py
index 4b30f4d..4949c3f 100644
--- a/TestON/drivers/common/cli/emulator/mininetclidriver.py
+++ b/TestON/drivers/common/cli/emulator/mininetclidriver.py
@@ -1288,8 +1288,8 @@
         for switch in topo.graph.switches:
             ports = []
             for port in switch.ports.values():
-                ports.append( { 'of_port': port.portNo,
-                                'mac': str( port.hwAddr ).replace( '\'',
+                ports.append( { 'of_port': port.port_no,
+                                'mac': str( port.hw_addr ).replace( '\'',
                                                                    '' ),
                                 'name': port.name } )
             output[ 'switches' ].append( {
@@ -1370,10 +1370,10 @@
         for switch in topo.graph.switches:
             ports = []
             for port in switch.ports.values():
-                # print port.hwAddr.toStr( separator='' )
+                # print port.hw_addr.toStr( separator='' )
                 tmpPort = {}
-                tmpPort[ 'of_port' ] = port.portNo
-                tmpPort[ 'mac' ] = str( port.hwAddr ).replace( '\'', '' )
+                tmpPort[ 'of_port' ] = port.port_no
+                tmpPort[ 'mac' ] = str( port.hw_addr ).replace( '\'', '' )
                 tmpPort[ 'name' ] = port.name
                 tmpPort[ 'enabled' ] = port.enabled
 
@@ -1473,9 +1473,9 @@
             # print switch
             ports = []
             for port in switch.ports.values():
-                # print port.hwAddr.toStr( separator='' )
-                ports.append( { 'of_port': port.portNo,
-                                'mac': str( port.hwAddr ).replace( '\'',
+                # print port.hw_addr.toStr( separator='' )
+                ports.append( { 'of_port': port.port_no,
+                                'mac': str( port.hw_addr ).replace( '\'',
                                                                    '' ),
                                 'name': port.name } )
             output[ 'switches' ].append( {
