[action] [PR:21150] [ptf] Consider only expected packets for timeout (#21150) #21233
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why I did it
dhcp_relay/test_dhcp_relay_stress.py::test_dhcp_relay_stress[offer|ack] tests are failing on dualtor topologies with signature Failed: /tmp/dhcp_stress_test_offer.json is missing, see issue aristanetworks/sonic-qual.msft#325 for more details.
Work item tracking
Microsoft ADO (number only):
How I did it
count_matched_packets method is getting stuck in a while loop as long as ptf server port receives any packet (Ex: in dualtor case, we do see continuous ICMP packets on ptf port). Fix is to consider only expected packets w.r.t timeout (similar to count_matched_packets_all_ports logic).
How to verify it
With this PR changes we should not see dhcp_relay/test_dhcp_relay_stress.py failures on dualtor topologies with symptom Failed: /tmp/dhcp_stress_test_offer.json is missing.