6.3. flow

6.3.1. 2n1l-10ge2p1x710-ethip4-flow-ip4-gtpu-scapy suite

IP4_GTPU flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP4-GTPU.

  • [Cfg] DUT configuration: DUT is configured with IP4_GTPU flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP4FWD | FLOW | GTPU | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip4-flow-ip4-gtpu
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 1.1.1.1
| ${dst_ip}= | 2.2.2.2
| ${teid}= | ${12345}
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.1.1. Local Template

  • [Ver] Make TG send IP4-GTPU packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 Gtpu Flow  ${dut1}  ${src_ip}  ${dst_ip}  teid=${teid}  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=GTPU  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${teid}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 Gtpu Flow  ${dut1}  ${src_ip}  ${dst_ip}  teid=${teid}  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=GTPU  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${teid}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 Gtpu Flow  ${dut1}  ${src_ip}  ${dst_ip}  teid=${teid}  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=GTPU  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${teid}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.1.2. 64B-0c-ethip4-flow-ip4-gtpu-scapy


frame_size=${64}  phy_cores=${0}

6.3.2. 2n1l-10ge2p1x710-ethip4-flow-ip4-ipsec-ah-scapy suite

IP4_IPSEC flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP4-AH.

  • [Cfg] DUT configuration: DUT is configured with IP4_IPSEC flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP4FWD | FLOW | IPSEC | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip4-flow-ip4-ipsec-ah
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 1.1.1.1
| ${dst_ip}= | 2.2.2.2
| ${spi}= | ${12345}
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.2.1. Local Template

  • [Ver] Make TG send IP4-IPSEC packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create IP4 Ipsec Flow  ${dut1}  proto=AH  spi=${spi}  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=AH  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${spi}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create IP4 Ipsec Flow  ${dut1}  proto=AH  spi=${spi}  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=AH  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${spi}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create IP4 Ipsec Flow  ${dut1}  proto=AH  spi=${spi}  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=AH  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${spi}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.2.2. 64B-0c-ethip4-flow-ip4-ipsec-ah-scapy


frame_size=${64}  phy_cores=${0}

6.3.3. 2n1l-10ge2p1x710-ethip4-flow-ip4-ipsec-esp-scapy suite

IP4_IPSEC flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP4-ESP.

  • [Cfg] DUT configuration: DUT is configured with IP4_IPSEC flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP4FWD | FLOW | IPSEC | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip4-flow-ip4-ipsec-esp
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 1.1.1.1
| ${dst_ip}= | 2.2.2.2
| ${spi}= | ${12345}
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.3.1. Local Template

  • [Ver] Make TG send IP4-IPSEC packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create IP4 Ipsec Flow  ${dut1}  proto=ESP  spi=${spi}  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=ESP  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${spi}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create IP4 Ipsec Flow  ${dut1}  proto=ESP  spi=${spi}  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=ESP  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${spi}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create IP4 Ipsec Flow  ${dut1}  proto=ESP  spi=${spi}  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=ESP  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${spi}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.3.2. 64B-0c-ethip4-flow-ip4-ipsec-esp-scapy


frame_size=${64}  phy_cores=${0}

6.3.4. 2n1l-10ge2p1x710-ethip4-flow-ip4-l2tpv3oip-scapy suite

IP4_L2TPV3OIP flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP4-L2TPV3.

  • [Cfg] DUT configuration: DUT is configured with IP4_L2TPV3OIP flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP4FWD | FLOW | L2TPV3 | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip4-flow-ip4-l2tpv3oip
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 1.1.1.1
| ${dst_ip}= | 2.2.2.2
| ${session_id}= | ${12345}
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.4.1. Local Template

  • [Ver] Make TG send IP4-L2TPV3OIP packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create IP4 L2tp Flow  ${dut1}  session_id=${session_id}  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=L2TPV3  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${session_id}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create IP4 L2tp Flow  ${dut1}  session_id=${session_id}  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=L2TPV3  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${session_id}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create IP4 L2tp Flow  ${dut1}  session_id=${session_id}  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=L2TPV3  src_ip=${src_ip}  dst_ip=${dst_ip}  value=${session_id}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.4.2. 64B-0c-ethip4-flow-ip4-l2tpv3oip-scapy


frame_size=${64}  phy_cores=${0}

6.3.5. 2n1l-10ge2p1x710-ethip4-flow-ip4-ntuple-tcp-scapy suite

IP4_N_TUPLE flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP4-TCP.

  • [Cfg] DUT configuration: DUT is configured with IP4_N_TUPLE flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP4FWD | FLOW | NTUPLE | TCP | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip4-flow-ip4-ntuple-tcp
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 1.1.1.1
| ${dst_ip}= | 2.2.2.2
| ${src_port}= | ${100}
| ${dst_port}= | ${200}
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.5.1. Local Template

  • [Ver] Make TG send IP4 packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=TCP  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=TCP  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=TCP  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.5.2. 64B-0c-ethip4-flow-ip4-ntuple-tcp-scapy


frame_size=${64}  phy_cores=${0}

6.3.6. 2n1l-10ge2p1x710-ethip4-flow-ip4-ntuple-udp-scapy suite

IP4_N_TUPLE flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP4-UDP.

  • [Cfg] DUT configuration: DUT is configured with IP4_N_TUPLE flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP4FWD | FLOW | NTUPLE | UDP | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip4-flow-ip4-ntuple-udp
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 1.1.1.1
| ${dst_ip}= | 2.2.2.2
| ${src_port}= | ${100}
| ${dst_port}= | ${200}
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.6.1. Local Template

  • [Ver] Make TG send IP4 packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=UDP  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=UDP  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=UDP  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.6.2. 64B-0c-ethip4-flow-ip4-ntuple-udp-scapy


frame_size=${64}  phy_cores=${0}

6.3.7. 2n1l-10ge2p1x710-ethip4-flow-ip4-tcp-scapy suite

IP4 flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP4-TCP.

  • [Cfg] DUT configuration: DUT is configured with IP4 flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP4FWD | FLOW | TCP | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip4-flow-ip4-tcp
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 1.1.1.1
| ${dst_ip}= | 2.2.2.2
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.7.1. Local Template

  • [Ver] Make TG send IP4 packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=TCP  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=TCP  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=TCP  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.7.2. 64B-0c-ethip4-flow-ip4-tcp-scapy


frame_size=${64}  phy_cores=${0}

6.3.8. 2n1l-10ge2p1x710-ethip4-flow-ip4-udp-scapy suite

IP4 flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP4-UDP.

  • [Cfg] DUT configuration: DUT is configured with IP4 flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP4FWD | FLOW | UDP | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip4-flow-ip4-udp
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 1.1.1.1
| ${dst_ip}= | 2.2.2.2
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.8.1. Local Template

  • [Ver] Make TG send IP4 packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=UDP  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=UDP  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip4 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=UDP  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP4  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.8.2. 64B-0c-ethip4-flow-ip4-udp-scapy


frame_size=${64}  phy_cores=${0}

6.3.9. 2n1l-10ge2p1x710-ethip6-flow-ip6-ntuple-tcp-scapy suite

IP6_N_TUPLE flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP6-TCP.

  • [Cfg] DUT configuration: DUT is configured with IP6_N_TUPLE flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP6FWD | FLOW | NTUPLE | TCP | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip6-flow-ip6-ntuple-tcp
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
| ${dst_ip}= | 1011:2022:3033:4044:5055:6066:7077:8088
| ${src_port}= | ${100}
| ${dst_port}= | ${200}
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.9.1. Local Template

  • [Ver] Make TG send IP6 packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=TCP  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=TCP  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=TCP  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.9.2. 64B-0c-ethip6-flow-ip6-ntuple-tcp-scapy


frame_size=${64}  phy_cores=${0}

6.3.10. 2n1l-10ge2p1x710-ethip6-flow-ip6-ntuple-udp-scapy suite

IP6_N_TUPLE flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP6-UDP.

  • [Cfg] DUT configuration: DUT is configured with IP6_N_TUPLE flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP6FWD | FLOW | NTUPLE | UDP | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip6-flow-ip6-ntuple-udp
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
| ${dst_ip}= | 1011:2022:3033:4044:5055:6066:7077:8088
| ${src_port}= | ${100}
| ${dst_port}= | ${200}
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.10.1. Local Template

  • [Ver] Make TG send IP6 packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=UDP  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=UDP  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 N Tuple Flow  ${dut1}  ${src_ip}  ${dst_ip}  ${src_port}  ${dst_port}  proto=UDP  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  src_port=${src_port}  dst_port=${dst_port}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.10.2. 64B-0c-ethip6-flow-ip6-ntuple-udp-scapy


frame_size=${64}  phy_cores=${0}

6.3.11. 2n1l-10ge2p1x710-ethip6-flow-ip6-tcp-scapy suite

IP6 flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP6-TCP.

  • [Cfg] DUT configuration: DUT is configured with IP6 flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP6FWD | FLOW | TCP | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip6-flow-ip6-tcp
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
| ${dst_ip}= | 1011:2022:3033:4044:5055:6066:7077:8088
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.11.1. Local Template

  • [Ver] Make TG send IP6 packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=TCP  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=TCP  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=TCP  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=TCP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.11.2. 64B-0c-ethip6-flow-ip6-tcp-scapy


frame_size=${64}  phy_cores=${0}

6.3.12. 2n1l-10ge2p1x710-ethip6-flow-ip6-udp-scapy suite

IP6 flow test cases

  • [Top] Network Topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Enc] Packet Encapsulations: Eth-IP6-UDP.

  • [Cfg] DUT configuration: DUT is configured with IP6 flow.

  • [Ver] TG verification: Verify if the flow action is correct.

*** Settings ***
| Resource | resources/libraries/robot/shared/default.robot
|
| Force Tags | 2_NODE_SINGLE_LINK_TOPO | DEVICETEST | HW_ENV | DCR_ENV | SCAPY
| ... | NIC_Intel-X710 | ETH | IP6FWD | FLOW | UDP | DRV_VFIO_PCI
| ... | RXQ_SIZE_0 | TXQ_SIZE_0
| ... | ethip6-flow-ip6-udp
|
| Suite Setup | Setup suite topology interfaces | scapy
| Test Setup | Setup test
| Test Teardown | Tear down test | packet_trace | telemetry
|
| 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
| ${overhead}= | ${0}
| ${src_ip}= | 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
| ${dst_ip}= | 1011:2022:3033:4044:5055:6066:7077:8088
| ${rxq}= | ${4}
# Telemetry
| ${telemetry_profile}= | vppctl_test_teardown

6.3.12.1. Local Template

  • [Ver] Make TG send IP6 packet routed over DUT1 interfaces. Make VPP verify flow packet is correct.

Arguments: - frame_size - Framesize in Bytes in integer. Type: integer - phy_cores - Number of physical cores. Type: integer - rxq - Number of RX queues. 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  with_trace=${True}
 When Initialize layer driver  ${nic_driver}
  And Initialize layer interface
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=UDP  action=redirect-to-queue  value=${${rxq}-1}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=redirect-to-queue  action_value=${${rxq}-1}
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=UDP  action=drop
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=drop
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}
Clear Packet Trace On Dut  ${dut1}
Vpp Enable Traces On Dut  ${dut1}
${flow_index} =  And Vpp Create Ip6 Flow  ${dut1}  ${src_ip}  ${dst_ip}  proto=UDP  action=mark  value=${7}
  And Vpp Flow Enable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
 Then Send flow packet and verify action  ${tg}  ${TG_pf1}[0]  ${DUT1_${int}1_mac}[0]  flow_type=IP6  proto=UDP  src_ip=${src_ip}  dst_ip=${dst_ip}  action=mark
  And Vpp Flow Disable  ${dut1}  ${DUT1_${int}1}[0]  ${flow_index}
  And Vpp Flow Del  ${dut1}  ${flow_index}

6.3.12.2. 64B-0c-ethip6-flow-ip6-udp-scapy


frame_size=${64}  phy_cores=${0}