diff options
author | Miroslav Miklus <mmiklus@cisco.com> | 2016-06-07 17:01:24 +0200 |
---|---|---|
committer | Miroslav Miklus <mmiklus@cisco.com> | 2016-06-10 23:27:52 +0200 |
commit | a74531b4483ae9122ba18e064cd20b8550039d21 (patch) | |
tree | 17a20010ea8637bdf2a0c42727cf6dc579df5485 /resources | |
parent | 800ff9b53f5c861e4625509d1403c1cb4606583b (diff) |
VPP startup config change (rss->txqueues)
JIRA: CSIT-153
Change-Id: I6908670003e02e8dc2971c0308c27baffaf19b66
Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
Diffstat (limited to 'resources')
-rw-r--r-- | resources/libraries/python/VppConfigGenerator.py | 80 | ||||
-rw-r--r-- | resources/libraries/robot/default.robot | 51 |
2 files changed, 42 insertions, 89 deletions
diff --git a/resources/libraries/python/VppConfigGenerator.py b/resources/libraries/python/VppConfigGenerator.py index 9ca9fc401d..9663fdc343 100644 --- a/resources/libraries/python/VppConfigGenerator.py +++ b/resources/libraries/python/VppConfigGenerator.py @@ -52,9 +52,11 @@ cpu {{ dpdk {{ socket-mem {socketmemconfig} -{txqueuesconfig} + dev default {{ + {rxqueuesconfig} + {txqueuesconfig} + }} {pciconfig} -{rssconfig} {nomultiseg} }} """ @@ -164,13 +166,13 @@ class VppConfigGenerator(object): logger.debug('Setting hostname {} Heap Size config to {}'. format(hostname, heapsize_config)) - def add_rss_config(self, node, rss_config): - """Add RSS configuration for node. + def add_rxqueues_config(self, node, rxqueues_config): + """Add Rx Queues configuration for node. :param node: DUT node. - :param rss_config: RSS configuration, as a string. + :param rxqueues_config: Rxqueues configuration, as a string. :type node: dict - :type rss_config: str + :type rxqueues_config: str :return: nothing """ if node['type'] != NodeType.DUT: @@ -178,32 +180,11 @@ class VppConfigGenerator(object): hostname = Topology.get_node_hostname(node) if not hostname in self._nodeconfig: self._nodeconfig[hostname] = {} - if not 'rss_config' in self._nodeconfig[hostname]: - self._nodeconfig[hostname]['rss_config'] = [] - self._nodeconfig[hostname]['rss_config'].append(rss_config) - logger.debug('Setting hostname {} RSS config to {}'.\ - format(hostname, rss_config)) - - def add_max_tx_queues_config(self, node, max_tx_queues_config): - """Add Max TX Queues configuration for node. - - :param node: DUT node. - :param max_tx_queues_config: Max TX Queues configuration, as a string. - :type node: dict - :type max_tx_queues_config: str - :return: nothing - """ - if node['type'] != NodeType.DUT: - raise ValueError('Node type is not a DUT') - hostname = Topology.get_node_hostname(node) - if not hostname in self._nodeconfig: - self._nodeconfig[hostname] = {} - if not 'max_tx_queues_config' in self._nodeconfig[hostname]: - self._nodeconfig[hostname]['max_tx_queues_config'] = [] - self._nodeconfig[hostname]['max_tx_queues_config'].append( - max_tx_queues_config) - logger.debug('Setting hostname {} max_tx_queues config to {}'.\ - format(hostname, max_tx_queues_config)) + if not 'rxqueues_config' in self._nodeconfig[hostname]: + self._nodeconfig[hostname]['rxqueues_config'] = [] + self._nodeconfig[hostname]['rxqueues_config'].append(rxqueues_config) + logger.debug('Setting hostname {} rxqueues config to {}'.\ + format(hostname, rxqueues_config)) def add_no_multi_seg_config(self, node): """Add No Multi Seg configuration for node. @@ -284,8 +265,8 @@ class VppConfigGenerator(object): logger.debug('Clearing Heap Size config for hostname {}.'. format(hostname)) - def remove_rss_config(self, node): - """Remove RSS configuration from node. + def remove_rxqueues_config(self, node): + """Remove Rxqueues configuration from node. :param node: DUT node. :type node: dict @@ -295,23 +276,8 @@ class VppConfigGenerator(object): raise ValueError('Node type is not a DUT') hostname = Topology.get_node_hostname(node) if hostname in self._nodeconfig: - self._nodeconfig[hostname]['rss_config'] = [] - logger.debug('Clearing RSS config for hostname {}.'.\ - format(hostname)) - - def remove_max_tx_queues_config(self, node): - """Remove Max TX Queues configuration from node. - - :param node: DUT node. - :type node: dict - :return: nothing - """ - if node['type'] != NodeType.DUT: - raise ValueError('Node type is not a DUT') - hostname = Topology.get_node_hostname(node) - if hostname in self._nodeconfig: - self._nodeconfig[hostname]['max_tx_queues_config'] = [] - logger.debug('Clearing Max TX Queues config for hostname {}.'.\ + self._nodeconfig[hostname]['rxqueues_config'] = [] + logger.debug('Clearing rxqueues config for hostname {}.'.\ format(hostname)) def remove_no_multi_seg_config(self, node): @@ -351,7 +317,7 @@ class VppConfigGenerator(object): pciconfig = "" socketmemconfig = DEFAULT_SOCKETMEM_CONFIG heapsizeconfig = "" - rssconfig = "" + rxqueuesconfig = "" txqueuesconfig = "" nomultiseg = "" @@ -370,12 +336,8 @@ class VppConfigGenerator(object): heapsizeconfig = "\nheapsize {}\n".\ format(cfg['heapsize_config']) - if 'rss_config' in cfg: - rssconfig = " " + "\n ".join(cfg['rss_config']) - - if 'max_tx_queues_config' in cfg: - txqueuesconfig = " " + "\n ".join( - cfg['max_tx_queues_config']) + if 'rxqueues_config' in cfg: + rxqueuesconfig = " " + "\n ".join(cfg['rxqueues_config']) if 'no_multi_seg_config' in cfg: nomultiseg = " " + "\n ".join(cfg['no_multi_seg_config']) @@ -384,7 +346,7 @@ class VppConfigGenerator(object): pciconfig=pciconfig, socketmemconfig=socketmemconfig, heapsizeconfig=heapsizeconfig, - rssconfig=rssconfig, + rxqueuesconfig=rxqueuesconfig, txqueuesconfig=txqueuesconfig, nomultiseg = nomultiseg) diff --git a/resources/libraries/robot/default.robot b/resources/libraries/robot/default.robot index 59c5e137a0..fb9a70dfe0 100644 --- a/resources/libraries/robot/default.robot +++ b/resources/libraries/robot/default.robot @@ -28,49 +28,49 @@ | | [Documentation] | Prepare all TGs before traffic scripts execution | | All TGs Set Interface Default Driver | ${nodes} -| Add '${m}' worker threads and rss '${n}' without HTT to all DUTs -| | [Documentation] | Setup M worker threads without HTT and rss N in startup -| | ... | configuration of VPP to all DUTs +| Add '${m}' worker threads and rxqueues '${n}' without HTT to all DUTs +| | [Documentation] | Setup M worker threads without HTT and rxqueues N in +| | ... | startup configuration of VPP to all DUTs | | ${cpu}= | Catenate | main-core | 0 | corelist-workers | | ${cpu}= | Run Keyword If | '${m}' == '1' | Catenate | ${cpu} | 1 | | ... | ELSE IF | '${m}' == '2' | Catenate | ${cpu} | 1-2 | | ... | ELSE IF | '${m}' == '4' | Catenate | ${cpu} | 1-4 | | ... | ELSE IF | '${m}' == '6' | Catenate | ${cpu} | 1-6 | | ... | ELSE | Fail | Not supported combination -| | ${rss}= | Catenate | rss | ${n} -| | Add worker threads and rss to all DUTs | ${cpu} | ${rss} +| | ${rxqueues}= | Catenate | num-rx-queues | ${n} +| | Add worker threads and rxqueues to all DUTs | ${cpu} | ${rxqueues} -| Add '${m}' worker threads and rss '${n}' with HTT to all DUTs -| | [Documentation] | Setup M worker threads with HTT and rss N in startup -| | ... | configuration of VPP to all DUTs +| Add '${m}' worker threads and rxqueues '${n}' with HTT to all DUTs +| | [Documentation] | Setup M worker threads with HTT and rxqueues N in +| | ... | startup configuration of VPP to all DUTs | | ${cpu}= | Catenate | main-core | 0 | corelist-workers | | ${cpu}= | Run Keyword If | '${m}' == '2' | Catenate | ${cpu} | 1,10 | | ... | ELSE IF | '${m}' == '4' | Catenate | ${cpu} | 1-2,10-11 | | ... | ELSE IF | '${m}' == '6' | Catenate | ${cpu} | 1-3,10-12 | | ... | ELSE IF | '${m}' == '8' | Catenate | ${cpu} | 1-4,10-13 | | ... | ELSE | Fail | Not supported combination -| | ${rss}= | Catenate | rss | ${n} -| | Add worker threads and rss to all DUTs | ${cpu} | ${rss} +| | ${rxqueues}= | Catenate | num-rx-queues | ${n} +| | Add worker threads and rxqueues to all DUTs | ${cpu} | ${rxqueues} -| Add worker threads and rss to all DUTs -| | [Documentation] | Setup worker threads and rss in VPP startup configuration -| | ... | to all DUTs +| Add worker threads and rxqueues to all DUTs +| | [Documentation] | Setup worker threads and rxqueues in VPP startup +| | ... | configuration to all DUTs | | ... | | ... | *Arguments:* | | ... | - ${cpu} - CPU configuration. Type: string -| | ... | - ${rss} - RSS configuration. Type: string +| | ... | - ${rxqueues} - rxqueues configuration. Type: string | | ... | | ... | *Example:* | | ... -| | ... | \| Add worker threads and rss to all DUTs \| main-core 0 \ -| | ... | \| rss 2 -| | [Arguments] | ${cpu} | ${rss} +| | ... | \| Add worker threads and rxqueues to all DUTs \| main-core 0 \ +| | ... | \| rxqueues 2 +| | [Arguments] | ${cpu} | ${rxqueues} | | ${duts}= | Get Matches | ${nodes} | DUT* | | :FOR | ${dut} | IN | @{duts} | | | Add CPU config | ${nodes['${dut}']} | | | ... | ${cpu} -| | | Add RSS config | ${nodes['${dut}']} -| | | ... | ${rss} +| | | Add rxqueues config | ${nodes['${dut}']} +| | | ... | ${rxqueues} | Add all PCI devices to all DUTs | | [Documentation] | Add all available PCI devices from topology file to VPP @@ -101,14 +101,6 @@ | | :FOR | ${dut} | IN | @{duts} | | | Add No Multi Seg Config | ${nodes['${dut}']} -| Add Max Tx Queues '${m}' to all DUTs -| | [Documentation] | Add Max Tx Queues M to VPP startup configuration to all -| | ... | DUTs -| | ${queues}= | Catenate | max-tx-queues | ${m} -| | ${duts}= | Get Matches | ${nodes} | DUT* -| | :FOR | ${dut} | IN | @{duts} -| | | Add Max Tx Queues Config | ${nodes['${dut}']} | ${queues} - | Remove startup configuration of VPP from all DUTs | | [Documentation] | Remove VPP startup configuration from all DUTs | | ${duts}= | Get Matches | ${nodes} | DUT* @@ -117,14 +109,13 @@ | | | Remove All CPU Config | ${nodes['${dut}']} | | | Remove Socketmem Config | ${nodes['${dut}']} | | | Remove Heapsize Config | ${nodes['${dut}']} -| | | Remove RSS Config | ${nodes['${dut}']} -| | | Remove Max Tx Queues Config | ${nodes['${dut}']} +| | | Remove Rxqueues Config | ${nodes['${dut}']} | | | Remove No Multi Seg Config | ${nodes['${dut}']} | Setup default startup configuration of VPP on all DUTs | | [Documentation] | Setup default startup configuration of VPP to all DUTs | | Remove startup configuration of VPP from all DUTs -| | Add '1' worker threads and rss '1' without HTT to all DUTs +| | Add '1' worker threads and rxqueues '1' without HTT to all DUTs | | Add all PCI devices to all DUTs | | Apply startup configuration on all VPP DUTs |