X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FDpdkUtil.py;h=41c79a84cf8aca71d39a1ad54f8e043c5d21ec89;hb=ada7009a3c826430e83a29c31bdf9a5973986ad9;hp=79e72093649f249a6c3a9ded6b803d7ecbc293ab;hpb=f4e3171ec87416266291170f7c9cd089a9d2d8e4;p=csit.git diff --git a/resources/libraries/python/DpdkUtil.py b/resources/libraries/python/DpdkUtil.py index 79e7209364..41c79a84cf 100644 --- a/resources/libraries/python/DpdkUtil.py +++ b/resources/libraries/python/DpdkUtil.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. +# Copyright (c) 2018 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -29,8 +29,8 @@ class DpdkUtil(object): :rtype: str """ # Set the hexadecimal bitmask of the cores to run on. - eal_coremask = '-c {} '.format(args['eal_coremask'])\ - if args.get('eal_coremask', '') else '' + eal_corelist = '-l {} '.format(args['eal_corelist'])\ + if args.get('eal_corelist', '') else '' # Set master core. eal_master_core = '--master-lcore 0 ' # Set the number of memory channels to use. @@ -42,7 +42,7 @@ class DpdkUtil(object): # Load an external driver. Multiple -d options are allowed. eal_driver = '-d /usr/lib/librte_pmd_virtio.so ' eal_options = '-v '\ - + eal_coremask\ + + eal_corelist\ + eal_master_core\ + eal_mem_channels\ + eal_socket_mem\ @@ -79,8 +79,11 @@ class DpdkUtil(object): # Set the hexadecimal bitmask of TX queue flags. pmd_txqflags = '--txqflags=0xf00 ' # Set the number of mbufs to be allocated in the mbuf pools. - pmd_total_num_mbufs = '--total-num-mbufs={} '.format(\ + pmd_total_num_mbufs = '--total-num-mbufs={} '.format( args['pmd_num_mbufs']) if args.get('pmd_num_mbufs', '') else '' + # Set the max packet length. + pmd_max_pkt_len = "--max-pkt-len={0}".format(args["pmd_max_pkt_len"]) \ + if args.get("pmd_max_pkt_len", "") else "" # Set the hexadecimal bitmask of the ports for forwarding. pmd_portmask = '--portmask={} '.format(args['pmd_portmask'])\ if args.get('pmd_portmask', '') else '' @@ -96,7 +99,7 @@ class DpdkUtil(object): pmd_eth_peer_1 = '--eth-peer={} '.format(args['pmd_eth_peer_1'])\ if args.get('pmd_eth_peer_1', '') else '' # Set the number of forwarding cores based on coremask. - pmd_nb_cores = '--nb-cores={} '.format(\ + pmd_nb_cores = '--nb-cores={} '.format( bin(int(args['eal_coremask'], 0)).count('1')-1)\ if args.get('eal_coremask', '') else '' pmd_options = '-- '\ @@ -113,21 +116,22 @@ class DpdkUtil(object): + pmd_disable_rss\ + pmd_eth_peer_0\ + pmd_eth_peer_1\ - + pmd_nb_cores + + pmd_nb_cores\ + + pmd_max_pkt_len return pmd_options @staticmethod - def dpdk_testpmd_start(node, **args): + def dpdk_testpmd_start(node, **kwargs): """Start DPDK testpmd app on VM node. :param node: VM Node to start testpmd on. - :param args: List of testpmd parameters. + :param args: Key-value testpmd parameters. :type node: dict :type args: dict - :return: nothing + :returns: nothing """ - eal_options = DpdkUtil.get_eal_options(**args) - pmd_options = DpdkUtil.get_pmd_options(**args) + eal_options = DpdkUtil.get_eal_options(**kwargs) + pmd_options = DpdkUtil.get_pmd_options(**kwargs) ssh = SSH() ssh.connect(node) @@ -141,7 +145,7 @@ class DpdkUtil(object): :param node: Node to stop testpmd on. :type node: dict - :return: nothing + :returns: nothing """ ssh = SSH() ssh.connect(node)