[snappi]:Change ipv4 to random-src-port udp traffic.#14029
[snappi]:Change ipv4 to random-src-port udp traffic.#14029yejianquan merged 6 commits intosonic-net:masterfrom
Conversation
tests/snappi_tests/multidut/pfc/files/lossless_response_to_external_pause_storms_helper.py
Outdated
Show resolved
Hide resolved
| src_port = random.randint(5000, 6000) | ||
| udp.src_port.increment.start = src_port | ||
| udp.src_port.increment.step = 1 | ||
| udp.src_port.increment.count = 2 |
There was a problem hiding this comment.
Previously: 400G port speed1 traffic stream at 100%
Now: 400G port speed 2 traffic streams at 50% each
| tx_port_name = testbed_config.ports[tx_port_id].name | ||
| rx_port_name = testbed_config.ports[rx_port_id].name | ||
| data_flow_rate_percent = int(100 / len(prio_list)) | ||
| data_flow_rate_percent = int(99.98 / len(prio_list)) |
There was a problem hiding this comment.
@amitpawar12 @vmittal-msft : Cisco recommendation is not to use 100% based on their platforms. Is it is ok for VOQ platform or do we see any concern ? If any concern we can make it platform specific
There was a problem hiding this comment.
IMO, the change should be platform specific.
| src_port = random.randint(5000, 6000) | ||
| udp.src_port.increment.start = src_port | ||
| udp.src_port.increment.step = 1 | ||
| udp.src_port.increment.count = 1 |
There was a problem hiding this comment.
if the total count is 1, one flow will use only one UDP port. When test case has two test flows, there is still 50% chance that two flows may be sent on the same physical link.
maybe we should increase the total count to 2 or higher? better to define it as a common variable in case it needs to be changed.
There was a problem hiding this comment.
we can leave this as it is for now. and monitor it for further improvements when needed.
There was a problem hiding this comment.
If traffic on each queue <= 200G, we can remove random and set fixed udp port for each queue.
Something like src_port = 5000 + queue_id
There was a problem hiding this comment.
It would be good to have a random int between let's say (5000,6000) and have (PRIO+1) as multiplier so that each priority stream would have different source-destination port ranges.
The count can be also of higher value, like let's say 100/500 ensuring variety of UDP streams.
| data_flow.tx_rx.port.rx_name = rx_port_name | ||
|
|
||
| eth, ipv4 = data_flow.packet.ethernet().ipv4() | ||
| eth, ipv4, udp = data_flow.packet.ethernet().ipv4().udp() |
There was a problem hiding this comment.
Seems only packet-chassis will be affected by the backplane issue. Should we use an if..else.. to show it's platform specific behavior?
|
The pre-commit check detected issues in the files touched by this pull request. Detailed pre-commit check results: To run the pre-commit checks locally, you can follow below steps:
|
This PR proposes to change the IPv4 traffic used in snappi_tests/multidut to UDP traffic with different src ports for every stream. We need this change since this allows the traffic to be well load-balanced in the backplane ports of the Multi-ASIC architecture. This doesn't affect the other platforms, since they should continue to behave the same irrespective of IPv4 or UDP traffic. This allows 9 extra tests passing in multi-dut. co-authorized by: [email protected]
|
Cherry-pick PR to 202405: #14470 |
This PR proposes to change the IPv4 traffic used in snappi_tests/multidut to UDP traffic with different src ports for every stream. We need this change since this allows the traffic to be well load-balanced in the backplane ports of the Multi-ASIC architecture. This doesn't affect the other platforms, since they should continue to behave the same irrespective of IPv4 or UDP traffic. This allows 9 extra tests passing in multi-dut. co-authorized by: [email protected]
This PR proposes to change the IPv4 traffic used in snappi_tests/multidut to UDP traffic with different src ports for every stream. We need this change since this allows the traffic to be well load-balanced in the backplane ports of the Multi-ASIC architecture. This doesn't affect the other platforms, since they should continue to behave the same irrespective of IPv4 or UDP traffic. This allows 9 extra tests passing in multi-dut. co-authorized by: [email protected]
This PR proposes to change the IPv4 traffic used in snappi_tests/multidut to UDP traffic with different src ports for every stream. We need this change since this allows the traffic to be well load-balanced in the backplane ports of the Multi-ASIC architecture. This doesn't affect the other platforms, since they should continue to behave the same irrespective of IPv4 or UDP traffic. This allows 9 extra tests passing in multi-dut. co-authorized by: [email protected]
This PR proposes to change the IPv4 traffic used in snappi_tests/multidut to UDP traffic with different src ports for every stream. We need this change since this allows the traffic to be well load-balanced in the backplane ports of the Multi-ASIC architecture. This doesn't affect the other platforms, since they should continue to behave the same irrespective of IPv4 or UDP traffic. This allows 9 extra tests passing in multi-dut. co-authorized by: [email protected]
This PR proposes to change the IPv4 traffic used in snappi_tests/multidut to UDP traffic with different src ports for every stream.
We need this change since this allows the traffic to be well load-balanced in the backplane ports of the Multi-ASIC architecture. This doesn't affect the other platforms, since they should continue to behave the same irrespective of IPv4 or UDP traffic.
@selldinesh , @kamalsahu0001 , @sdszhang : FYI.
This allows 9 extra tests passing in multi-dut.