7.9. l2

7.9.1. 10ge2p1x710-dot1ad-l2xcbase-ndrpdr suite

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 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 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

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 static payload. MAC addresses are matching MAC addresses of the TG. node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/l2/tagging.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | L2XCFWD | BASE | DOT1AD | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | dot1ad-l2xcbase
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${8}
| ${subid}= | 10
| ${outer_vlan_id}= |
| ${inner_vlan_id}= |
| ${type_subif}= | two_tags
| ${tag_rewrite}= | pop-2
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4-ip4src254

7.9.1.1. Local Template

  • [Cfg] DUT runs L2XC forwarding config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
 When Initialize VLAN sub-interfaces in 3-node circular topology  ${dut1}  ${DUT1_${int}2}[0]  ${dut2}  ${DUT2_${int}1}[0]  ${subid}  ${outer_vlan_id}  ${inner_vlan_id}  ${type_subif}
  And Configure L2 tag rewrite method on interfaces  ${dut1}  ${subif_index_1}  ${dut2}  ${subif_index_2}  ${tag_rewrite}
  And Configure L2XC  ${dut1}  ${DUT1_${int}1}[0]  ${subif_index_1}
  And Configure L2XC  ${dut2}  ${DUT2_${int}2}[0]  ${subif_index_2}
 Then Find NDR and PDR intervals using optimized search

7.9.1.2. 64B-1c-dot1ad-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.1.3. 64B-2c-dot1ad-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.1.4. 64B-4c-dot1ad-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.1.5. 1518B-1c-dot1ad-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.1.6. 1518B-2c-dot1ad-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.1.7. 1518B-4c-dot1ad-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.1.8. 9000B-1c-dot1ad-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.1.9. 9000B-2c-dot1ad-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.1.10. 9000B-4c-dot1ad-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.1.11. IMIX-1c-dot1ad-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.1.12. IMIX-2c-dot1ad-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.1.13. IMIX-4c-dot1ad-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.2. 10ge2p1x710-dot1q-l2bdbasemaclrn-ndrpdr suite

RFC2544: Pkt throughput L2BD with IEEE 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. IEEE 802.1Q tagging is applied on link between DUT1 and DUT2.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 bridge-domain and MAC learning enabled. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | BASE | DOT1Q | L2BDMACLRN | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | dot1q-l2bdbasemaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${4}
| ${subid}= | 10
| ${tag_rewrite}= | pop-1
# Bridge domain IDs
| ${bd_id1}= | 1
| ${bd_id2}= | 2
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4-ip4src254

7.9.2.1. Local Template

  • [Cfg] Each DUT runs L2BD config with VLAN and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domains with VLAN dot1q sub-interfaces in circular topology  ${bd_id1}  ${bd_id2}  ${subid}  ${tag_rewrite}
 Then Find NDR and PDR intervals using optimized search

7.9.2.2. 64B-1c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.2.3. 64B-2c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.2.4. 64B-4c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.2.5. 1518B-1c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.2.6. 1518B-2c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.2.7. 1518B-4c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.2.8. 9000B-1c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.2.9. 9000B-2c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.2.10. 9000B-4c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.2.11. IMIX-1c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.2.12. IMIX-2c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.2.13. IMIX-4c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.3. 10ge2p1x710-dot1q-l2xcbase-ndrpdr suite

RFC2544: Pkt throughput L2XC with IEEE 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 cross connect. IEEE 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 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/l2/tagging.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | L2XCFWD | BASE | DOT1Q | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | dot1q-l2xcbase
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${4}
| ${subid}= | 10
| ${tag_rewrite}= | pop-1
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4-ip4src254

7.9.3.1. Local Template

  • [Cfg] Each DUT runs L2XC config with VLAN and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize VLAN dot1q sub-interfaces in circular topology  ${dut1}  ${DUT1_${int}2}[0]  ${dut2}  ${DUT2_${int}1}[0]  ${subid}
  And Configure L2 tag rewrite method on interfaces  ${dut1}  ${subif_index_1}  ${dut2}  ${subif_index_2}  ${tag_rewrite}
  And Configure L2XC  ${dut1}  ${DUT1_${int}1}[0]  ${subif_index_1}
  And Configure L2XC  ${dut2}  ${DUT2_${int}2}[0]  ${subif_index_2}
 Then Find NDR and PDR intervals using optimized search

7.9.3.2. 64B-1c-dot1q-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.3.3. 64B-2c-dot1q-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.3.4. 64B-4c-dot1q-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.3.5. 1518B-1c-dot1q-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.3.6. 1518B-2c-dot1q-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.3.7. 1518B-4c-dot1q-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.3.8. 9000B-1c-dot1q-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.3.9. 9000B-2c-dot1q-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.3.10. 9000B-4c-dot1q-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.3.11. IMIX-1c-dot1q-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.3.12. IMIX-2c-dot1q-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.3.13. IMIX-4c-dot1q-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.4. 10ge2p1x710-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL10 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl10sf-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.4.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.4.2. 64B-1c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.4.3. 64B-2c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.4.4. 64B-4c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.4.5. 1518B-1c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.4.6. 1518B-2c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.4.7. 1518B-4c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.4.8. 9000B-1c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.4.9. 9000B-2c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.4.10. 9000B-4c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.4.11. IMIX-1c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.4.12. IMIX-2c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.4.13. IMIX-4c-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.5. 10ge2p1x710-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL10 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl10sf-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.5.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.5.2. 64B-1c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.5.3. 64B-2c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.5.4. 64B-4c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.5.5. 1518B-1c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.5.6. 1518B-2c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.5.7. 1518B-4c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.5.8. 9000B-1c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.5.9. 9000B-2c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.5.10. 9000B-4c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.5.11. IMIX-1c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.5.12. IMIX-2c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.5.13. IMIX-4c-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.6. 10ge2p1x710-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL10 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl10sf-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.6.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.6.2. 64B-1c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.6.3. 64B-2c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.6.4. 64B-4c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.6.5. 1518B-1c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.6.6. 1518B-2c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.6.7. 1518B-4c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.6.8. 9000B-1c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.6.9. 9000B-2c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.6.10. 9000B-4c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.6.11. IMIX-1c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.6.12. IMIX-2c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.6.13. IMIX-4c-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.7. 10ge2p1x710-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL10 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl10sl-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.7.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.7.2. 64B-1c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.7.3. 64B-2c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.7.4. 64B-4c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.7.5. 1518B-1c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.7.6. 1518B-2c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.7.7. 1518B-4c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.7.8. 9000B-1c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.7.9. 9000B-2c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.7.10. 9000B-4c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.7.11. IMIX-1c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.7.12. IMIX-2c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.7.13. IMIX-4c-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.8. 10ge2p1x710-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL10 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl10sl-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.8.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.8.2. 64B-1c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.8.3. 64B-2c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.8.4. 64B-4c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.8.5. 1518B-1c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.8.6. 1518B-2c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.8.7. 1518B-4c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.8.8. 9000B-1c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.8.9. 9000B-2c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.8.10. 9000B-4c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.8.11. IMIX-1c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.8.12. IMIX-2c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.8.13. IMIX-4c-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.9. 10ge2p1x710-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL10 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl10sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.9.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.9.2. 64B-1c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.9.3. 64B-2c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.9.4. 64B-4c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.9.5. 1518B-1c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.9.6. 1518B-2c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.9.7. 1518B-4c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.9.8. 9000B-1c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.9.9. 9000B-2c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.9.10. 9000B-4c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.9.11. IMIX-1c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.9.12. IMIX-2c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.9.13. IMIX-4c-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.10. 10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL1 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl1sf-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.10.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.10.2. 64B-1c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.10.3. 64B-2c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.10.4. 64B-4c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.10.5. 1518B-1c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.10.6. 1518B-2c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.10.7. 1518B-4c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.10.8. 9000B-1c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.10.9. 9000B-2c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.10.10. 9000B-4c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.10.11. IMIX-1c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.10.12. IMIX-2c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.10.13. IMIX-4c-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.11. 10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL1 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl1sf-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.11.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.11.2. 64B-1c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.11.3. 64B-2c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.11.4. 64B-4c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.11.5. 1518B-1c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.11.6. 1518B-2c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.11.7. 1518B-4c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.11.8. 9000B-1c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.11.9. 9000B-2c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.11.10. 9000B-4c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.11.11. IMIX-1c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.11.12. IMIX-2c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.11.13. IMIX-4c-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.12. 10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL1 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl1sf-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.12.1. Local Template

  • [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy core(s).

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.12.2. 64B-1c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.12.3. 64B-2c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.12.4. 64B-4c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.12.5. 1518B-1c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.12.6. 1518B-2c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.12.7. 1518B-4c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.12.8. 9000B-1c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.12.9. 9000B-2c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.12.10. 9000B-4c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.12.11. IMIX-1c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.12.12. IMIX-2c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.12.13. IMIX-4c-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.13. 10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL1 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl1sl-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.13.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.13.2. 64B-1c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.13.3. 64B-2c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.13.4. 64B-4c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.13.5. 1518B-1c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.13.6. 1518B-2c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.13.7. 1518B-4c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.13.8. 9000B-1c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.13.9. 9000B-2c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.13.10. 9000B-4c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.13.11. IMIX-1c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.13.12. IMIX-2c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.13.13. IMIX-4c-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.14. 10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL1 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl1sl-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.14.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.14.2. 64B-1c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.14.3. 64B-2c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.14.4. 64B-4c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.14.5. 1518B-1c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.14.6. 1518B-2c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.14.7. 1518B-4c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.14.8. 9000B-1c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.14.9. 9000B-2c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.14.10. 9000B-4c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.14.11. IMIX-1c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.14.12. IMIX-2c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.14.13. IMIX-4c-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.15. 10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL1 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl1sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.15.1. Local Template

  • [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy core(s).

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.15.2. 64B-1c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.15.3. 64B-2c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.15.4. 64B-4c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.15.5. 1518B-1c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.15.6. 1518B-2c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.15.7. 1518B-4c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.15.8. 9000B-1c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.15.9. 9000B-2c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.15.10. 9000B-4c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.15.11. IMIX-1c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.15.12. IMIX-2c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.15.13. IMIX-4c-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.16. 10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL50 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl50sf-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.16.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.16.2. 64B-1c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.16.3. 64B-2c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.16.4. 64B-4c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.16.5. 1518B-1c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.16.6. 1518B-2c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.16.7. 1518B-4c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.16.8. 9000B-1c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.16.9. 9000B-2c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.16.10. 9000B-4c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.16.11. IMIX-1c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.16.12. IMIX-2c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.16.13. IMIX-4c-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.17. 10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL50 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl50sf-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.17.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.17.2. 64B-1c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.17.3. 64B-2c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.17.4. 64B-4c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.17.5. 1518B-1c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.17.6. 1518B-2c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.17.7. 1518B-4c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.17.8. 9000B-1c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.17.9. 9000B-2c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.17.10. 9000B-4c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.17.11. IMIX-1c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.17.12. IMIX-2c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.17.13. IMIX-4c-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.18. 10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl50sf-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.18.1. Local Template

  • [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy core(s).

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.18.2. 64B-1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.18.3. 64B-2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.18.4. 64B-4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.18.5. 1518B-1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.18.6. 1518B-2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.18.7. 1518B-4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.18.8. 9000B-1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.18.9. 9000B-2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.18.10. 9000B-4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.18.11. IMIX-1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.18.12. IMIX-2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.18.13. IMIX-4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.19. 10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL50 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl50sl-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.19.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.19.2. 64B-1c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.19.3. 64B-2c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.19.4. 64B-4c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.19.5. 1518B-1c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.19.6. 1518B-2c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.19.7. 1518B-4c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.19.8. 9000B-1c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.19.9. 9000B-2c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.19.10. 9000B-4c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.19.11. IMIX-1c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.19.12. IMIX-2c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.19.13. IMIX-4c-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.20. 10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL50 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl50sl-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.20.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.20.2. 64B-1c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.20.3. 64B-2c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.20.4. 64B-4c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.20.5. 1518B-1c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.20.6. 1518B-2c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.20.7. 1518B-4c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.20.8. 9000B-1c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.20.9. 9000B-2c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.20.10. 9000B-4c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.20.11. IMIX-1c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.20.12. IMIX-2c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.20.13. IMIX-4c-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.21. 10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl50sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.21.1. Local Template

  • [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy core(s).

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.21.2. 64B-1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.21.3. 64B-2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.21.4. 64B-4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.21.5. 1518B-1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.21.6. 1518B-2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.21.7. 1518B-4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.21.8. 9000B-1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.21.9. 9000B-2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.21.10. 9000B-4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.21.11. IMIX-1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.21.12. IMIX-2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.21.13. IMIX-4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.22. 10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [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.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 and DUT2 are tested with 2p10GE NIC X520 Niantic by Intel.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL10 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl10sl-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:ff:ff:80
| ${tg_stream1_subnet}= | 10.0.0.0/24
| ${tg_stream2_subnet}= | 20.0.0.0/24
# traffic profile
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc100ip4src100

7.9.22.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.22.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.22.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.22.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.22.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.22.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.22.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.22.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.22.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.22.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.22.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.22.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.22.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.23. 10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [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.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 and DUT2 are tested with 2p10GE NIC X520 Niantic by Intel.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL10 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl10sl-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:fe:00:00
| ${tg_stream1_subnet}= | 10.0.0.0/15
| ${tg_stream2_subnet}= | 20.0.0.0/15
# traffic profile
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc100kip4src100k

7.9.23.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.23.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.23.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.23.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.23.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.23.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.23.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.23.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.23.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.23.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.23.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.23.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.23.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.24. 10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [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.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 and DUT2 are tested with 2p10GE NIC X520 Niantic by Intel.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL10 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl10sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:ff:c0:00
| ${tg_stream1_subnet}= | 10.0.0.0/18
| ${tg_stream2_subnet}= | 20.0.0.0/18
# traffic profile
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc10kip4src10k

7.9.24.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.24.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.24.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.24.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.24.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.24.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.24.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.24.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.24.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.24.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.24.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.24.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.24.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.25. 10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [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.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge-domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL1 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl1sl-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:ff:ff:80
| ${tg_stream1_subnet}= | 10.0.0.0/24
| ${tg_stream2_subnet}= | 20.0.0.0/24
# traffic profile
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc100ip4src100

7.9.25.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.25.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.25.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.25.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.25.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.25.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.25.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.25.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.25.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.25.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.25.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.25.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.25.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.26. 10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [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.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge-domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL1 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl1sl-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:fe:00:00
| ${tg_stream1_subnet}= | 10.0.0.0/15
| ${tg_stream2_subnet}= | 20.0.0.0/15
# traffic profile
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc100kip4src100k

7.9.26.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.26.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.26.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.26.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.26.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.26.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.26.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.26.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.26.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.26.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.26.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.26.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.26.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.27. 10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [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.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge-domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL1 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl1sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:ff:c0:00
| ${tg_stream1_subnet}= | 10.0.0.0/18
| ${tg_stream2_subnet}= | 20.0.0.0/18
# traffic profile
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc10kip4src10k

7.9.27.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.27.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.27.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.27.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.27.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.27.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.27.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.27.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.27.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.27.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.27.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.27.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.27.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.28. 10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [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.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL50 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl50sl-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:ff:ff:80
| ${tg_stream1_subnet}= | 10.0.0.0/24
| ${tg_stream2_subnet}= | 20.0.0.0/24
# traffic profile
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc100ip4src100

7.9.28.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.28.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.28.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.28.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.28.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.28.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.28.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.28.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.28.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.28.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.28.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.28.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.28.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.29. 10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [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.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge-domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL50 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl50sl-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:fe:00:00
| ${tg_stream1_subnet}= | 10.0.0.0/15
| ${tg_stream2_subnet}= | 20.0.0.0/15
# traffic profile
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc100kip4src100k

7.9.29.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.29.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.29.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.29.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.29.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.29.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.29.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.29.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.29.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.29.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.29.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.29.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.29.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.30. 10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [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.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge-domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl50sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:ff:c0:00
| ${tg_stream1_subnet}= | 10.0.0.0/18
| ${tg_stream2_subnet}= | 20.0.0.0/18
# traffic profile
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc10kip4src10k

7.9.30.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.30.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.30.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.30.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.30.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.30.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.30.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.30.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.30.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.30.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.30.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.30.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.30.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.31. 10ge2p1x710-eth-l2bdbasemaclrn-ndrpdr suite

RFC2544: Pkt throughput L2BD 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.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 bridge-domain and MAC learning enabled. DUT1 and DUT2 are tested with with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | L2BDBASE | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4-ip4src254

7.9.31.1. Local Template

  • [Cfg] Each DUT runs L2BD switching config and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain
 Then Find NDR and PDR intervals using optimized search

7.9.31.2. 64B-1c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.31.3. 64B-2c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.31.4. 64B-4c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.31.5. 1518B-1c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.31.6. 1518B-2c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.31.7. 1518B-4c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.31.8. 9000B-1c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.31.9. 9000B-2c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.31.10. 9000B-4c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.31.11. IMIX-1c-eth-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.31.12. IMIX-2c-eth-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.31.13. IMIX-4c-eth-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.32. 10ge2p1x710-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL10 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl10sf-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.32.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.32.2. 64B-1c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.32.3. 64B-2c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.32.4. 64B-4c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.32.5. 1518B-1c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.32.6. 1518B-2c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.32.7. 1518B-4c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.32.8. 9000B-1c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.32.9. 9000B-2c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.32.10. 9000B-4c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.32.11. IMIX-1c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.32.12. IMIX-2c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.32.13. IMIX-4c-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.33. 10ge2p1x710-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL10 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl10sf-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.33.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.33.2. 64B-1c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.33.3. 64B-2c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.33.4. 64B-4c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.33.5. 1518B-1c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.33.6. 1518B-2c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.33.7. 1518B-4c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.33.8. 9000B-1c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.33.9. 9000B-2c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.33.10. 9000B-4c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.33.11. IMIX-1c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.33.12. IMIX-2c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.33.13. IMIX-4c-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.34. 10ge2p1x710-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL10 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl10sf-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.34.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.34.2. 64B-1c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.34.3. 64B-2c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.34.4. 64B-4c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.34.5. 1518B-1c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.34.6. 1518B-2c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.34.7. 1518B-4c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.34.8. 9000B-1c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.34.9. 9000B-2c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.34.10. 9000B-4c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.34.11. IMIX-1c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.34.12. IMIX-2c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.34.13. IMIX-4c-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.35. 10ge2p1x710-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL10 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl10sl-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.35.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.35.2. 64B-1c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.35.3. 64B-2c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.35.4. 64B-4c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.35.5. 1518B-1c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.35.6. 1518B-2c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.35.7. 1518B-4c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.35.8. 9000B-1c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.35.9. 9000B-2c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.35.10. 9000B-4c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.35.11. IMIX-1c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.35.12. IMIX-2c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.35.13. IMIX-4c-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.36. 10ge2p1x710-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL10 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl10sl-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.36.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.36.2. 64B-1c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.36.3. 64B-2c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.36.4. 64B-4c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.36.5. 1518B-1c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.36.6. 1518B-2c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.36.7. 1518B-4c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.36.8. 9000B-1c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.36.9. 9000B-2c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.36.10. 9000B-4c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.36.11. IMIX-1c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.36.12. IMIX-2c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.36.13. IMIX-4c-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.37. 10ge2p1x710-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL10 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl10sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 10
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.37.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.37.2. 64B-1c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.37.3. 64B-2c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.37.4. 64B-4c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.37.5. 1518B-1c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.37.6. 1518B-2c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.37.7. 1518B-4c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.37.8. 9000B-1c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.37.9. 9000B-2c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.37.10. 9000B-4c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.37.11. IMIX-1c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.37.12. IMIX-2c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.37.13. IMIX-4c-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.38. 10ge2p1x710-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL1 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl1sf-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.38.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.38.2. 64B-1c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.38.3. 64B-2c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.38.4. 64B-4c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.38.5. 1518B-1c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.38.6. 1518B-2c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.38.7. 1518B-4c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.38.8. 9000B-1c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.38.9. 9000B-2c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.38.10. 9000B-4c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.38.11. IMIX-1c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.38.12. IMIX-2c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.38.13. IMIX-4c-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.39. 10ge2p1x710-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL1 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl1sf-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.39.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.39.2. 64B-1c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.39.3. 64B-2c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.39.4. 64B-4c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.39.5. 1518B-1c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.39.6. 1518B-2c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.39.7. 1518B-4c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.39.8. 9000B-1c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.39.9. 9000B-2c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.39.10. 9000B-4c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.39.11. IMIX-1c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.39.12. IMIX-2c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.39.13. IMIX-4c-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.40. 10ge2p1x710-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL1 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl1sf-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.40.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.40.2. 64B-1c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.40.3. 64B-2c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.40.4. 64B-4c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.40.5. 1518B-1c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.40.6. 1518B-2c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.40.7. 1518B-4c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.40.8. 9000B-1c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.40.9. 9000B-2c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.40.10. 9000B-4c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.40.11. IMIX-1c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.40.12. IMIX-2c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.40.13. IMIX-4c-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.41. 10ge2p1x710-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL1 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl1sl-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.41.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.41.2. 64B-1c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.41.3. 64B-2c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.41.4. 64B-4c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.41.5. 1518B-1c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.41.6. 1518B-2c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.41.7. 1518B-4c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.41.8. 9000B-1c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.41.9. 9000B-2c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.41.10. 9000B-4c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.41.11. IMIX-1c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.41.12. IMIX-2c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.41.13. IMIX-4c-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.42. 10ge2p1x710-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL1 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl1sl-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.42.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.42.2. 64B-1c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.42.3. 64B-2c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.42.4. 64B-4c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.42.5. 1518B-1c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.42.6. 1518B-2c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.42.7. 1518B-4c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.42.8. 9000B-1c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.42.9. 9000B-2c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.42.10. 9000B-4c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.42.11. IMIX-1c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.42.12. IMIX-2c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.42.13. IMIX-4c-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.43. 10ge2p1x710-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL1 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl1sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 1
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.43.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.43.2. 64B-1c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.43.3. 64B-2c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.43.4. 64B-4c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.43.5. 1518B-1c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.43.6. 1518B-2c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.43.7. 1518B-4c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.43.8. 9000B-1c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.43.9. 9000B-2c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.43.10. 9000B-4c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.43.11. IMIX-1c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.43.12. IMIX-2c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.43.13. IMIX-4c-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.44. 10ge2p1x710-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL50 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl50sf-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.44.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.44.2. 64B-1c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.44.3. 64B-2c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.44.4. 64B-4c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.44.5. 1518B-1c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.44.6. 1518B-2c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.44.7. 1518B-4c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.44.8. 9000B-1c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.44.9. 9000B-2c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.44.10. 9000B-4c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.44.11. IMIX-1c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.44.12. IMIX-2c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.44.13. IMIX-4c-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.45. 10ge2p1x710-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL50 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl50sf-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.45.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.45.2. 64B-1c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.45.3. 64B-2c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.45.4. 64B-4c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.45.5. 1518B-1c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.45.6. 1518B-2c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.45.7. 1518B-4c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.45.8. 9000B-1c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.45.9. 9000B-2c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.45.10. 9000B-4c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.45.11. IMIX-1c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.45.12. IMIX-2c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.45.13. IMIX-4c-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.46. 10ge2p1x710-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl50sf-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.46.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.46.2. 64B-1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.46.3. 64B-2c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.46.4. 64B-4c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.46.5. 1518B-1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.46.6. 1518B-2c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.46.7. 1518B-4c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.46.8. 9000B-1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.46.9. 9000B-2c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.46.10. 9000B-4c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.46.11. IMIX-1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.46.12. IMIX-2c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.46.13. IMIX-4c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.47. 10ge2p1x710-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL50 | 100_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl50sl-100flows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u10p-conc

7.9.47.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.47.2. 64B-1c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.47.3. 64B-2c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.47.4. 64B-4c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.47.5. 1518B-1c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.47.6. 1518B-2c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.47.7. 1518B-4c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.47.8. 9000B-1c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.47.9. 9000B-2c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.47.10. 9000B-4c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.47.11. IMIX-1c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.47.12. IMIX-2c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.47.13. IMIX-4c-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.48. 10ge2p1x710-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL50 | 100K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl50sl-100kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 100k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-100u1000p-conc

7.9.48.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.48.2. 64B-1c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.48.3. 64B-2c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.48.4. 64B-4c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.48.5. 1518B-1c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.48.6. 1518B-2c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.48.7. 1518B-4c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.48.8. 9000B-1c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.48.9. 9000B-2c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.48.10. 9000B-4c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.48.11. IMIX-1c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.48.12. IMIX-2c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.48.13. IMIX-4c-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.49. 10ge2p1x710-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. DUT2 is configured with L2 cross-connects. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl50sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4udp-10u1000p-conc

7.9.49.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.49.2. 64B-1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.49.3. 64B-2c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.49.4. 64B-4c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.49.5. 1518B-1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.49.6. 1518B-2c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.49.7. 1518B-4c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.49.8. 9000B-1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.49.9. 9000B-2c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.49.10. 9000B-4c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.49.11. IMIX-1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.49.12. IMIX-2c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.49.13. IMIX-4c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.50. 10ge2p1x710-eth-l2bdscale100kmaclrn-ndrpdr suite

RFC2544: Pkt throughput for L2BD 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.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 bridge-domain and MAC learning enabled. DUT1 and DUT2 are tested with with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 50k flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses ranges are incremented as follows: port01_src ca:fe:00:00:00:00 - port01_src ca:fe:00:07:a1:1f, port01_dst fa:ce:00:00:00:00 - port01_dst fa:ce:00:07:a1:1f, port02_src fa:ce:00:00:00:00 - port02_src fa:ce:00:07:a1:1f, port02_dst ca:fe:00:00:00:00 - port02_dst ca:fe:00:07:a1:1f

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | SCALE | L2BDSCALE | FIB_100K
| ... | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdscale100kmaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc50kdst50k

7.9.50.1. Local Template

  • [Cfg] Each DUT runs L2BD switching config and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain
 Then Find NDR and PDR intervals using optimized search

7.9.50.2. 64B-1c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.50.3. 64B-2c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.50.4. 64B-4c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.50.5. 1518B-1c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.50.6. 1518B-2c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.50.7. 1518B-4c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.50.8. 9000B-1c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.50.9. 9000B-2c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.50.10. 9000B-4c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.50.11. IMIX-1c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.50.12. IMIX-2c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.50.13. IMIX-4c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.51. 10ge2p1x710-eth-l2bdscale10kmaclrn-ndrpdr suite

RFC2544: Pkt throughput for L2BD 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.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 bridge-domain and MAC learning enabled. DUT1 and DUT2 are tested with with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 5k flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses ranges are incremented as follows: port01_src ca:fe:00:00:00:00 - port01_src ca:fe:00:07:a1:1f, port01_dst fa:ce:00:00:00:00 - port01_dst fa:ce:00:07:a1:1f, port02_src fa:ce:00:00:00:00 - port02_src fa:ce:00:07:a1:1f, port02_dst ca:fe:00:00:00:00 - port02_dst ca:fe:00:07:a1:1f

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | SCALE | L2BDSCALE | FIB_10K
| ... | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdscale10kmaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc5kdst5k

7.9.51.1. Local Template

  • [Cfg] Each DUT runs L2BD switching config and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain
 Then Find NDR and PDR intervals using optimized search

7.9.51.2. 64B-1c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.51.3. 64B-2c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.51.4. 64B-4c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.51.5. 1518B-1c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.51.6. 1518B-2c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.51.7. 1518B-4c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.51.8. 9000B-1c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.51.9. 9000B-2c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.51.10. 9000B-4c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.51.11. IMIX-1c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.51.12. IMIX-2c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.51.13. IMIX-4c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.52. 10ge2p1x710-eth-l2bdscale1mmaclrn-ndrpdr suite

RFC2544: Pkt throughput for L2BD 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.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 bridge-domain and MAC learning enabled. DUT1 and DUT2 tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 500k flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses ranges are incremented as follows: port01_src ca:fe:00:00:00:00 - port01_src ca:fe:00:07:a1:1f, port01_dst fa:ce:00:00:00:00 - port01_dst fa:ce:00:07:a1:1f, port02_src fa:ce:00:00:00:00 - port02_src fa:ce:00:07:a1:1f, port02_dst ca:fe:00:00:00:00 - port02_dst ca:fe:00:07:a1:1f

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | SCALE | L2BDSCALE | FIB_1M
| ... | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdscale1mmaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4-macsrc500kdst500k

7.9.52.1. Local Template

  • [Cfg] Each DUT runs L2BD switching config and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain
 Then Find NDR and PDR intervals using optimized search

7.9.52.2. 64B-1c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.52.3. 64B-2c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.52.4. 64B-4c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.52.5. 1518B-1c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.52.6. 1518B-2c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.52.7. 1518B-4c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.52.8. 9000B-1c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.52.9. 9000B-2c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.52.10. 9000B-4c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.52.11. IMIX-1c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.52.12. IMIX-2c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.52.13. IMIX-4c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.53. 10ge2p1x710-eth-l2patch-ndrpdr suite

RFC2544: Pkt throughput L2patch 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 patch.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 patch DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 header with static payload MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2PATCH | BASE | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2patch
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4-ip4src254

7.9.53.1. Local Template

  • [Cfg] DUT runs L2 patch config with ${phy_cores} phy core(s).

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 patch
 Then Find NDR and PDR intervals using optimized search

7.9.53.2. 64B-1c-eth-l2patch-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.53.3. 64B-2c-eth-l2patch-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.53.4. 64B-4c-eth-l2patch-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.53.5. 1518B-1c-eth-l2patch-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.53.6. 1518B-2c-eth-l2patch-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.53.7. 1518B-4c-eth-l2patch-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.53.8. 9000B-1c-eth-l2patch-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.53.9. 9000B-2c-eth-l2patch-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.53.10. 9000B-4c-eth-l2patch-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.53.11. IMIX-1c-eth-l2patch-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.53.12. IMIX-2c-eth-l2patch-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.53.13. IMIX-4c-eth-l2patch-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.54. 10ge2p1x710-eth-l2xcbase-ndrpdr suite

RFC2544: Pkt throughput L2XC 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 cross connect.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 cross-connect. DUT1 and DUT2 are tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

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 static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | L2XCBASE | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2xcbase
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-3n-ethip4-ip4src254

7.9.54.1. Local Template

  • [Cfg] DUT runs L2XC config with ${phy_cores} phy core(s).

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 cross connect
 Then Find NDR and PDR intervals using optimized search

7.9.54.2. 64B-1c-eth-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.54.3. 64B-2c-eth-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.54.4. 64B-4c-eth-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.54.5. 1518B-1c-eth-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.54.6. 1518B-2c-eth-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.54.7. 1518B-4c-eth-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.54.8. 9000B-1c-eth-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.54.9. 9000B-2c-eth-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.54.10. 9000B-4c-eth-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.54.11. IMIX-1c-eth-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.54.12. IMIX-2c-eth-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.54.13. IMIX-4c-eth-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.55. 2n1l-10ge2p1x710-dot1q-l2bdbasemaclrn-ndrpdr suite

RFC2544: Pkt throughput L2BD with IEEE 802.1Q test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Dot1q-IPv4 for L2 switching of IPv4. IEEE 802.1Q tagging is applied on both links TG-DUT1.

  • [Cfg] DUT configuration: DUT1 is configured with: 2 VLAN subinterfaces (VID 100 and 200), 1 L2 BD with the 2 VLAN subinterfaces. DUT1 is tested with ${nic_name} with VF enabled.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | BASE | DOT1Q | L2BDMACLRN | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | dot1q-l2bdbasemaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${4}
# Traffic profile:
| ${traffic_profile}= | trex-stl-dot1qip4-vlan1ip4src254ip4dst254

7.9.55.1. Local Template

  • [Cfg] DUT runs L2BD with VLAN with ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize layer dot1q
  And Initialize L2 bridge domain
 Then Find NDR and PDR intervals using optimized search

7.9.55.2. 64B-1c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.55.3. 64B-2c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.55.4. 64B-4c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.55.5. 1518B-1c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.55.6. 1518B-2c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.55.7. 1518B-4c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.55.8. 9000B-1c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.55.9. 9000B-2c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.55.10. 9000B-4c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.55.11. IMIX-1c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.55.12. IMIX-2c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.55.13. IMIX-4c-dot1q-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.56. 2n1l-10ge2p1x710-dot1q-l2xcbase-ndrpdr suite

RFC2544: Pkt throughput L2XC with IEEE 802.1Q test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 cross connect. IEEE 802.1Q tagging is applied on link between DUT1-if2 and TG-if2.

  • [Cfg] DUT configuration: DUT1 is configured with L2 cross-connect. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
| Resource | resources/libraries/robot/l2/tagging.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | L2XCFWD | BASE | DOT1Q | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | dot1q-l2xcbase
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${4}
# Traffic profile:
| ${traffic_profile}= | trex-stl-dot1qip4-vlan1ip4src254ip4dst254

7.9.56.1. Local Template

  • [Cfg] Each DUT runs L2XC config with VLAN and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize layer dot1q
  And Initialize L2 cross connect
 Then Find NDR and PDR intervals using optimized search

7.9.56.2. 64B-1c-dot1q-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.56.3. 64B-2c-dot1q-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.56.4. 64B-4c-dot1q-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.56.5. 1518B-1c-dot1q-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.56.6. 1518B-2c-dot1q-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.56.7. 1518B-4c-dot1q-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.56.8. 9000B-1c-dot1q-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.56.9. 9000B-2c-dot1q-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.56.10. 9000B-4c-dot1q-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.56.11. IMIX-1c-dot1q-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.56.12. IMIX-2c-dot1q-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.56.13. IMIX-4c-dot1q-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.57. 2n1l-10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-TG 1-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | IACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl50sf-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc

7.9.57.1. Local Template

  • [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy core(s).

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.57.2. 64B-1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.57.3. 64B-2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.57.4. 64B-4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.57.5. 1518B-1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.57.6. 1518B-2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.57.7. 1518B-4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.57.8. 9000B-1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.57.9. 9000B-2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.57.10. 9000B-4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.57.11. IMIX-1c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.57.12. IMIX-2c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.57.13. IMIX-4c-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.58. 2n1l-10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | IACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-iacl50sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | input
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc

7.9.58.1. Local Template

  • [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy core(s).

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.58.2. 64B-1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.58.3. 64B-2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.58.4. 64B-4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.58.5. 1518B-1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.58.6. 1518B-2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.58.7. 1518B-4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.58.8. 9000B-1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.58.9. 9000B-2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.58.10. 9000B-4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.58.11. IMIX-1c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.58.12. IMIX-2c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.58.13. IMIX-4c-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.59. 2n1l-10ge2p1x710-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. Required MACIP ACL rules are applied to input paths of both DUT1 addresses of the TG node interfaces. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | MACIP | ACL_STATELESS
| ... | IACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-macip-iacl50sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | macipacl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${ip_step}= | ${1}
| ${src_mac_start}= | 01:02:03:04:05:06
| ${src_mac_step}= | ${1000}
| ${src_mac_mask}= | 00:00:00:00:00:00
| ${tg_stream1_mac}= | ca:fe:00:00:00:00
| ${tg_stream2_mac}= | fa:ce:00:00:00:00
| ${tg_mac_mask}= | ff:ff:ff:ff:c0:00
| ${tg_stream1_subnet}= | 10.0.0.0/18
| ${tg_stream2_subnet}= | 20.0.0.0/18
# traffic profile
| ${traffic_profile}= | trex-stl-2n-ethip4-macsrc10kip4src10k

7.9.59.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with MACIP ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.59.2. 64B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.59.3. 64B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.59.4. 64B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.59.5. 1518B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.59.6. 1518B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.59.7. 1518B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.59.8. 9000B-1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.59.9. 9000B-2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.59.10. 9000B-4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.59.11. IMIX-1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.59.12. IMIX-2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.59.13. IMIX-4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.60. 2n1l-10ge2p1x710-eth-l2bdbasemaclrn-ndrpdr suite

RFC2544: Pkt throughput L2BD test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 and MAC learning enabled. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | BASE | L2BDBASE | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4-ip4src254

7.9.60.1. Local Template

  • [Cfg] DUT runs L2BD switching config and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain
 Then Find NDR and PDR intervals using optimized search

7.9.60.2. 64B-1c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.60.3. 64B-2c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.60.4. 64B-4c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.60.5. 1518B-1c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.60.6. 1518B-2c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.60.7. 1518B-4c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.60.8. 9000B-1c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.60.9. 9000B-2c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.60.10. 9000B-4c-eth-l2bdbasemaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.60.11. IMIX-1c-eth-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.60.12. IMIX-2c-eth-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.60.13. IMIX-4c-eth-l2bdbasemaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.61. 2n1l-10ge2p1x710-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATEFUL
| ... | OACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl50sf-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit+reflect
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc

7.9.61.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.61.2. 64B-1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.61.3. 64B-2c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.61.4. 64B-4c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.61.5. 1518B-1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.61.6. 1518B-2c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.61.7. 1518B-4c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.61.8. 9000B-1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.61.9. 9000B-2c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.61.10. 9000B-4c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.61.11. IMIX-1c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.61.12. IMIX-2c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.61.13. IMIX-4c-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.62. 2n1l-10ge2p1x710-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr suite

RFC2544: Packet throughput L2BD test cases with ACL

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-UDP for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge domain and MAC learning enabled. Required ACL rules are applied to input paths of both DUT1 intefaces. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, ${flows_per_dir} flows per flow-group) with all packets containing Ethernet header, IPv4 header with UDP header and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | FEATURE | ACL | ACL_STATELESS
| ... | OACL | ACL50 | 10K_FLOWS | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdbasemaclrn-oacl50sl-10kflows
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance | acl
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so | acl_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# ACL test setup
| ${acl_action}= | permit
| ${acl_apply_type}= | output
| ${no_hit_aces_number}= | 50
| ${flows_per_dir}= | 10k
# starting points for non-hitting ACLs
| ${src_ip_start}= | 30.30.30.1
| ${dst_ip_start}= | 40.40.40.1
| ${ip_step}= | ${1}
| ${sport_start}= | ${1000}
| ${dport_start}= | ${1000}
| ${port_step}= | ${1}
| ${trex_stream1_subnet}= | 10.10.10.0/24
| ${trex_stream2_subnet}= | 20.20.20.0/24
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4udp-10u1000p-conc

7.9.62.1. Local Template

  • [Cfg] DUT runs IPv4 routing config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain with IPv4 ACLs in circular topology
 Then Find NDR and PDR intervals using optimized search

7.9.62.2. 64B-1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.62.3. 64B-2c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.62.4. 64B-4c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.62.5. 1518B-1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.62.6. 1518B-2c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.62.7. 1518B-4c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.62.8. 9000B-1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.62.9. 9000B-2c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.62.10. 9000B-4c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.62.11. IMIX-1c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.62.12. IMIX-2c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.62.13. IMIX-4c-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.63. 2n1l-10ge2p1x710-eth-l2bdscale100kmaclrn-ndrpdr suite

RFC2544: Pkt throughput for L2BD test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 and MAC learning enabled. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 50k flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses ranges are incremented as follows: port01_src ca:fe:00:00:00:00 - port01_src ca:fe:00:07:a1:1f, port01_dst fa:ce:00:00:00:00 - port01_dst fa:ce:00:07:a1:1f, port02_src fa:ce:00:00:00:00 - port02_src fa:ce:00:07:a1:1f, port02_dst ca:fe:00:00:00:00 - port02_dst ca:fe:00:07:a1:1f

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | SCALE | L2BDSCALE | FIB_100k
| ... | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdscale100kmaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4-macsrc50kdst50k

7.9.63.1. Local Template

  • [Cfg] DUT runs L2BD switching config and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain
 Then Find NDR and PDR intervals using optimized search

7.9.63.2. 64B-1c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.63.3. 64B-2c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.63.4. 64B-4c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.63.5. 1518B-1c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.63.6. 1518B-2c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.63.7. 1518B-4c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.63.8. 9000B-1c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.63.9. 9000B-2c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.63.10. 9000B-4c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.63.11. IMIX-1c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.63.12. IMIX-2c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.63.13. IMIX-4c-eth-l2bdscale100kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.64. 2n1l-10ge2p1x710-eth-l2bdscale10kmaclrn-ndrpdr suite

RFC2544: Pkt throughput for L2BD test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 and MAC learning enabled. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 5k flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses ranges are incremented as follows: port01_src ca:fe:00:00:00:00 - port01_src ca:fe:00:07:a1:1f, port01_dst fa:ce:00:00:00:00 - port01_dst fa:ce:00:07:a1:1f, port02_src fa:ce:00:00:00:00 - port02_src fa:ce:00:07:a1:1f, port02_dst ca:fe:00:00:00:00 - port02_dst ca:fe:00:07:a1:1f

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | SCALE | L2BDSCALE | FIB_10k
| ... | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdscale10kmaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4-macsrc5kdst5k

7.9.64.1. Local Template

  • [Cfg] DUT runs L2BD switching config and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain
 Then Find NDR and PDR intervals using optimized search

7.9.64.2. 64B-1c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.64.3. 64B-2c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.64.4. 64B-4c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.64.5. 1518B-1c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.64.6. 1518B-2c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.64.7. 1518B-4c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.64.8. 9000B-1c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.64.9. 9000B-2c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.64.10. 9000B-4c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.64.11. IMIX-1c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.64.12. IMIX-2c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.64.13. IMIX-4c-eth-l2bdscale10kmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.65. 2n1l-10ge2p1x710-eth-l2bdscale1mmaclrn-ndrpdr suite

RFC2544: Pkt throughput for L2BD test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 and MAC learning enabled. DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 500k flows per flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61 and static payload. MAC addresses ranges are incremented as follows: port01_src ca:fe:00:00:00:00 - port01_src ca:fe:00:07:a1:1f, port01_dst fa:ce:00:00:00:00 - port01_dst fa:ce:00:07:a1:1f, port02_src fa:ce:00:00:00:00 - port02_src fa:ce:00:07:a1:1f, port02_dst ca:fe:00:00:00:00 - port02_dst ca:fe:00:07:a1:1f

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2BDMACLRN | SCALE | L2BDSCALE | FIB_1M
| ... | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2bdscale1mmaclrn
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4-macsrc500kdst500k

7.9.65.1. Local Template

  • [Cfg] DUT runs L2BD switching config and uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 bridge domain
 Then Find NDR and PDR intervals using optimized search

7.9.65.2. 64B-1c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.65.3. 64B-2c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.65.4. 64B-4c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.65.5. 1518B-1c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.65.6. 1518B-2c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.65.7. 1518B-4c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.65.8. 9000B-1c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.65.9. 9000B-2c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.65.10. 9000B-4c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.65.11. IMIX-1c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.65.12. IMIX-2c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.65.13. IMIX-4c-eth-l2bdscale1mmaclrn-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.66. 2n1l-10ge2p1x710-eth-l2patch-ndrpdr suite

RFC2544: Pkt throughput L2patch test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 patch.

  • [Cfg] DUT configuration: DUT1 is configured with L2 patch DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 header with static payload MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2PATCH | BASE | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2patch
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4-ip4src254

7.9.66.1. Local Template

  • [Cfg] DUT runs L2 patch config with ${phy_cores} phy core(s).

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 patch
 Then Find NDR and PDR intervals using optimized search

7.9.66.2. 64B-1c-eth-l2patch-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.66.3. 64B-2c-eth-l2patch-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.66.4. 64B-4c-eth-l2patch-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.66.5. 1518B-1c-eth-l2patch-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.66.6. 1518B-2c-eth-l2patch-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.66.7. 1518B-4c-eth-l2patch-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.66.8. 9000B-1c-eth-l2patch-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.66.9. 9000B-2c-eth-l2patch-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.66.10. 9000B-4c-eth-l2patch-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.66.11. IMIX-1c-eth-l2patch-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.66.12. IMIX-2c-eth-l2patch-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.66.13. IMIX-4c-eth-l2patch-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}

7.9.67. 2n1l-10ge2p1x710-eth-l2xcbase-ndrpdr suite

RFC2544: Pkt throughput L2XC test cases

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 is configured with L2 DUT1 is tested with ${nic_name}.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 header with static payload MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDR
| ... | NIC_Intel-X710 | ETH | L2XCFWD | BASE | L2XCBASE | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | eth-l2xcbase
|
| Suite Setup | Setup suite topology interfaces | performance
| Suite Teardown | Tear down suite | performance
| Test Setup | Setup test | performance
| Test Teardown | Tear down test | performance
|
| Test Template | Local Template
|
| 
*** Variables ***
| @{plugins_to_enable}= | dpdk_plugin.so | perfmon_plugin.so
| ${crypto_type}= | ${None}
| ${nic_name}= | Intel-X710
| ${nic_driver}= | vfio-pci
| ${nic_rxq_size}= | 0
| ${nic_txq_size}= | 0
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${osi_layer}= | L2
| ${overhead}= | ${0}
# Traffic profile:
| ${traffic_profile}= | trex-stl-2n-ethip4-ip4src254

7.9.67.1. Local Template

  • [Cfg] DUT runs L2XC config. Each DUT uses ${phy_cores} physical core(s) for worker threads.

  • [Ver] Measure NDR and PDR values using MLRsearch algorithm.

Arguments: - frame_size - Framesize in Bytes in integer or string (IMIX_v4_1). Type: integer, string - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues, default value: ${None}. Type: integer


Set Test Variable  \${frame_size}
Given Set Max Rate And Jumbo
  And Add worker threads to all DUTs  ${phy_cores}  ${rxq}
  And Pre-initialize layer driver  ${nic_driver}
  And Apply Startup configuration on all VPP DUTs
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
  And Initialize L2 cross connect
 Then Find NDR and PDR intervals using optimized search

7.9.67.2. 64B-1c-eth-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${1}

7.9.67.3. 64B-2c-eth-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${2}

7.9.67.4. 64B-4c-eth-l2xcbase-ndrpdr


frame_size=${64}  phy_cores=${4}

7.9.67.5. 1518B-1c-eth-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${1}

7.9.67.6. 1518B-2c-eth-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${2}

7.9.67.7. 1518B-4c-eth-l2xcbase-ndrpdr


frame_size=${1518}  phy_cores=${4}

7.9.67.8. 9000B-1c-eth-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${1}

7.9.67.9. 9000B-2c-eth-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${2}

7.9.67.10. 9000B-4c-eth-l2xcbase-ndrpdr


frame_size=${9000}  phy_cores=${4}

7.9.67.11. IMIX-1c-eth-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${1}

7.9.67.12. IMIX-2c-eth-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${2}

7.9.67.13. IMIX-4c-eth-l2xcbase-ndrpdr


frame_size=IMIX_v4_1  phy_cores=${4}