| | [Documentation] | Setup BD between 2 interfaces on VPP node and if learning
| | ... | is off set static L2FIB entry on second interface
| | [Arguments] | ${node} | ${if1} | ${if2} | ${learn}=${TRUE} | ${mac}=${EMPTY}
| | [Documentation] | Setup BD between 2 interfaces on VPP node and if learning
| | ... | is off set static L2FIB entry on second interface
| | [Arguments] | ${node} | ${if1} | ${if2} | ${learn}=${TRUE} | ${mac}=${EMPTY}
| | ... | Vpp Add L2fib Entry | ${node} | ${mac} | ${if2} | ${1}
| | All Vpp Interfaces Ready Wait | ${nodes}
| | ... | Vpp Add L2fib Entry | ${node} | ${mac} | ${if2} | ${1}
| | All Vpp Interfaces Ready Wait | ${nodes}
| | [Documentation] | Compute path for bridge domain split-horizon group testing
| | ... | on three given nodes with following interconnections
| | ... | TG - (2 links) - DUT1 - (1 link) - DUT2 - (2 links) - TG
| | [Documentation] | Compute path for bridge domain split-horizon group testing
| | ... | on three given nodes with following interconnections
| | ... | TG - (2 links) - DUT1 - (1 link) - DUT2 - (2 links) - TG
| | ... | \| ${nodes['DUT1']} \| ${nodes['DUT2']} \|
| | [Arguments] | ${tg_node} | ${dut1_node} | ${dut2_node}
| | # Compute path TG - DUT1 with two links in between
| | ... | \| ${nodes['DUT1']} \| ${nodes['DUT2']} \|
| | [Arguments] | ${tg_node} | ${dut1_node} | ${dut2_node}
| | # Compute path TG - DUT1 with two links in between
| | [Documentation] | Set UP state on interfaces in 3-node path on nodes and
| | ... | wait for all interfaces are ready.
| | ...
| | [Documentation] | Set UP state on interfaces in 3-node path on nodes and
| | ... | wait for all interfaces are ready.
| | ...
| | ...
| | Set Interface State | ${tg_node} | ${tg_to_dut1_if1} | up
| | Set Interface State | ${tg_node} | ${tg_to_dut1_if2} | up
| | ...
| | Set Interface State | ${tg_node} | ${tg_to_dut1_if1} | up
| | Set Interface State | ${tg_node} | ${tg_to_dut1_if2} | up
-| | ... | \| Bridge domain on DUT node is created \| ${nodes['DUT1']} \| 2 \|
-| | ... | \| Bridge domain on DUT node is created \| ${nodes['DUT1']} \| 5 \
+| | ... | \| Create bridge domain \| ${nodes['DUT1']} \| 2 \|
+| | ... | \| Create bridge domain \| ${nodes['DUT1']} \| 5 \
| | ... | \| learn=${FALSE} \|
| | [Arguments] | ${dut_node} | ${bd_id} | ${learn}=${TRUE}
| | ${learn} = | Set Variable If | ${learn} == ${TRUE} | ${1} | ${0}
| | Create L2 BD | ${dut_node} | ${bd_id} | learn=${learn}
| | ... | \| learn=${FALSE} \|
| | [Arguments] | ${dut_node} | ${bd_id} | ${learn}=${TRUE}
| | ${learn} = | Set Variable If | ${learn} == ${TRUE} | ${1} | ${0}
| | Create L2 BD | ${dut_node} | ${bd_id} | learn=${learn}
| | [Documentation] | Set given interface admin state to up and add this
| | ... | interface to required L2 bridge domain on defined
| | ... | VPP node.
| | [Documentation] | Set given interface admin state to up and add this
| | ... | interface to required L2 bridge domain on defined
| | ... | VPP node.
| | ... | \| GigabitEthernet0/8/0 \| 3 \|
| | [Arguments] | ${dut_node} | ${dut_if} | ${bd_id} | ${shg}=0
| | Set Interface State | ${dut_node} | ${dut_if} | up
| | Add Interface To L2 BD | ${dut_node} | ${dut_if} | ${bd_id} | ${shg}
| | ... | \| GigabitEthernet0/8/0 \| 3 \|
| | [Arguments] | ${dut_node} | ${dut_if} | ${bd_id} | ${shg}=0
| | Set Interface State | ${dut_node} | ${dut_if} | up
| | Add Interface To L2 BD | ${dut_node} | ${dut_if} | ${bd_id} | ${shg}
| | [Documentation] | Create a static L2FIB entry for required destination port
| | ... | on defined interface and bridge domain ID
| | ... | of the given VPP node.
| | [Documentation] | Create a static L2FIB entry for required destination port
| | ... | on defined interface and bridge domain ID
| | ... | of the given VPP node.
| | ... | \| eth1 \| ${nodes['DUT2']} \| GigabitEthernet0/8/0 \| 3 \|
| | [Arguments] | ${dest_node} | ${dest_node_if} | ${vpp_node}
| | ... | ${vpp_node_if} | ${bd_id}
| | ${mac}= | Get Interface Mac | ${dest_node} | ${dest_node_if}
| | Vpp Add L2fib Entry | ${vpp_node} | ${mac} | ${vpp_node_if} | ${bd_id}
| | ... | \| eth1 \| ${nodes['DUT2']} \| GigabitEthernet0/8/0 \| 3 \|
| | [Arguments] | ${dest_node} | ${dest_node_if} | ${vpp_node}
| | ... | ${vpp_node_if} | ${bd_id}
| | ${mac}= | Get Interface Mac | ${dest_node} | ${dest_node_if}
| | Vpp Add L2fib Entry | ${vpp_node} | ${mac} | ${vpp_node_if} | ${bd_id}
| | ... | \| /tmp/sock1 \| /tmp/sock2 \| qemu_instance_2 \|
| | [Arguments] | ${dut_node} | ${sock1} | ${sock2} | ${qemu_name}=vm_node
| | Run Keyword Unless | "${qemu_name}" == "vm_node" | Import Library
| | ... | \| /tmp/sock1 \| /tmp/sock2 \| qemu_instance_2 \|
| | [Arguments] | ${dut_node} | ${sock1} | ${sock2} | ${qemu_name}=vm_node
| | Run Keyword Unless | "${qemu_name}" == "vm_node" | Import Library
| | Set Interface State | ${vm} | ${br} | up | if_type=name
| | Set Test Variable | ${${qemu_name}} | ${vm}
| | Set Interface State | ${vm} | ${br} | up | if_type=name
| | Set Test Variable | ${${qemu_name}} | ${vm}
| | ... | \| ${nodes['DUT2']} \| /tmp/sock1 \| /tmp/sock2 \| dut2_vhost_if1 \
| | ... | \| dut2_vhost_if2 \|
| | [Arguments] | ${dut_node} | ${sock1} | ${sock2} | ${vhost_if1}=vhost_if1
| | ... | \| ${nodes['DUT2']} \| /tmp/sock1 \| /tmp/sock2 \| dut2_vhost_if1 \
| | ... | \| dut2_vhost_if2 \|
| | [Arguments] | ${dut_node} | ${sock1} | ${sock2} | ${vhost_if1}=vhost_if1