diff --git a/tests/functional/Voltha_PODTests.robot b/tests/functional/Voltha_PODTests.robot
index 8fb1fe2..741e764 100644
--- a/tests/functional/Voltha_PODTests.robot
+++ b/tests/functional/Voltha_PODTests.robot
@@ -579,6 +579,55 @@
         ...    The downstream bandwidth guarantee was not met (${pct_limit_dn}% of resv)
     END
 
+Validate parsing of data traffic through voltha using tech profile
+    [Documentation]    Assuming that test1 was executed where all the ONUs are authenticated/DHCP/pingable
+    ...    Prerequisite tools : Tcpdump and Mausezahn traffic generator on both RG and DHCP/BNG VMs
+    ...    Install jq tool to read json file, where test suite is being running
+    ...    Make sure 9999 port is enabled or forwarded for both upsteam and downstream direction
+    ...    This test sends UDP packets on port 9999 with pbits between 0 and 7 and validates that
+    ...    the pbits are preserved by the PON.
+    [Tags]    dataplane    TechProfile    VOL-2054
+    [Setup]    Start Logging    TechProfile
+    [Teardown]    Run Keywords    Collect Logs
+    ...           AND    Stop Logging    TechProfile
+    Pass Execution If   '${has_dataplane}'=='False'
+    ...    Skipping test: Technology profile validation can be done only in physical pod
+    FOR    ${I}    IN RANGE    0    ${num_onus}
+        ${src}=    Set Variable    ${hosts.src[${I}]}
+        ${dst}=    Set Variable    ${hosts.dst[${I}]}
+
+        ${bng_ip}=    Get Variable Value    ${dst['noroot_ip']}
+        ${bng_user}=    Get Variable Value    ${dst['noroot_user']}
+        ${bng_pass}=    Get Variable Value    ${dst['noroot_pass']}
+        Pass Execution If    not ("${bng_ip}" and "${bng_user}" and "${bng_pass}")
+        ...    Skipping test: credentials for BNG login required in deployment config
+
+        ${stdout}    ${stderr}    ${rc}=    Execute Remote Command    which mausezahn tcpdump
+        ...    ${src['ip']}    ${src['user']}    ${src['pass']}    ${src['container_type']}    ${src['container_name']}
+        Pass Execution If    ${rc} != 0    Skipping test: mausezahn / tcpdump not found on the RG
+        ${stdout}    ${stderr}    ${rc}=    Execute Remote Command    which mausezahn tcpdump
+        ...    ${bng_ip}    ${bng_user}    ${bng_pass}    ${dst['container_type']}    ${dst['container_name']}
+        Pass Execution If    ${rc} != 0    Skipping test: mausezahn / tcpdump not found on the BNG
+        Log    Upstream test
+        Run Keyword If    ${has_dataplane}    Wait Until Keyword Succeeds    ${timeout}    2s
+        ...    Create traffic with each pbit and capture at other end
+        ...    ${dst['dp_iface_ip_qinq']}    ${dst['dp_iface_name']}    ${src['dp_iface_name']}
+        ...    0    udp    9999    0    vlan
+        ...    ${bng_ip}    ${bng_user}    ${bng_pass}    ${dst['container_type']}    ${dst['container_name']}
+        ...    ${src['ip']}    ${src['user']}    ${src['pass']}    ${src['container_type']}    ${src['container_name']}
+        Log    Downstream test
+        ${rg_ip}    ${stderr}    ${rc}=    Execute Remote Command
+        ...    ifconfig ${src['dp_iface_name']} | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1 }'
+        ...    ${src['ip']}    ${src['user']}    ${src['pass']}    ${src['container_type']}    ${src['container_name']}
+        Should Be Equal As Integers    ${rc}    0    Could not get RG's IP address
+        Run Keyword If    ${has_dataplane}    Wait Until Keyword Succeeds    ${timeout}    2s
+        ...    Create traffic with each pbit and capture at other end
+        ...    ${rg_ip}    ${src['dp_iface_name']}    ${dst['dp_iface_name']}.${src['s_tag']}
+        ...    0    udp    9999    ${src['c_tag']}    udp
+        ...    ${src['ip']}    ${src['user']}    ${src['pass']}    ${src['container_type']}    ${src['container_name']}
+        ...    ${bng_ip}    ${bng_user}    ${bng_pass}    ${dst['container_type']}    ${dst['container_name']}
+    END
+
 *** Keywords ***
 Setup Suite
     [Documentation]    Set up the test suite
@@ -595,4 +644,3 @@
     Delete All Devices and Verify
     # Execute normal test Setup Keyword
     Setup
-
