+ :type jumbo_frames: bool
+ """
+ if dut_node['type'] == NodeType.DUT:
+ adj_mac0, adj_mac1 = L3fwdTest.get_adj_mac(nodes_info, dut_node,
+ dut_if1, dut_if2)
+
+ list_cores = [int(item) for item in lcores_list.split(',')]
+
+ # prepare the port config param
+ nb_cores = int(nb_cores)
+ index = 0
+ port_config = ''
+ for port in range(0, 2):
+ for queue in range(0, int(queue_nums)):
+ index = 0 if nb_cores == 1 else index
+ port_config += '({port}, {queue}, {core}),'.\
+ format(port=port, queue=queue, core=list_cores[index])
+ index += 1
+
+ ssh = SSH()
+ ssh.connect(dut_node)
+
+ cmd = '{fwdir}/tests/dpdk/dpdk_scripts/run_l3fwd.sh ' \
+ '"{lcores}" "{ports}" {mac1} {mac2} {jumbo}'.\
+ format(fwdir=Constants.REMOTE_FW_DIR, lcores=lcores_list,
+ ports=port_config.rstrip(','), mac1=adj_mac0,
+ mac2=adj_mac1, jumbo='yes' if jumbo_frames else 'no')
+
+ ret_code, _, _ = ssh.exec_command_sudo(cmd, timeout=600)
+ if ret_code != 0:
+ raise Exception('Failed to execute l3fwd test at node {name}'
+ .format(name=dut_node['host']))
+
+ @staticmethod
+ def get_adj_mac(nodes_info, dut_node, dut_if1, dut_if2):