Add: avf-dot1q testcases
[csit.git] / resources / libraries / robot / shared / interfaces.robot
index ae2aa7b..55d0a3d 100644 (file)
 | | ... | ${${dut}_if2_vf0}
 | | ${dut_eth_vf_if1}= | VPP Create AVF Interface | ${nodes['${dut}']}
 | | ... | ${if1_pci} | ${rxq_count_int}
+| | ${dut_eth_vf_if1_mac}= | Get Interface MAC | ${nodes['${dut}']}
+| | ... | ${dut_eth_vf_if1}
 | | ${dut_eth_vf_if2}= | VPP Create AVF Interface | ${nodes['${dut}']}
 | | ... | ${if2_pci} | ${rxq_count_int}
+| | ${dut_eth_vf_if2_mac}= | Get Interface MAC | ${nodes['${dut}']}
+| | ... | ${dut_eth_vf_if2}
 | | Set Test Variable | ${${dut_str}_if1} | ${dut_eth_vf_if1}
 | | Set Test Variable | ${${dut_str}_if2} | ${dut_eth_vf_if2}
+| | Set Test Variable | ${${dut_str}_if1_mac} | ${dut_eth_vf_if1_mac}
+| | Set Test Variable | ${${dut_str}_if2_mac} | ${dut_eth_vf_if2_mac}
 
 | Initialize AVF interfaces
 | | [Documentation]
 | | ...
 | | ${dut_str}= | Convert To Lowercase | ${dut}
 | | :FOR | ${id} | IN RANGE | 1 | ${count} + 1
-| | | ${if1_vlan}= | Run Keyword If | ${${dut_str}_vlan1}
-| | | ... | Set Variable | ${${dut_str}_vlan1}
-| | | ... | ELSE
-| | | ... | Evaluate | ${100} + ${id} - ${1}
-| | | ${if2_vlan}= | Run Keyword If | ${${dut_str}_vlan2}
-| | | ... | Set Variable | ${${dut_str}_vlan2}
-| | | ... | ELSE
-| | | ... | Evaluate | ${200} + ${id} - ${1}
+| | | ${if1_vlan}= | Get Variable Value | \${${dut_str}_vlan1}
+| | | ${default}= | Evaluate | ${100} + ${id} - ${1}
+| | | ${if1_vlan}= | Set Variable If | '${if1_vlan}' == '${NONE}'
+| | | ... | ${default} | ${if1_vlan}
+| | | ${if2_vlan}= | Get Variable Value | \${${dut_str}_vlan2}
+| | | ${default}= | Evaluate | ${200} + ${id} - ${1}
+| | | ${if2_vlan}= | Set Variable If | '${if2_vlan}' == '${NONE}'
+| | | ... | ${default} | ${if2_vlan}
 | | | ${if1_name} | ${if1_index}= | Run Keyword If
 | | | ... | ${create} or ${id} == ${1}
 | | | ... | Create Vlan Subinterface
 | | :FOR | ${dut} | IN | @{duts}
 | | | Initialize layer ip4vxlan on node | ${dut} | count=${count}
 | | Set Test Variable | ${prev_layer} | ip4vxlan
+
+| Configure vhost interfaces
+| | [Documentation]
+| | ... | Create two Vhost-User interfaces on defined VPP node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${dut_node} - DUT node. Type: dictionary
+| | ... | - ${sock1} - Socket path for first Vhost-User interface. Type: string
+| | ... | - ${sock2} - Socket path for second Vhost-User interface. Type: string
+| | ... | - ${vhost_if1} - Name of the first Vhost-User interface (Optional).
+| | ... | Type: string
+| | ... | - ${vhost_if2} - Name of the second Vhost-User interface (Optional).
+| | ... | Type: string
+| | ...
+| | ... | _NOTE:_ This KW sets following test case variable:
+| | ... | - ${${vhost_if1}} - First Vhost-User interface.
+| | ... | - ${${vhost_if2}} - Second Vhost-User interface.
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Configure vhost interfaces \
+| | ... | \| ${nodes['DUT1']} \| /tmp/sock1 \| /tmp/sock2 \|
+| | ... | \| Configure vhost interfaces \
+| | ... | \| ${nodes['DUT2']} \| /tmp/sock1 \| /tmp/sock2 \| dut2_vhost_if1 \
+| | ... | \| dut2_vhost_if2 \|
+| | ...
+| | [Arguments] | ${dut_node} | ${sock1} | ${sock2} | ${vhost_if1}=vhost_if1
+| | ... | ${vhost_if2}=vhost_if2
+| | ...
+| | ${vhost_1}= | Vpp Create Vhost User Interface | ${dut_node} | ${sock1}
+| | ${vhost_2}= | Vpp Create Vhost User Interface | ${dut_node} | ${sock2}
+| | Set Interface State | ${dut_node} | ${vhost_1} | up
+| | Set Interface State | ${dut_node} | ${vhost_2} | up
+| | Set Test Variable | ${${vhost_if1}} | ${vhost_1}
+| | Set Test Variable | ${${vhost_if2}} | ${vhost_2}