The PFC multi-dut testcases checks the pause frame count transmitted and received by the DUT during the test.
Testcase needed modifications to handle the multiple line card scenario.
Summary:
Fixes # (issue)
Issue #12887
Type of change
[X] Bug fix
[ ] Testbed and Framework(new/improvement)
[ ] Test case(new/improvement)
Back port request
[ ] 202012
[ ] 202205
[ ] 202305
[ ] 202311
[X] 202405
Approach
What is the motivation for this PR?
The PFC lossless testcases uses multidut_helper file to start the traffic and verify the results. One of the verifications involves checking the pause frames being sent and received by the DUT.
A single DUT (object duthost) was being sent to the function 'verify_pause_frame_count' to verify the sent and received pause frames. This will work fine for - Single line card single ASIC and Single line card multiple ASIC - because it is single DUT only.
However, this would fail for multiple line card scenario. Here, the PFC receiving and sending line cards are different, and hence the failure.
How did you do it?
In the multidut_helper file, there is now a code to identify 'rx_dut' (Ingress DUT receiving packets from IXIA) and 'tx_dut' (Egress DUT sending packets to IXIA).
Instead of sending single DUT variable to verify_pause_frame_count, it is now passing rx_dut and tx_dut to it. The 'verify_pause_frame_count' will check the incoming pause frame counts on tx_dut and outgoing pause frame counts on rx_dut.
Since line card is same in case of single line card, the 'rx_dut' and 'tx_dut' will be same and hence will continue to work as is.
How did you verify/test it?
Verified with multiple line card scenario test with both 100 and 400Gbps ingress and egress line cards.
Code snapshot:
20:00:16 traffic_generation.verify_pause_frame_co L1509 INFO | Rx Pause Frames:2154763 on DUT:ixre-egl-board72, port:Ethernet48 and Prio:3
20:00:18 traffic_generation.verify_pause_frame_co L1509 INFO | Rx Pause Frames:2154763 on DUT:ixre-egl-board72, port:Ethernet48 and Prio:4
20:00:19 traffic_generation.verify_pause_frame_co L1528 INFO | Tx Pause Frames:1371912 on DUT:ixre-egl-board71, port:Ethernet40 and Prio:3
20:00:20 traffic_generation.verify_pause_frame_co L1528 INFO | Tx Pause Frames:1371912 on DUT:ixre-egl-board71, port:Ethernet40 and Prio:4
Any platform specific information?
Supported testbed topology if it's a new test case?
Description of PR
The PFC multi-dut testcases checks the pause frame count transmitted and received by the DUT during the test.
Testcase needed modifications to handle the multiple line card scenario.
Summary: Fixes # (issue) Issue #12887
Type of change
Back port request
Approach
What is the motivation for this PR?
The PFC lossless testcases uses multidut_helper file to start the traffic and verify the results. One of the verifications involves checking the pause frames being sent and received by the DUT.
A single DUT (object duthost) was being sent to the function 'verify_pause_frame_count' to verify the sent and received pause frames. This will work fine for - Single line card single ASIC and Single line card multiple ASIC - because it is single DUT only.
However, this would fail for multiple line card scenario. Here, the PFC receiving and sending line cards are different, and hence the failure.
How did you do it?
In the multidut_helper file, there is now a code to identify 'rx_dut' (Ingress DUT receiving packets from IXIA) and 'tx_dut' (Egress DUT sending packets to IXIA).
Instead of sending single DUT variable to verify_pause_frame_count, it is now passing rx_dut and tx_dut to it. The 'verify_pause_frame_count' will check the incoming pause frame counts on tx_dut and outgoing pause frame counts on rx_dut.
Since line card is same in case of single line card, the 'rx_dut' and 'tx_dut' will be same and hence will continue to work as is.
How did you verify/test it?
Verified with multiple line card scenario test with both 100 and 400Gbps ingress and egress line cards.
Code snapshot:
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation