| | ... | - dut - DUT node. Type: dictionary
| | ... | - nf_chain - NF chain. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per chain. Type: integer
| | ... | - dut - DUT node. Type: dictionary
| | ... | - nf_chain - NF chain. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per chain. Type: integer
| | ${bd_id2}= | Evaluate | ${nf_nodes}+1
| | Add interface to bridge domain | ${nodes['${dut}']} | ${${dut}_if1} | ${1}
| | Add interface to bridge domain | ${nodes['${dut}']} | ${${dut}_if2}
| | ${bd_id2}= | Evaluate | ${nf_nodes}+1
| | Add interface to bridge domain | ${nodes['${dut}']} | ${${dut}_if1} | ${1}
| | Add interface to bridge domain | ${nodes['${dut}']} | ${${dut}_if2}
| | | ${sock2}= | Set Variable | memif-${dut}_CNF
| | | Set up memif interfaces on DUT node | ${nodes['${dut}']}
| | | ... | ${sock1} | ${sock2} | ${nf_id} | ${dut}-memif-${nf_id}-if1
| | | ${sock2}= | Set Variable | memif-${dut}_CNF
| | | Set up memif interfaces on DUT node | ${nodes['${dut}']}
| | | ... | ${sock1} | ${sock2} | ${nf_id} | ${dut}-memif-${nf_id}-if1
| | | ${bd_id2}= | Evaluate | ${nf_node}+1
| | | Add interface to bridge domain | ${nodes['${dut}']}
| | | ... | ${${dut}-memif-${nf_id}-if1} | ${nf_node}
| | | ${bd_id2}= | Evaluate | ${nf_node}+1
| | | Add interface to bridge domain | ${nodes['${dut}']}
| | | ... | ${${dut}-memif-${nf_id}-if1} | ${nf_node}
| | ... | *Arguments:*
| | ... | - nf_chain - NF chain. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per chain. Type: integer
| | ... | *Arguments:*
| | ... | - nf_chain - NF chain. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per chain. Type: integer
| | ...
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
| | | Initialize L2 Bridge Domain with memif pairs on DUT node | ${dut}
| | | ... | nf_chain=${nf_chain} | nf_nodes=${nf_nodes}
| | ...
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
| | | Initialize L2 Bridge Domain with memif pairs on DUT node | ${dut}
| | | ... | nf_chain=${nf_chain} | nf_nodes=${nf_nodes}
| | ... | *Arguments:*
| | ... | - nf_chains - Number of chains of NFs. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per chain. Type: integer
| | ... | *Arguments:*
| | ... | - nf_chains - Number of chains of NFs. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per chain. Type: integer
| | ...
| | :FOR | ${nf_chain} | IN RANGE | 1 | ${nf_chains}+1
| | | Initialize L2 Bridge Domain with memif pairs | nf_chain=${nf_chain}
| | ...
| | :FOR | ${nf_chain} | IN RANGE | 1 | ${nf_chains}+1
| | | Initialize L2 Bridge Domain with memif pairs | nf_chain=${nf_chain}
| | ... | *Arguments:*
| | ... | - nf_chain - NF pipe. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per pipeline. Type: integer
| | ... | *Arguments:*
| | ... | - nf_chain - NF pipe. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per pipeline. Type: integer
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
| | | Add interface to bridge domain | ${nodes['${dut}']} | ${${dut}_if1} | ${1}
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
| | | Add interface to bridge domain | ${nodes['${dut}']} | ${${dut}_if1} | ${1}
| | | Set up single memif interface on DUT node | ${nodes['${dut}']}
| | | ... | memif-${dut}_CNF | mid=${nf_id_frst} | sid=${sid_frst}
| | | ... | memif_if=${dut}-memif-${nf_id_frst}-if1
| | | Set up single memif interface on DUT node | ${nodes['${dut}']}
| | | ... | memif-${dut}_CNF | mid=${nf_id_frst} | sid=${sid_frst}
| | | ... | memif_if=${dut}-memif-${nf_id_frst}-if1
| | | Set up single memif interface on DUT node | ${nodes['${dut}']}
| | | ... | memif-${dut}_CNF | mid=${nf_id_last} | sid=${sid_last}
| | | ... | memif_if=${dut}-memif-${nf_id_last}-if2
| | | Set up single memif interface on DUT node | ${nodes['${dut}']}
| | | ... | memif-${dut}_CNF | mid=${nf_id_last} | sid=${sid_last}
| | | ... | memif_if=${dut}-memif-${nf_id_last}-if2
| | | Add interface to bridge domain | ${nodes['${dut}']}
| | | ... | ${${dut}-memif-${nf_id_frst}-if1} | ${1}
| | | Add interface to bridge domain | ${nodes['${dut}']}
| | | Add interface to bridge domain | ${nodes['${dut}']}
| | | ... | ${${dut}-memif-${nf_id_frst}-if1} | ${1}
| | | Add interface to bridge domain | ${nodes['${dut}']}
| | ... | *Arguments:*
| | ... | - nf_chains - Number of pipelines of NFs. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per pipeline. Type: integer
| | ... | *Arguments:*
| | ... | - nf_chains - Number of pipelines of NFs. Type: integer
| | ... | - nf_nodes - Number of NFs nodes per pipeline. Type: integer
| | ...
| | ... | *Example:*
| | ...
| | ... | \| Initialize L2 Bridge Domain for multiple pipelines with memif \
| | ... | pairs \| 1 \| 1 \|
| | ...
| | ...
| | ... | *Example:*
| | ...
| | ... | \| Initialize L2 Bridge Domain for multiple pipelines with memif \
| | ... | pairs \| 1 \| 1 \|
| | ...
| | ...
| | :FOR | ${nf_chain} | IN RANGE | 1 | ${nf_chains}+1
| | | Initialize L2 Bridge Domain for pipeline with memif pairs
| | | ... | nf_chain=${nf_chain} | nf_nodes=${nf_nodes}
| | ...
| | :FOR | ${nf_chain} | IN RANGE | 1 | ${nf_chains}+1
| | | Initialize L2 Bridge Domain for pipeline with memif pairs
| | | ... | nf_chain=${nf_chain} | nf_nodes=${nf_nodes}