| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/shared/interfaces.robot
| Resource | resources/libraries/robot/shared/counters.robot
| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/shared/interfaces.robot
| Resource | resources/libraries/robot/shared/counters.robot
| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
| Resource | resources/libraries/robot/l2/l2_xconnect.robot
| Resource | resources/libraries/robot/ip/ip4.robot
| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
| Resource | resources/libraries/robot/l2/l2_xconnect.robot
| Resource | resources/libraries/robot/ip/ip4.robot
| | Run Keyword If | ${ret}==${FALSE} | Clear all counters on all DUTs
| | Send traffic on tg | ${duration} | ${rate}pps | ${framesize}
| | ... | ${topology_type} | warmup_time=0
| | Run Keyword If | ${ret}==${FALSE} | Clear all counters on all DUTs
| | Send traffic on tg | ${duration} | ${rate}pps | ${framesize}
| | ... | ${topology_type} | warmup_time=0
| | Run Keyword If | ${ret}==${FALSE} | Clear all counters on all DUTs
| | Send traffic on tg | ${duration} | ${rate} | ${framesize}
| | ... | ${topology_type} | warmup_time=0
| | Run Keyword If | ${ret}==${FALSE} | Clear all counters on all DUTs
| | Send traffic on tg | ${duration} | ${rate} | ${framesize}
| | ... | ${topology_type} | warmup_time=0
| | Run Keyword If | ${fail_on_loss} | No traffic loss occurred
| Traffic should pass with partial loss
| | Run Keyword If | ${fail_on_loss} | No traffic loss occurred
| Traffic should pass with partial loss
| | Run Keyword If | ${ret}==${FALSE} | Clear all counters on all DUTs
| | Send traffic on tg | ${duration} | ${rate} | ${framesize}
| | ... | ${topology_type} | warmup_time=0
| | Run Keyword If | ${ret}==${FALSE} | Clear all counters on all DUTs
| | Send traffic on tg | ${duration} | ${rate} | ${framesize}
| | ... | ${topology_type} | warmup_time=0
| | Run Keyword If | ${fail_on_loss} | Partial traffic loss accepted
| | ... | ${loss_acceptance} | ${loss_acceptance_type}
| | Run Keyword If | ${fail_on_loss} | Partial traffic loss accepted
| | ... | ${loss_acceptance} | ${loss_acceptance_type}
| | Send traffic on tg | -1 | ${rate} | ${framesize} | ${topology_type}
| | ... | warmup_time=0 | async_call=${True} | latency=${False}
| | ${ret}= | Is DPDK performance test
| | Send traffic on tg | -1 | ${rate} | ${framesize} | ${topology_type}
| | ... | warmup_time=0 | async_call=${True} | latency=${False}
| | ${ret}= | Is DPDK performance test