diff --git a/libraries/onos.robot b/libraries/onos.robot
index 8243f6c..76c8686 100755
--- a/libraries/onos.robot
+++ b/libraries/onos.robot
@@ -708,31 +708,13 @@
     Wait Until Keyword Succeeds     10m     5s      Count ADDED flows
     ...     ${onos_ssh_connection}  ${targetFlows}  ${deviceId}
 
-Get Bandwidth Details
+Get Limiting Bandwidth Details
     [Arguments]    ${bandwidth_profile_name}
     [Documentation]    Collects the bandwidth profile details for the given bandwidth profile and
     ...    returns the limiting bandwidth
-    ${bandwidth_profile_values}=    Execute ONOS CLI Command    ${ONOS_SSH_IP}    ${ONOS_SSH_PORT}
-    ...    bandwidthprofile ${bandwidth_profile_name}
-    @{bandwidth_profile_array}=    Split String    ${bandwidth_profile_values}    ,
-    @{parameter_value_pair}=    Split String    ${bandwidth_profile_array[1]}    =
-    ${bandwidthparameter}=    Set Variable    ${parameter_value_pair[0]}
-    ${value}=    Set Variable    ${parameter_value_pair[1]}
-    ${cir_value}    Run Keyword If    '${bandwidthparameter}' == ' committedInformationRate'
-    ...    Set Variable    ${value}
-    @{parameter_value_pair}=    Split String    ${bandwidth_profile_array[2]}    =
-    ${bandwidthparameter}=    Set Variable    ${parameter_value_pair[0]}
-    ${value}=    Set Variable    ${parameter_value_pair[1]}
-    ${cbs_value}    Run Keyword If    '${bandwidthparameter}' == ' committedBurstSize'    Set Variable    ${value}
-    @{parameter_value_pair}=    Split String    ${bandwidth_profile_array[3]}    =
-    ${bandwidthparameter}=    Set Variable    ${parameter_value_pair[0]}
-    ${value}=    Set Variable    ${parameter_value_pair[1]}
-    ${eir_value}    Run Keyword If    '${bandwidthparameter}' == ' exceededInformationRate'   Set Variable    ${value}
-    @{parameter_value_pair}=    Split String    ${bandwidth_profile_array[4]}    =
-    ${bandwidthparameter}=    Set Variable    ${parameter_value_pair[0]}
-    ${value}=    Set Variable    ${parameter_value_pair[1]}
-    ${ebs_value}    Run Keyword If    '${bandwidthparameter}' == ' exceededBurstSize'    Set Variable    ${value}
-    ${limiting_BW}=    Evaluate    ${cir_value}+${eir_value}
+    ${cir}    ${cbs}    ${eir}    ${ebs}    ${air}    Get Bandwidth Profile Details
+    ...    ${ONOS_SSH_IP}    ${ONOS_SSH_PORT}    ${bandwidth_profile_name}
+    ${limiting_BW}=    Evaluate    ${eir}+${cir}+${air}
     [Return]    ${limiting_BW}
 
 Validate Deleted Device Cleanup In ONOS
diff --git a/libraries/utils.robot b/libraries/utils.robot
index bba08e1..e8e66fe 100755
--- a/libraries/utils.robot
+++ b/libraries/utils.robot
@@ -1241,7 +1241,7 @@
     [Arguments]    ${src}    ${server}    ${args}
     [Documentation]    Login to ${src} and run the iperf3 client against ${server} using ${args}.
     ...    Return a Dictionary containing the results of the test.
-    ${output}    ${stderr}    ${rc}=    Execute Remote Command    iperf3 -J -c ${server} ${args} | jq -M -c '.'
+    ${output}    ${stderr}    ${rc}=    Execute Remote Command    iperf3 -J -c ${server} ${args} -l 1024 -M 1350 | jq -M -c '.'
     ...    ${src['ip']}    ${src['user']}    ${src['pass']}    ${src['container_type']}    ${src['container_name']}
     Should Be Equal As Integers    ${rc}    0
     ${object}=    Evaluate    json.loads(r'''${output}''')    json
diff --git a/tests/dt-workflow/Voltha_DT_PODTests.robot b/tests/dt-workflow/Voltha_DT_PODTests.robot
index ea8ac82..fcbcc33 100644
--- a/tests/dt-workflow/Voltha_DT_PODTests.robot
+++ b/tests/dt-workflow/Voltha_DT_PODTests.robot
@@ -466,10 +466,10 @@
         ${subscriber_id}=    Set Variable    ${of_id}/${onu_port}
         ${bandwidth_profile_name}    Get Bandwidth Profile Name For Given Subscriber    ${subscriber_id}
         ...    upstreamBandwidthProfile
-        ${limiting_bw_value_upstream}    Get Bandwidth Details    ${bandwidth_profile_name}
+        ${limiting_bw_value_upstream}    Get Limiting Bandwidth Details    ${bandwidth_profile_name}
         ${bandwidth_profile_name}    Get Bandwidth Profile Name For Given Subscriber    ${subscriber_id}
         ...    downstreamBandwidthProfile
-        ${limiting_bw_value_dnstream}    Get Bandwidth Details    ${bandwidth_profile_name}
+        ${limiting_bw_value_dnstream}    Get Limiting Bandwidth Details    ${bandwidth_profile_name}
 
         # Stream TCP packets from RG to server
         ${updict}=    Run Iperf3 Test Client    ${src}    server=${dst['dp_iface_ip_qinq']}
@@ -521,10 +521,10 @@
         ${subscriber_id}=    Set Variable    ${of_id}/${onu_port}
         ${bandwidth_profile_name}    Get Bandwidth Profile Name For Given Subscriber    ${subscriber_id}
         ...    upstreamBandwidthProfile
-        ${limiting_bw_value_upstream}    Get Bandwidth Details    ${bandwidth_profile_name}
+        ${limiting_bw_value_upstream}    Get Limiting Bandwidth Details    ${bandwidth_profile_name}
         ${bandwidth_profile_name}    Get Bandwidth Profile Name For Given Subscriber    ${subscriber_id}
         ...    downstreamBandwidthProfile
-        ${limiting_bw_value_dnstream}    Get Bandwidth Details    ${bandwidth_profile_name}
+        ${limiting_bw_value_dnstream}    Get Limiting Bandwidth Details    ${bandwidth_profile_name}
 
         # Stream UDP packets from RG to server
         ${uprate}=    Run Keyword If    ${limiting_bw_value_upstream} != 1000000
diff --git a/tests/functional/Voltha_PODTests.robot b/tests/functional/Voltha_PODTests.robot
index 008da22..98dffe9 100644
--- a/tests/functional/Voltha_PODTests.robot
+++ b/tests/functional/Voltha_PODTests.robot
@@ -519,10 +519,10 @@
         ${subscriber_id}=    Set Variable    ${of_id}/${onu_port}
         ${bandwidth_profile_name}    Get Bandwidth Profile Name For Given Subscriber    ${subscriber_id}
         ...    upstreamBandwidthProfile
-        ${limiting_bw_value_upstream}    Get Bandwidth Details    ${bandwidth_profile_name}
+        ${limiting_bw_value_upstream}    Get Limiting Bandwidth Details    ${bandwidth_profile_name}
         ${bandwidth_profile_name}    Get Bandwidth Profile Name For Given Subscriber    ${subscriber_id}
         ...    downstreamBandwidthProfile
-        ${limiting_bw_value_dnstream}    Get Bandwidth Details    ${bandwidth_profile_name}
+        ${limiting_bw_value_dnstream}    Get Limiting Bandwidth Details    ${bandwidth_profile_name}
 
         # Stream TCP packets from RG to server
         ${updict}=    Run Iperf3 Test Client    ${src}    server=${dst['dp_iface_ip_qinq']}
@@ -574,10 +574,10 @@
         ${subscriber_id}=    Set Variable    ${of_id}/${onu_port}
         ${bandwidth_profile_name}    Get Bandwidth Profile Name For Given Subscriber    ${subscriber_id}
         ...    upstreamBandwidthProfile
-        ${limiting_bw_value_upstream}    Get Bandwidth Details    ${bandwidth_profile_name}
+        ${limiting_bw_value_upstream}    Get Limiting Bandwidth Details    ${bandwidth_profile_name}
         ${bandwidth_profile_name}    Get Bandwidth Profile Name For Given Subscriber    ${subscriber_id}
         ...    downstreamBandwidthProfile
-        ${limiting_bw_value_dnstream}    Get Bandwidth Details    ${bandwidth_profile_name}
+        ${limiting_bw_value_dnstream}    Get Limiting Bandwidth Details    ${bandwidth_profile_name}
 
         # Stream UDP packets from RG to server
         ${uprate}=    Run Keyword If    ${limiting_bw_value_upstream} != 1000000
