diff --git a/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py
index 21f9186..822274a 100644
--- a/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py
+++ b/TestON/tests/SCPF/SCPFswitchLat/SCPFswitchLat.py
@@ -70,6 +70,7 @@
             main.scale = ( main.params[ 'SCALE' ] ).split( "," )
 
             main.ofPackage = main.params[ 'TSHARK' ]
+            main.tsharkInterface = main.params[ 'TSHARK' ][ 'tsharkInterface' ]
             main.defaultTopoCfg = main.params[ 'CFG' ][ 'defaultTopo' ]
             main.tsharkResultPath = main.params[ 'TEST' ][ 'tsharkResultPath' ]
             main.sampleSize = int( main.params[ 'TEST' ][ 'sampleSize' ] )
@@ -165,9 +166,9 @@
             main.log.info( "************************ Iteration: {} **********************" .format( str( i + 1 ) ) )
             if i < main.warmUp:
                 main.switchFunc.captureOfPack( main, main.device, main.ofPackage,
-                                               "up", resultDict, True )
+                                               "up", resultDict, True, main.tsharkInterface )
                 main.switchFunc.captureOfPack( main, main.device, main.ofPackage,
-                                               "down", resultDict, True )
+                                               "down", resultDict, True, main.tsharkInterface )
                 main.log.debug( "Before devices : " + str( main.Cluster.active( 0 ).CLI.devices() ) )
                 main.Cluster.active( 0 ).CLI.removeDevice( "of:0000000000000001" )
                 main.log.debug( "After devices : " + str( main.Cluster.active( 0 ).CLI.devices() ) )
@@ -176,9 +177,9 @@
                     main.Cluster.active( 0 ).CLI.removeDevice( "of:0000000000000001" )
             else:
                 main.switchFunc.captureOfPack( main, main.device, main.ofPackage,
-                                               "up", resultDict, False )
+                                               "up", resultDict, False, main.tsharkInterface )
                 main.switchFunc.captureOfPack( main, main.device, main.ofPackage,
-                                                "down", resultDict, False )
+                                                "down", resultDict, False, main.tsharkInterface )
                 main.log.debug( "Before devices : " + str( main.Cluster.active( 0 ).CLI.devices() ) )
                 main.Cluster.active( 0 ).CLI.removeDevice( "of:0000000000000001" )
                 main.log.debug("After devices : " + str(main.Cluster.active(0).CLI.devices()))
