*** Keywords ***
| Setup performance rate Variables
-| | [Documentation] | Setup performance rates as Suite Variables
+| | [Documentation]
+| | ... | Setup performance linerates as Suite Variables. Variables are used
+| | ... | as search boundaries in RFC2544 throughput search.
| | ...
| | ... | _NOTE:_ This KW sets following suite variables:
| | ... | - 10Ge_linerate_pps_64B - Maximum number of packet per second
| | Set Suite Variable | ${40Ge_linerate_pps_9008B} | 553832
| Setup performance global Variables
-| | [Documentation] | Setup performance global Variables
+| | [Documentation]
+| | ... | Setup suite Variables. Variables are used across performance testing.
| | ...
| | ... | _NOTE:_ This KW sets following suite variables:
-| | ... | - ${glob_loss_acceptance} - Loss acceptance treshold
-| | ... | - ${glob_loss_acceptance_type} - Loss acceptance treshold type
+| | ... | - glob_loss_acceptance - Loss acceptance treshold
+| | ... | - glob_loss_acceptance_type - Loss acceptance treshold type
| | ...
| | Set Suite Variable | ${glob_loss_acceptance} | 0.5
| | Set Suite Variable | ${glob_loss_acceptance_type} | percentage
| 2-node circular Topology Variables Setup
+| | [Documentation]
+| | ... | Compute path for testing on two given nodes in circular
+| | ... | topology and set corresponding suite variables.
+| | ...
+| | ... | _NOTE:_ This KW sets following suite variables:
+| | ... | - tg - TG node
+| | ... | - tg_if1 - 1st TG interface towards DUT.
+| | ... | - tg_if2 - 2nd TG interface towards DUT.
+| | ... | - dut1 - DUT1 node
+| | ... | - dut1_if1 - 1st DUT interface towards TG.
+| | ... | - dut1_if2 - 2nd DUT interface towards TG.
+| | ...
| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
| | Compute Path
| | ${tg_if1} | ${tg}= | Next Interface
| | Set Suite Variable | ${dut1_if2}
| 3-node circular Topology Variables Setup
+| | [Documentation]
+| | ... | Compute path for testing on three given nodes in circular
+| | ... | topology and set corresponding suite variables.
+| | ...
+| | ... | _NOTE:_ This KW sets following suite variables:
+| | ... | - tg - TG node
+| | ... | - tg_if1 - TG interface towards DUT1.
+| | ... | - tg_if2 - TG interface towards DUT2.
+| | ... | - dut1 - DUT1 node
+| | ... | - dut1_if1 - DUT1 interface towards TG.
+| | ... | - dut1_if2 - DUT1 interface towards DUT2.
+| | ... | - dut2 - DUT2 node
+| | ... | - dut2_if1 - DUT2 interface towards TG.
+| | ... | - dut2_if2 - DUT2 interface towards DUT1.
+| | ...
| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']}
| | ... | ${nodes['TG']}
| | Compute Path
| | Set Suite Variable | ${dut2_if2}
| 2-node circular Topology Variables Setup with DUT interface model
-| | [Documentation] | Find a path between TG-DUT1-TG based on interface
-| | ... | model provided as an argument. Set suite variables
-| | ... | tg, tg_if1, tg_if2, dut1, dut1_if1, dut1_if2,
+| | [Documentation]
+| | ... | Compute path for testing on two given nodes in circular topology
+| | ... | based on interface model provided as an argument and set
+| | ... | corresponding suite variables.
+| | ...
+| | ... | *Arguments:*
+| | ... | - iface_model - Interface model. Type: string
+| | ...
+| | ... | _NOTE:_ This KW sets following suite variables:
+| | ... | - tg - TG node
+| | ... | - tg_if1 - 1st TG interface towards DUT.
+| | ... | - tg_if2 - 2nd TG interface towards DUT.
+| | ... | - dut1 - DUT1 node
+| | ... | - dut1_if1 - 1st DUT interface towards TG.
+| | ... | - dut1_if2 - 2nd DUT interface towards TG.
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| 2-node circular Topology Variables Setup with DUT interface model \
+| | ... | \| Intel-X520-DA2 \|
| | [Arguments] | ${iface_model}
| | ${iface_model_list}= | Create list | ${iface_model}
| | Append Node | ${nodes['TG']}
| | Set Suite Variable | ${dut1_if2}
| 3-node circular Topology Variables Setup with DUT interface model
-| | [Documentation] | Find a path between TG-DUT1-DUT2-TG based on interface
-| | ... | model provided as an argument. Set suite variables
-| | ... | tg, tg_if1, tg_if2, dut1, dut1_if1, dut1_if2,
-| | ... | dut2, dut2_if1, dut2_if2
+| | [Documentation]
+| | ... | Compute path for testing on three given nodes in circular topology
+| | ... | based on interface model provided as an argument and set
+| | ... | corresponding suite variables.
+| | ...
+| | ... | *Arguments:*
+| | ... | - iface_model - Interface model. Type: string
+| | ...
+| | ... | _NOTE:_ This KW sets following suite variables:
+| | ... | - tg - TG node
+| | ... | - tg_if1 - TG interface towards DUT1.
+| | ... | - tg_if2 - TG interface towards DUT2.
+| | ... | - dut1 - DUT1 node
+| | ... | - dut1_if1 - DUT1 interface towards TG.
+| | ... | - dut1_if2 - DUT1 interface towards DUT2.
+| | ... | - dut2 - DUT2 node
+| | ... | - dut2_if1 - DUT2 interface towards TG.
+| | ... | - dut2_if2 - DUT2 interface towards DUT1.
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| 3-node circular Topology Variables Setup with DUT interface model \
+| | ... | \| Intel-X520-DA2 \|
| | [Arguments] | ${iface_model}
| | ${iface_model_list}= | Create list | ${iface_model}
| | Append Node | ${nodes['TG']}
| | Set Suite Variable | ${dut2_if2}
| VPP interfaces in path are up in a 2-node circular topology
-| | [Documentation] | *Set UP state on VPP interfaces in path on nodes.*
+| | [Documentation]
+| | ... | *Set UP state on VPP interfaces in path on nodes in 2-node circular
+| | ... | topology.*
| | ...
| | Set Interface State | ${dut1} | ${dut1_if1} | up
| | Set Interface State | ${dut1} | ${dut1_if2} | up
| | Vpp Node Interfaces Ready Wait | ${dut1}
| VPP interfaces in path are up in a 3-node circular topology
-| | [Documentation] | *Set UP state on VPP interfaces in path on nodes.*
+| | [Documentation]
+| | ... | *Set UP state on VPP interfaces in path on nodes in 3-node circular
+| | ... | topology.*
| | ...
| | Set Interface State | ${dut1} | ${dut1_if1} | up
| | Set Interface State | ${dut1} | ${dut1_if2} | up
| | Vpp Node Interfaces Ready Wait | ${dut2}
| IPv4 forwarding initialized in a 3-node circular topology
-| | [Documentation] | Custom setup of IPv4 addresses on all DUT nodes and TG
+| | [Documentation]
+| | ... | Set UP state on VPP interfaces in path on nodes in 3-node circular
+| | ... | topology. Get the interface MAC addresses and setup ARP on all VPP
+| | ... | interfaces. Setup IPv4 addresses with /24 prefix on DUT-TG links and
+| | ... | /30 prefix on DUT1-DUT2 link. Set routing on both DUT nodes with
+| | ... | prefix /24 and next hop of neighbour DUT interface IPv4 address.
+| | ...
+| Custom setup of IPv4 addresses on all DUT nodes and TG
| | Set Interface State | ${dut1} | ${dut1_if1} | up
| | Set Interface State | ${dut1} | ${dut1_if2} | up
| | Set Interface State | ${dut2} | ${dut2_if1} | up
| | All Vpp Interfaces Ready Wait | ${nodes}
| IPv6 forwarding initialized in a 3-node circular topology
-| | [Documentation] | Custom setup of IPv6 topology on all DUT nodes
+| | [Documentation]
+| | ... | Set UP state on VPP interfaces in path on nodes in 3-node circular
+| | ... | topology. Get the interface MAC addresses and setup neighbour on all
+| | ... | VPP interfaces. Setup IPv6 addresses with /128 prefixes on all
+| | ... | interfaces. Set routing on both DUT nodes with prefix /64 and
+| | ... | next hop of neighbour DUT interface IPv6 address.
+| | ...
| | ${prefix}= | Set Variable | 64
| | ${tg1_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1}
| | ${tg1_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2}
| | Vpp Route Add | ${dut2} | 2001:1::0 | ${prefix} | 2001:3::1 | ${dut2_if1}
| L2 xconnect initialized in a 3-node circular topology
-| | [Documentation] | Custom setup of L2 xconnect topology
+| | [Documentation]
+| | ... | Setup L2 xconnect topology by cross connecting two interfaces on
+| | ... | each DUT. Interfaces are brought up.
+| | ... |
| | L2 setup xconnect on DUT | ${dut1} | ${dut1_if1} | ${dut1_if2}
| | L2 setup xconnect on DUT | ${dut2} | ${dut2_if1} | ${dut2_if2}
| | All Vpp Interfaces Ready Wait | ${nodes}
| L2 bridge domain initialized in a 3-node circular topology
-| | [Documentation] | Custom setup of L2 bridge topology
+| | [Documentation]
+| | ... | Setup L2 DB topology by adding two interfaces on each DUT into BD
+| | ... | that is created automatically with index 1. Learning is enabled.
+| | ... | Interfaces are brought up.
+| | ... |
| | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2}
| | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2}
| | All Vpp Interfaces Ready Wait | ${nodes}
| 2-node Performance Suite Setup
+| | [Documentation]
+| | ... | Suite preparation phase that setup default startup configuration of
+| | ... | VPP on all DUTs. Updates interfaces on all nodes and setup global
+| | ... | variables used in test cases. Initializes traffic generator.
+| | ...
+| | ... | *Arguments:*
+| | ... | - topology_type - Topology type. Type: string
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| 2-node Performance Suite Setup \| L2 \|
| | [Arguments] | ${topology_type}
| | Setup default startup configuration of VPP on all DUTs
| | Update All Interface Data On All Nodes | ${nodes}
| | ... | ${topology_type}
| 3-node Performance Suite Setup
+| | [Documentation]
+| | ... | Suite preparation phase that setup default startup configuration of
+| | ... | VPP on all DUTs. Updates interfaces on all nodes and setup global
+| | ... | variables used in test cases. Initializes traffic generator.
+| | ...
+| | ... | *Arguments:*
+| | ... | - topology_type - Topology type. Type: string
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| 3-node Performance Suite Setup \| L2 \|
| | [Arguments] | ${topology_type}
| | Setup default startup configuration of VPP on all DUTs
| | Update All Interface Data On All Nodes | ${nodes}
| | ... | ${topology_type}
2-node Performance Suite Setup with DUT's NIC model
+| | [Documentation]
+| | ... | Suite preparation phase that setup default startup configuration of
+| | ... | VPP on all DUTs. Updates interfaces on all nodes and setup global
+| | ... | variables used in test cases based on interface model provided as an
+| | ... | argument. Initializes traffic generator.
+| | ...
+| | ... | *Arguments:*
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - nic_model - Interface model. Type: string
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| 2-node Performance Suite Setup \| L2 \| Intel-X520-DA2 \|
| | [Arguments] | ${topology_type} | ${nic_model}
| | Setup default startup configuration of VPP on all DUTs
| | Update All Interface Data On All Nodes | ${nodes}
| | ... | ${topology_type}
3-node Performance Suite Setup with DUT's NIC model
+| | [Documentation]
+| | ... | Suite preparation phase that setup default startup configuration of
+| | ... | VPP on all DUTs. Updates interfaces on all nodes and setup global
+| | ... | variables used in test cases based on interface model provided as an
+| | ... | argument. Initializes traffic generator.
+| | ...
+| | ... | *Arguments:*
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - nic_model - Interface model. Type: string
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| 3-node Performance Suite Setup \| L2 \| Intel-X520-DA2 \|
| | [Arguments] | ${topology_type} | ${nic_model}
| | Setup default startup configuration of VPP on all DUTs
| | Update All Interface Data On All Nodes | ${nodes}
| | ... | ${topology_type}
| 3-node Performance Suite Teardown
+| | [Documentation]
+| | ... | Suite teardown phase with traffic generator teardown.
+| | ...
| | Teardown traffic generator | ${tg}
| Find NDR using linear search and pps
-| | [Documentation] | Find throughput by using RFC2544 linear search with
-| | ... | non drop rate
+| | [Documentation]
+| | ... | Find throughput by using RFC2544 linear search with non drop rate.
| | ...
| | ... | *Arguments:*
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${start_rate} - Initial start rate [pps]. Type: float
-| | ... | - ${step_rate} - Step of linear search [pps]. Type: float
-| | ... | - ${topology_type} - Topology type. Type: string
-| | ... | - ${min_rate} - Lower limit of search [pps]. Type: float
-| | ... | - ${max_rate} - Upper limit of search [pps]. Type: float
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - start_rate - Initial start rate [pps]. Type: float
+| | ... | - step_rate - Step of linear search [pps]. Type: float
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - min_rate - Lower limit of search [pps]. Type: float
+| | ... | - max_rate - Upper limit of search [pps]. Type: float
| | ...
| | ... | *Return:*
| | ... | - No value returned
| | ... | fail_on_loss=${False}
| Find PDR using linear search and pps
-| | [Documentation] | Find throughput by using RFC2544 linear search with
-| | ... | partial drop rate, with PDR threshold 0.5%.
+| | [Documentation]
+| | ... | Find throughput by using RFC2544 linear search with partial drop rate
+| | ... | with PDR threshold and type specified by parameter.
| | ...
| | ... | *Arguments:*
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${start_rate} - Initial start rate [pps]. Type: float
-| | ... | - ${step_rate} - Step of linear search [pps]. Type: float
-| | ... | - ${topology_type} - Topology type. Type: string
-| | ... | - ${min_rate} - Lower limit of search [pps]. Type: float
-| | ... | - ${max_rate} - Upper limit of search [pps]. Type: float
-| | ... | - ${loss_acceptance} - Accepted loss during search. Type: float
-| | ... | - ${loss_acceptance_type} - Percentage or frames. Type: string
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - start_rate - Initial start rate [pps]. Type: float
+| | ... | - step_rate - Step of linear search [pps]. Type: float
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - min_rate - Lower limit of search [pps]. Type: float
+| | ... | - max_rate - Upper limit of search [pps]. Type: float
+| | ... | - loss_acceptance - Accepted loss during search. Type: float
+| | ... | - loss_acceptance_type - Percentage or frames. Type: string
| | ...
| | ... | *Example:*
| | ...
| | ... | fail_on_loss=${False}
| Find NDR using binary search and pps
-| | [Documentation] | Find throughput by using RFC2544 binary search with
-| | ... | non drop rate
+| | [Documentation]
+| | ... | Find throughput by using RFC2544 binary search with non drop rate.
| | ...
| | ... | *Arguments:*
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${binary_min} - Lower boundary of search [pps]. Type: float
-| | ... | - ${binary_max} - Upper boundary of search [pps]. Type: float
-| | ... | - ${topology_type} - Topology type. Type: string
-| | ... | - ${min_rate} - Lower limit of search [pps]. Type: float
-| | ... | - ${max_rate} - Upper limit of search [pps]. Type: float
-| | ... | - ${threshold} - Threshold to stop search [pps]. Type: integer
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - binary_min - Lower boundary of search [pps]. Type: float
+| | ... | - binary_max - Upper boundary of search [pps]. Type: float
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - min_rate - Lower limit of search [pps]. Type: float
+| | ... | - max_rate - Upper limit of search [pps]. Type: float
+| | ... | - threshold - Threshold to stop search [pps]. Type: integer
| | ...
| | ... | *Example:*
| | ...
| | ... | fail_on_loss=${False}
| Find PDR using binary search and pps
-| | [Documentation] | Find throughput by using RFC2544 binary search with
-| | ... | partial drop rate, with PDR threshold 0.5%.
+| | [Documentation]
+| | ... | Find throughput by using RFC2544 binary search with partial drop rate
+| | ... | with PDR threshold and type specified by parameter.
| | ...
| | ... | *Arguments:*
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${binary_min} - Lower boundary of search [pps]. Type: float
-| | ... | - ${binary_max} - Upper boundary of search [pps]. Type: float
-| | ... | - ${topology_type} - Topology type. Type: string
-| | ... | - ${min_rate} - Lower limit of search [pps]. Type: float
-| | ... | - ${max_rate} - Upper limit of search [pps]. Type: float
-| | ... | - ${threshold} - Threshold to stop search [pps]. Type: integer
-| | ... | - ${loss_acceptance} - Accepted loss during search. Type: float
-| | ... | - ${loss_acceptance_type} - Percentage or frames. Type: string
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - binary_min - Lower boundary of search [pps]. Type: float
+| | ... | - binary_max - Upper boundary of search [pps]. Type: float
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - min_rate - Lower limit of search [pps]. Type: float
+| | ... | - max_rate - Upper limit of search [pps]. Type: float
+| | ... | - threshold - Threshold to stop search [pps]. Type: integer
+| | ... | - loss_acceptance - Accepted loss during search. Type: float
+| | ... | - loss_acceptance_type - Percentage or frames. Type: string
| | ...
| | ... | *Example:*
| | ...
| | ... | fail_on_loss=${False}
| Find NDR using combined search and pps
-| | [Documentation] | Find throughput by using RFC2544 combined search
-| | ... | (linear + binary) with non drop rate
+| | [Documentation]
+| | ... | Find throughput by using RFC2544 combined search (linear+binary) with
+| | ... | non drop rate.
| | ...
| | ... | *Arguments:*
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${start_rate} - Initial start rate [pps]. Type: float
-| | ... | - ${step_rate} - Step of linear search [pps]. Type: float
-| | ... | - ${topology_type} - Topology type. Type: string
-| | ... | - ${min_rate} - Lower limit of search [pps]. Type: float
-| | ... | - ${max_rate} - Upper limit of search [pps]. Type: float
-| | ... | - ${threshold} - Threshold to stop search [pps]. Type: integer
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - start_rate - Initial start rate [pps]. Type: float
+| | ... | - step_rate - Step of linear search [pps]. Type: float
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - min_rate - Lower limit of search [pps]. Type: float
+| | ... | - max_rate - Upper limit of search [pps]. Type: float
+| | ... | - threshold - Threshold to stop search [pps]. Type: integer
| | ...
| | ... | *Example:*
| | ...
| | ... | fail_on_loss=${False}
| Find PDR using combined search and pps
-| | [Documentation] | Find throughput by using RFC2544 combined search
-| | ... | (linear + binary) with partial drop rate, with PDR
-| | ... | threshold 0.5%.
+| | [Documentation]
+| | ... | Find throughput by using RFC2544 combined search (linear+binary) with
+| | ... | partial drop rate with PDR threshold and type specified by parameter.
| | ...
| | ... | *Arguments:*
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${start_rate} - Initial start rate [pps]. Type: float
-| | ... | - ${step_rate} - Step of linear search [pps]. Type: float
-| | ... | - ${topology_type} - Topology type. Type: string
-| | ... | - ${min_rate} - Lower limit of search [pps]. Type: float
-| | ... | - ${max_rate} - Upper limit of search [pps]. Type: float
-| | ... | - ${threshold} - Threshold to stop search [pps]. Type: integer
-| | ... | - ${loss_acceptance} - Accepted loss during search. Type: float
-| | ... | - ${loss_acceptance_type} - Percentage or frames. Type: string
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - start_rate - Initial start rate [pps]. Type: float
+| | ... | - step_rate - Step of linear search [pps]. Type: float
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - min_rate - Lower limit of search [pps]. Type: float
+| | ... | - max_rate - Upper limit of search [pps]. Type: float
+| | ... | - threshold - Threshold to stop search [pps]. Type: integer
+| | ... | - loss_acceptance - Accepted loss during search. Type: float
+| | ... | - loss_acceptance_type - Percentage or frames. Type: string
| | ...
| | ... | *Example:*
| | ...
| | ... | fail_on_loss=${False}
| Display result of NDR search
-| | [Documentation] | Display result of NDR search in packet per seconds (total
-| | ... | and per stream) and Gbps.
+| | [Documentation]
+| | ... | Display result of NDR search in packet per seconds (total and per
+| | ... | stream) and Gbps total bandwidth with untagged packet.
+| | ... | Througput is calculated as:
+| | ... | Measured rate per stream * Total number of streams
+| | ... | Bandwidth is calculated as:
+| | ... | (Througput * (L2 Frame Size + IPG) * 8) / Max bitrate of NIC
| | ...
| | ... | *Arguments:*
-| | ... | - ${rate_per_stream} - Measured rate per stream [pps]. Type: string
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${nr_streams} - Total number of streams. Type: integer
-| | ... | - ${latency} - Latency stats. Type: dictionary
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
+| | ... | - rate_per_stream - Measured rate per stream [pps]. Type: string
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - nr_streams - Total number of streams. Type: integer
+| | ... | - latency - Latency stats. Type: dictionary
| | ...
| | ... | *Example:*
| | ...
| | ... | append=yes
| Display result of PDR search
-| | [Documentation] | Display result of PDR search in packet per seconds (total
-| | ... | and per stream) and Gbps.
+| | [Documentation]
+| | ... | Display result of PDR search in packet per seconds (total and per
+| | ... | stream) and Gbps total bandwidth with untagged packet.
+| | ... | Througput is calculated as:
+| | ... | Measured rate per stream * Total number of streams
+| | ... | Bandwidth is calculated as:
+| | ... | (Througput * (L2 Frame Size + IPG) * 8) / Max bitrate of NIC
| | ...
| | ... | *Arguments:*
-| | ... | - ${rate_per_stream} - Measured rate per stream [pps]. Type: string
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${nr_streams} - Total number of streams. Type: integer
-| | ... | - ${loss_acceptance} - Accepted loss during search. Type: float
-| | ... | - ${loss_acceptance_type} - Percentage or frames. Type: string
-| | ... | - ${latency} - Latency stats. Type: dictionary
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
+| | ... | - rate_per_stream - Measured rate per stream [pps]. Type: string
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - nr_streams - Total number of streams. Type: integer
+| | ... | - loss_acceptance - Accepted loss during search. Type: float
+| | ... | - loss_acceptance_type - Percentage or frames. Type: string
+| | ... | - latency - Latency stats. Type: dictionary
| | ...
| | ... | *Example:*
| | ...
| | ... | append=yes
| Traffic should pass with no loss
-| | [Documentation] | Send traffic at specified rate. No packet loss is
-| | ... | accepted at loss evaluation.
+| | [Documentation]
+| | ... | Send traffic at specified rate. No packet loss is accepted at loss
+| | ... | evaluation.
| | ...
| | ... | *Arguments:*
-| | ... | - ${duration} - Duration of traffic run [s]. Type: integer
-| | ... | - ${rate} - Rate for sending packets. Type: string
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${topology_type} - Topology type. Type: string
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
+| | ... | - duration - Duration of traffic run [s]. Type: integer
+| | ... | - rate - Rate for sending packets. Type: string
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - topology_type - Topology type. Type: string
| | ...
| | ... | *Example:*
| | ...
| | Run Keyword If | ${fail_on_loss} | No traffic loss occurred
| Traffic should pass with partial loss
-| | [Documentation] | Send traffic at specified rate. Partial packet loss is
-| | ... | accepted within loss acceptance value.
+| | [Documentation]
+| | ... | Send traffic at specified rate. Partial packet loss is accepted
+| | ... | within loss acceptance value specified as argument.
| | ...
| | ... | *Arguments:*
-| | ... | - ${duration} - Duration of traffic run [s]. Type: integer
-| | ... | - ${rate} - Rate for sending packets. Type: string
-| | ... | - ${framesize} - L2 Frame Size [B]. Type: integer
-| | ... | - ${topology_type} - Topology type. Type: string
-| | ... | - ${loss_acceptance} - Accepted loss during search. Type: float
-| | ... | - ${loss_acceptance_type} - Percentage or frames. Type: string
-| | ...
-| | ... | *Return:*
-| | ... | - No value returned
+| | ... | - duration - Duration of traffic run [s]. Type: integer
+| | ... | - rate - Rate for sending packets. Type: string
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - topology_type - Topology type. Type: string
+| | ... | - loss_acceptance - Accepted loss during search. Type: float
+| | ... | - loss_acceptance_type - Percentage or frames. Type: string
| | ...
| | ... | *Example:*
| | ...
| | ... | ${loss_acceptance} | ${loss_acceptance_type}
| Clear and show runtime counters with running traffic
+| | [Documentation]
+| | ... | Start traffic at specified rate then clear runtime counters on all
+| | ... | DUTs. Wait for specified amount of time and capture runtime counters
+| | ... | on all DUTs. Finally stop traffic
+| | ...
+| | ... | *Arguments:*
+| | ... | - duration - Duration of traffic run [s]. Type: integer
+| | ... | - rate - Rate for sending packets. Type: string
+| | ... | - framesize - L2 Frame Size [B]. Type: integer
+| | ... | - topology_type - Topology type. Type: string
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Traffic should pass with partial loss \| 10 \| 4.0mpps \| 64 \
+| | ... | \| 3-node-IPv4 \| 0.5 \| percentage
| | [Arguments] | ${duration} | ${rate} | ${framesize} | ${topology_type}
| | Send traffic on tg | -1 | ${rate} | ${framesize}
| | ... | ${topology_type} | warmup_time=0 | async_call=${True}
| Test Setup | Setup all DUTs before test
| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs
| ... | AND | Show vpp trace dump on all DUTs
-| Documentation | *RFC2544: Pkt throughput L2XC with dot1ad test cases*
+| Documentation | *RFC2544: Pkt throughput L2XC with 802.1ad test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.
-| ... | Dot1ad tagging is applied on link between DUT1 and DUT2 with inner 4B
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 xconnect.
+| ... | 802.1ad tagging is applied on link between DUT1 and DUT2 with inner 4B
| ... | vlan tag (id=100) and outer 4B vlan tag (id=200).
| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross-
| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel.
| ${tag_rewrite}= | pop-2
*** Test Cases ***
-| TC01: 64B NDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq
+| TC01: 64B NDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC02: 64B PDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq
+| TC02: 64B PDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC03: 1514B NDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq
+| TC03: 1514B NDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1514 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC04: 1514B PDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq
+| TC04: 1514B PDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC05: 9000B NDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq
+| TC05: 9000B NDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC06: 9000B PDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq
+| TC06: 9000B PDR binary search - DUT L2XC with 802.1ad - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC07: 64B NDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq
+| TC07: 64B NDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC08: 64B PDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq
+| TC08: 64B PDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC09: 1514B NDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq
+| TC09: 1514B NDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1514 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC10: 1514B PDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq
+| TC10: 1514B PDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC11: 9000B NDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq
+| TC11: 9000B NDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC12: 9000B PDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq
+| TC12: 9000B PDR binary search - DUT L2XC with 802.1ad - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC13: 64B NDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq
+| TC13: 64B NDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC14: 64B PDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq
+| TC14: 64B PDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC15: 1514B NDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq
+| TC15: 1514B NDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 1514 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC16: 1514B PDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq
+| TC16: 1514B PDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 1514 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC17: 9000B NDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq
+| TC17: 9000B NDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC18: 9000B PDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq
+| TC18: 9000B PDR binary search - DUT L2XC with 802.1ad - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames
| Test Setup | Setup all DUTs before test
| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs
| ... | AND | Show vpp trace dump on all DUTs
-| Documentation | *RFC2544: Pkt throughput L2XC test cases*
+| Documentation | *RFC2544: Pkt throughput L2XC with 802.1q test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. 802.1q
+| ... | tagging is applied on link between DUT1 and DUT2.
| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross-
| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel.
| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop
| ${tag_rewrite}= | pop-1
*** Test Cases ***
-| TC01: 64B NDR binary search - DUT L2XC with dot1q - 1thread 1core 1rxq
+| TC01: 64B NDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC02: 64B PDR binary search - DUT L2XC with dot1q - 1thread 1core 1rxq
+| TC02: 64B PDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC03: 1518B NDR binary search - DUT L2XC with dot1q - 1thread 1core 1rxq
+| TC03: 1518B NDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC04: 1518B PDR binary search - DUT L2XC with dot1q - 1thread 1core 1rxq
+| TC04: 1518B PDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC05: 9000B NDR binary search - DUT L2XC with dot1q - 1thread 1core 1rxq
+| TC05: 9000B NDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC06: 9000B PDR binary search - DUT L2XC with dot1q - 1thread 1core 1rxq
+| TC06: 9000B PDR binary search - DUT L2XC with 802.1q - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC07: 64B NDR binary search - DUT L2XC with dot1q - 2threads 2cores 1rxq
+| TC07: 64B NDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC08: 64B PDR binary search - DUT L2XC with dot1q - 2threads 2cores 1rxq
+| TC08: 64B PDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC09: 1518B NDR binary search - DUT L2XC with dot1q - 2threads 2cores 1rxq
+| TC09: 1518B NDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC10: 1518B PDR binary search - DUT L2XC with dot1q - 2threads 2cores 1rxq
+| TC10: 1518B PDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC11: 9000B NDR binary search - DUT L2XC with dot1q - 2threads 2cores 1rxq
+| TC11: 9000B NDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC12: 9000B PDR binary search - DUT L2XC with dot1q - 2threads 2cores 1rxq
+| TC12: 9000B PDR binary search - DUT L2XC with 802.1q - 2threads 2cores 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC13: 64B NDR binary search - DUT L2XC with dot1q - 4threads 4cores 2rxq
+| TC13: 64B NDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC14: 64B PDR binary search - DUT L2XC with dot1q - 4threads 4cores 2rxq
+| TC14: 64B PDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC15: 1518B NDR binary search - DUT L2XC with dot1q - 4threads 4cores 2rxq
+| TC15: 1518B NDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC16: 1518B PDR binary search - DUT L2XC with dot1q - 4threads 4cores 2rxq
+| TC16: 1518B PDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames
| | ... | ${glob_loss_acceptance}
| | ... | ${glob_loss_acceptance_type}
-| TC17: 9000B NDR binary search - DUT L2XC with dot1q - 4threads 4cores 2rxq
+| TC17: 9000B NDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames
| | ... | ${min_rate} | ${max_rate}
| | ... | ${threshold}
-| TC18: 9000B PDR binary search - DUT L2XC with dot1q - 4threads 4cores 2rxq
+| TC18: 9000B PDR binary search - DUT L2XC with 802.1q - 4threads 4cores 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect.
| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross-
| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel.
| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop
| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet
| ... | loss tolerance. Ref-NDR value is periodically updated acording to
| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long
-| ... | performance tests for the same DUT confiiguration. Test packets are
+| ... | performance tests for the same DUT configuration. Test packets are
| ... | generated by TG on links to DUTs. TG traffic profile contains two L3
| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with
| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61
-| ... | and generated payload.
+| ... | and generated payload. MAC addresses are matching MAC addresses of the
+| ... | TG node interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
*** Test Cases ***
| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet
| ... | loss tolerance. Ref-NDR value is periodically updated acording to
| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long
-| ... | performance tests for the same DUT confiiguration. Test packets are
+| ... | performance tests for the same DUT configuration. Test packets are
| ... | generated by TG on links to DUTs. TG traffic profile contains two L3
| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with
| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61
-| ... | and generated payload.
+| ... | and generated payload. MAC addresses are matching MAC addresses of the
+| ... | TG node interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
*** Test Cases ***
| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet
| ... | loss tolerance. Ref-NDR value is periodically updated acording to
| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long
-| ... | performance tests for the same DUT confiiguration. Test packets are
+| ... | performance tests for the same DUT configuration. Test packets are
| ... | generated by TG on links to DUTs. TG traffic profile contains two L3
| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with
| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61
-| ... | and generated payload.
+| ... | and generated payload. MAC addresses are matching MAC addresses of the
+| ... | TG node interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
*** Test Cases ***
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 for IPv4 routing.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing.
| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4
| ... | routing, two static IPv4 /24 routes and IPv4 iAcl security whitelist
| ... | ingress /24 filter entries applied on links TG - DUT1 and DUT2 - TG.
| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet
| ... | loss tolerance. Ref-NDR value is periodically updated acording to
| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long
-| ... | performance tests for the same DUT confiiguration. Test packets are
+| ... | performance tests for the same DUT configuration. Test packets are
| ... | generated by TG on links to DUTs. TG traffic profile contains two L3
| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with
| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61
-| ... | and generated payload.
+| ... | and generated payload. MAC addresses are matching MAC addresses of the
+| ... | TG node interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
*** Test Cases ***
| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet
| ... | loss tolerance. Ref-NDR value is periodically updated acording to
| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long
-| ... | performance tests for the same DUT confiiguration. Test packets are
+| ... | performance tests for the same DUT configuration. Test packets are
| ... | generated by TG on links to DUTs. TG traffic profile contains two L3
| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with
| ... | all packets containing Ethernet header, IPv6 header and generated
-| ... | payload.
+| ... | payload. MAC addresses are matching MAC addresses of the TG node
+| ... | interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
*** Test Cases ***
| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet
| ... | loss tolerance. Ref-NDR value is periodically updated acording to
| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long
-| ... | performance tests for the same DUT confiiguration. Test packets are
+| ... | performance tests for the same DUT configuration. Test packets are
| ... | generated by TG on links to DUTs. TG traffic profile contains two L3
| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with
| ... | all packets containing Ethernet header, IPv6 header and generated
-| ... | payload.
+| ... | payload. MAC addresses are matching MAC addresses of the TG node
+| ... | interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
*** Test Cases ***
| Test Setup | Setup all DUTs before test
| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs
| ... | AND | Show vpp trace dump on all DUTs
-| Documentation | *Reference NDR throughput L2XC with dot1ad verify test cases*
+| Documentation | *Reference NDR throughput L2XC with 802.1ad verify test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.
-| ... | Dot1ad tagging is applied on link between DUT1 and DUT2 with inner 4B
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 xconnect.
+| ... | 802.1ad tagging is applied on link between DUT1 and DUT2 with inner 4B
| ... | vlan tag (id=100) and outer 4B vlan tag (id=200).
| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross-
| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel.
| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet
| ... | loss tolerance. Ref-NDR value is periodically updated acording to
| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long
-| ... | performance tests for the same DUT confiiguration. Test packets are
+| ... | performance tests for the same DUT configuration. Test packets are
| ... | generated by TG on links to DUTs. TG traffic profile contains two L3
| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with
| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61
-| ... | and generated payload.
+| ... | and generated payload. MAC addresses are matching MAC addresses of the
+| ... | TG node interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
*** Variables ***
| ${tag_rewrite}= | pop-2
*** Test Cases ***
-| TC01: Verify 64B ref-NDR at 2x 2.9Mpps - DUT L2XC with dot1ad - 1thread 1core 1rxq
+| TC01: Verify 64B ref-NDR at 2x 2.9Mpps - DUT L2XC with 802.1ad - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC02: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with dot1ad - 1thread 1core 1rxq
+| TC02: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with 802.1ad - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1514 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC03: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with dot1ad - 1thread 1core 1rxq
+| TC03: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with 802.1ad - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC04: Verify 64B ref-NDR at 2x 7Mpps - DUT L2XC with dot1ad - 2thread 2core 1rxq
+| TC04: Verify 64B ref-NDR at 2x 7Mpps - DUT L2XC with 802.1ad - 2thread 2core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC05: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with dot1ad - 2thread 2core 1rxq
+| TC05: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with 802.1ad - 2thread 2core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC06: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with dot1ad - 2thread 2core 1rxq
+| TC06: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with 802.1ad - 2thread 2core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC07: Verify 64B ref-NDR at 2x 8Mpps - DUT L2XC with dot1ad - 4thread 4core 2rxq
+| TC07: Verify 64B ref-NDR at 2x 8Mpps - DUT L2XC with 802.1ad - 4thread 4core 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \
| | ... | 2 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC08: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with dot1ad - 4thread 4core 2rxq
+| TC08: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with 802.1ad - 4thread 4core 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \
| | ... | 2 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC09: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with dot1ad - 4thread 4core 2rxq
+| TC09: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with 802.1ad - 4thread 4core 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \
| | ... | 2 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
| Test Setup | Setup all DUTs before test
| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs
| ... | AND | Show vpp trace dump on all DUTs
-| Documentation | *Reference NDR throughput L2XC verify test cases*
+| Documentation | *Reference NDR throughput L2XC with 802.1q verify test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. Dot1q
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect. 802.1q
| ... | tagging is applied on link between DUT1 and DUT2.
| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross-
| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel.
| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet
| ... | loss tolerance. Ref-NDR value is periodically updated acording to
| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long
-| ... | performance tests for the same DUT confiiguration. Test packets are
+| ... | performance tests for the same DUT configuration. Test packets are
| ... | generated by TG on links to DUTs. TG traffic profile contains two L3
| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with
| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61
-| ... | and generated payload.
+| ... | and generated payload. MAC addresses are matching MAC addresses of the
+| ... | TG node interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
*** Variables ***
| ${tag_rewrite}= | pop-1
*** Test Cases ***
-| TC01: Verify 64B ref-NDR at 2x 2.9Mpps - DUT dot1q - 1thread 1core 1rxq
+| TC01: Verify 64B ref-NDR at 2x 2.9Mpps - DUT 802.1q - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC02: Verify 1518B ref-NDR at 2x 720kpps - DUT dot1q - 1thread 1core 1rxq
+| TC02: Verify 1518B ref-NDR at 2x 720kpps - DUT 802.1q - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC03: Verify 9000B ref-NDR at 2x 120kpps - DUT dot1q - 1thread 1core 1rxq
+| TC03: Verify 9000B ref-NDR at 2x 120kpps - DUT 802.1q - 1thread 1core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \
| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC04: Verify 64B ref-NDR at 2x 7Mpps - DUT dot1q - 2thread 2core 1rxq
+| TC04: Verify 64B ref-NDR at 2x 7Mpps - DUT 802.1q - 2thread 2core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC05: Verify 1518B ref-NDR at 2x 720kpps - DUT dot1q - 2thread 2core 1rxq
+| TC05: Verify 1518B ref-NDR at 2x 720kpps - DUT 802.1q - 2thread 2core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1518 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC06: Verify 9000B ref-NDR at 2x 120kpps - DUT dot1q - 2thread 2core 1rxq
+| TC06: Verify 9000B ref-NDR at 2x 120kpps - DUT 802.1q - 2thread 2core 1rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 2 threads, 2 phy cores, \
| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC07: Verify 64B ref-NDR at 2x 11Mpps - DUT dot1q - 4thread 4core 2rxq
+| TC07: Verify 64B ref-NDR at 2x 11Mpps - DUT 802.1q - 4thread 4core 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 64 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC08: Verify 1518B ref-NDR at 2x 720kpps - DUT dot1q - 4thread 4core 2rxq
+| TC08: Verify 1518B ref-NDR at 2x 720kpps - DUT 802.1q - 4thread 4core 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 1518 Byte
| | Then Traffic should pass with no loss | ${duration} | ${rate}
| | ... | ${framesize} | 3-node-xconnect
-| TC09: Verify 9000B ref-NDR at 2x 120kpps - DUT dot1q - 4thread 4core 2rxq
+| TC09: Verify 9000B ref-NDR at 2x 120kpps - DUT 802.1q - 4thread 4core 2rxq
| | [Documentation]
| | ... | [Cfg] DUT runs L2XC config with 4 threads, 4 phy cores, \
| | ... | 2 receive queues per NIC port. [Ver] Verify ref-NDR for 9000 Byte
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing.
-| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4
-| ... | routing and two static IPv4 /24 route entries. DUT1 and DUT2 tested with
-| ... | 2p10GE NIC X520 Niantic by Intel.
+| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 cross connect.
+| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross-
+| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel.
| ... | *[Ver] TG verification:* In short performance tests, TG verifies
| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet
| ... | loss tolerance. Ref-NDR value is periodically updated acording to
| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long
-| ... | performance tests for the same DUT confiiguration. Test packets are
+| ... | performance tests for the same DUT configuration. Test packets are
| ... | generated by TG on links to DUTs. TG traffic profile contains two L3
| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with
| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61
-| ... | and generated payload.
+| ... | and generated payload. MAC addresses are matching MAC addresses of the
+| ... | TG node interfaces.
| ... | *[Ref] Applicable standard specifications:* RFC2544.
*** Test Cases ***