Fix TP pbit verification test.
The s-tag from the BNG also should carry the same pbit as the c-tag.
Otherwise the RG could receive pbit 0 instead of any other intended pbit
because the pbit from the s-tag is copied (possibly) by BAL to c-tag and
since the pbit on the s-tag default to 0 if not filled at BNG, it could
corrupt RGs pbit on the c-tag.
Change-Id: Icf4ee4d438d35bee4dc133b8a6503cd21222c1c7
diff --git a/libraries/utils.robot b/libraries/utils.robot
index c332041..bd03aa3 100755
--- a/libraries/utils.robot
+++ b/libraries/utils.robot
@@ -1360,14 +1360,17 @@
[Documentation] Generates upstream traffic using Mausezahn tool
... with each pbit and validates reception at other end using tcpdump
[Arguments] ${target_ip} ${target_iface} ${src_iface}
- ... ${packet_count} ${packet_type} ${vlan} ${tcpdump_filter}
+ ... ${packet_count} ${packet_type} ${c_vlan} ${s_vlan} ${direction} ${tcpdump_filter}
... ${dst_ip} ${dst_user} ${dst_pass} ${dst_container_type} ${dst_container_name}
... ${src_ip} ${src_user} ${src_pass} ${src_container_type} ${src_container_name}
FOR ${pbit} IN RANGE 8
Execute Remote Command sudo pkill mausezahn
... ${src_ip} ${src_user} ${src_pass} ${src_container_type} ${src_container_name}
${var1}= Set Variable sudo mausezahn ${src_iface} -B ${target_ip} -c ${packet_count}
- ${var2}= Set Variable -t ${packet_type} "dp=80, flags=rst, p=aa:aa:aa" -Q ${pbit}:${vlan}
+ ${var2}= Run Keyword If "${direction}"=="downstream"
+ ... Set Variable -t ${packet_type} "dp=80, flags=rst, p=aa:aa:aa" -Q ${pbit}:${s_vlan},${pbit}:${c_vlan}
+ ... ELSE
+ ... Set Variable -t ${packet_type} "dp=80, flags=rst, p=aa:aa:aa" -Q ${pbit}:${c_vlan}
${cmd}= Set Variable ${var1} ${var2}
Start Remote Command ${cmd} ${src_ip} ${src_user} ${src_pass}
... ${src_container_type} ${src_container_name}
diff --git a/tests/dt-workflow/Voltha_DT_PODTests.robot b/tests/dt-workflow/Voltha_DT_PODTests.robot
index 5aa46e6..c44116e 100755
--- a/tests/dt-workflow/Voltha_DT_PODTests.robot
+++ b/tests/dt-workflow/Voltha_DT_PODTests.robot
@@ -608,7 +608,7 @@
Log Upstream test
Run Keyword If ${has_dataplane} Create traffic with each pbit and capture at other end
... ${dst['dp_iface_ip_qinq']} ${dst['dp_iface_name']} ${src_iface_name}
- ... 0 tcp ${src['c_tag']} vlan
+ ... 0 tcp ${src['c_tag']} ${src['s_tag']} upstream 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
@@ -617,8 +617,8 @@
... ${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} Create traffic with each pbit and capture at other end
- ... ${rg_ip} ${src_iface_name} ${dst['dp_iface_name']}.${src['s_tag']}
- ... 0 tcp ${src['c_tag']} tcp
+ ... ${rg_ip} ${src_iface_name} ${dst['dp_iface_name']}
+ ... 0 tcp ${src['c_tag']} ${src['s_tag']} downstream tcp
... ${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
diff --git a/tests/functional/Voltha_PODTests.robot b/tests/functional/Voltha_PODTests.robot
index 7faba13..b513e0d 100755
--- a/tests/functional/Voltha_PODTests.robot
+++ b/tests/functional/Voltha_PODTests.robot
@@ -624,7 +624,7 @@
... Install jq tool to read json file, where test suite is being running
... This test sends TCP packets with pbits between 0 and 7 and validates that
... the pbits are preserved by the PON.
- [Tags] dataplane TechProfile VOL-2054 notready
+ [Tags] dataplane TechProfile VOL-2054
[Setup] Start Logging TechProfile
[Teardown] Run Keywords Collect Logs
... AND Stop Logging TechProfile
@@ -649,7 +649,7 @@
Log Upstream test
Run Keyword If ${has_dataplane} Create traffic with each pbit and capture at other end
... ${dst['dp_iface_ip_qinq']} ${dst['dp_iface_name']} ${src['dp_iface_name']}
- ... 0 tcp 0 vlan
+ ... 0 tcp 0 ${src['s_tag']} upstream 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
@@ -658,8 +658,8 @@
... ${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} Create traffic with each pbit and capture at other end
- ... ${rg_ip} ${src['dp_iface_name']} ${dst['dp_iface_name']}.${src['s_tag']}
- ... 0 tcp ${src['c_tag']} tcp
+ ... ${rg_ip} ${src['dp_iface_name']} ${dst['dp_iface_name']}
+ ... 0 tcp ${src['c_tag']} ${src['s_tag']} downstream tcp
... ${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