dpdk {{
socket-mem {socketmemconfig}
+ dev default {{
+ {rxqueuesconfig}
+ {txqueuesconfig}
+ }}
{pciconfig}
-{rssconfig}
+{nomultiseg}
}}
"""
# End VPP configuration template.
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:
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))
+ 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.
+
+ :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 not hostname in self._nodeconfig:
+ self._nodeconfig[hostname] = {}
+ if not 'no_multi_seg_config' in self._nodeconfig[hostname]:
+ self._nodeconfig[hostname]['no_multi_seg_config'] = []
+ self._nodeconfig[hostname]['no_multi_seg_config'].append(
+ "no-multi-seg")
+ logger.debug('Setting hostname {} config with {}'.\
+ format(hostname, "no-multi-seg"))
def remove_all_pci_devices(self, node):
"""Remove PCI device configuration from node.
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
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 {}.'.\
+ self._nodeconfig[hostname]['rxqueues_config'] = []
+ logger.debug('Clearing rxqueues config for hostname {}.'.\
+ format(hostname))
+
+ def remove_no_multi_seg_config(self, node):
+ """Remove No Multi Seg 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]['no_multi_seg_config'] = []
+ logger.debug('Clearing No Multi Seg config for hostname {}.'.\
format(hostname))
def apply_config(self, node, waittime=5, retries=12):
pciconfig = ""
socketmemconfig = DEFAULT_SOCKETMEM_CONFIG
heapsizeconfig = ""
- rssconfig = ""
+ rxqueuesconfig = ""
+ txqueuesconfig = ""
+ nomultiseg = ""
if hostname in self._nodeconfig:
cfg = self._nodeconfig[hostname]
heapsizeconfig = "\nheapsize {}\n".\
format(cfg['heapsize_config'])
- if 'rss_config' in cfg:
- rssconfig = " " + "\n ".join(cfg['rss_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'])
vppconfig = VPP_CONFIG_TEMPLATE.format(cpuconfig=cpuconfig,
pciconfig=pciconfig,
socketmemconfig=socketmemconfig,
heapsizeconfig=heapsizeconfig,
- rssconfig=rssconfig)
+ rxqueuesconfig=rxqueuesconfig,
+ txqueuesconfig=txqueuesconfig,
+ nomultiseg = nomultiseg)
logger.debug('Writing VPP config to host {}: "{}"'.format(hostname,
vppconfig))