| Library | resources.libraries.python.Policer
| ...
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC
-| ... | NIC_Intel-X520-DA2 | IP4FWD | BASE | DOT1Q
+| ... | NIC_Intel-X520-DA2 | IP4FWD | BASE | POLICE_MARK
| ...
| Suite Setup | Set up 3-node performance topology with DUT's NIC model
| ... | L3 | Intel-X520-DA2
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput IPv4 policer test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
+| Local template
| | [Documentation]
| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
| | ... | [Ver] Find NDR or PDR for ${framesize} frames using binary search\
| | ... | start at 10GE linerate.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
-| | And Add PCI devices to DUTs in 3-node single link topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
+| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \
-| | ... | phy core, 1 receive queue per NIC port. [Ver] Find NDR for 64 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps.
-| | [Tags] | 64B | 1T1C | STHREAD | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | [Tags] | 64B | 1C | NDRDISC
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \
-| | ... | phy core, 1 receive queue per NIC port. [Ver] Find PDR for 64 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps, LT=0.5%.
-| | [Tags] | 64B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \
-| | ... | phy core, 1 receive queue per NIC port. [Ver] Find NDR for 1518 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps.
-| | [Tags] | 1518B | 1T1C | STHREAD | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | [Tags] | 1518B | 1C | NDRDISC
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \
-| | ... | phy core, 1 receive queue per NIC port. [Ver] Find PDR for 1518 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps, LT=0.5%.
-| | [Tags] | 1518B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \
-| | ... | phy core, 1 receive queue per NIC port. [Ver] Find NDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 10kpps.
-| | [Tags] | 9000B | 1T1C | STHREAD | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | [Tags] | 9000B | 1C | NDRDISC
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 thread, 1 \
-| | ... | phy core, 1 receive queue per NIC port. [Ver] Find PDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step 10kpps, \
-| | ... | LT=0.5%.
-| | [Tags] | 9000B | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | [Tags] | 9000B | 1C | PDRDISC | SKIP_PATCH
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \
-| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 64 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps.
-| | [Tags] | 64B | 2T2C | MTHREAD | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | [Tags] | 64B | 2C | NDRDISC
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \
-| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 64 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps, LT=0.5%.
-| | [Tags] | 64B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \
-| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 1518 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps.
-| | [Tags] | 1518B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \
-| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 1518 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps, LT=0.5%.
-| | [Tags] | 1518B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \
-| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 10kpps.
-| | [Tags] | 9000B | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | [Tags] | 9000B | 2C | NDRDISC | SKIP_PATCH
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc12-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threads, 2 \
-| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step 10kpps, \
-| | ... | LT=0.5%.
-| | [Tags] | 9000B | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | [Tags] | 9000B | 2C | PDRDISC | SKIP_PATCH
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \
-| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 64 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps.
-| | [Tags] | 64B | 4T4C | MTHREAD | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | [Tags] | 64B | 4C | NDRDISC
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \
-| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find PDR for 64 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps, LT=0.5%.
-| | [Tags] | 64B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \
-| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 1518 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps.
-| | [Tags] | 1518B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \
-| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find PDR for 1518 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 50kpps, LT=0.5%.
-| | [Tags] | 1518B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \
-| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 10kpps.
-| | [Tags] | 9000B | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | [Tags] | 9000B | 4C | NDRDISC | SKIP_PATCH
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc18-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threads, 4 \
-| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find PDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step 10kpps, \
-| | ... | LT=0.5%.
-| | [Tags] | 9000B | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR