From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0088.outbound.protection.outlook.com [104.47.40.88]) by dpdk.org (Postfix) with ESMTP id 24C216A70 for ; Mon, 10 Apr 2017 19:10:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=d24I/2NhyMXJnWTuDmR4UjU9o8ZJwUsdqYouI7pgs1g=; b=ITJjwHOypv6bQ9DooG+lwYrdNIeR/pXLjozspmMqq5M+VnB+gzR3LmWUGm9MZQiCLTKaBfSc3ThGSvnUMmqIch9O8zxjHHzAyuPcYANSKpTXzKkSDsUvpVB/2rqWo7smQ6RcaxnLhpl7jjd6lax6IsqD+xvFO+Ew5pDUl9qWYR0= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from angela-H81M-S1.semihalf.local (31.172.191.173) by DM2PR0701MB812.namprd07.prod.outlook.com (10.242.127.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.17; Mon, 10 Apr 2017 17:10:04 +0000 From: Angela Czubak To: dts@dpdk.org Cc: Angela Czubak Date: Mon, 10 Apr 2017 19:09:21 +0200 Message-Id: <1491844162-16300-28-git-send-email-aczubak@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1491844162-16300-1-git-send-email-aczubak@caviumnetworks.com> References: <1491501092-14278-1-git-send-email-aczubak@caviumnetworks.com> <1491844162-16300-1-git-send-email-aczubak@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [31.172.191.173] X-ClientProxiedBy: DB6PR05CA0010.eurprd05.prod.outlook.com (10.170.218.23) To DM2PR0701MB812.namprd07.prod.outlook.com (10.242.127.26) X-MS-Office365-Filtering-Correlation-Id: aa5dcc09-8a45-483e-1e91-08d480346e76 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:DM2PR0701MB812; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB812; 3:3CxBI827nwsl0o3vLxDal6KpNJOlNT7974IcP9PNMLI3Ur5lIuwLuQu1q/gJS9hnDATDkIZbf++vopwLFHfWkllp+F1Nhmzy57CBErbAJDcVUVnU7nGyuABGcwNi3l5EXmB8Ns6vMwXJnIiTU7+8dn4EWfTB2T/uxMF0rILPWlXwqra99cRlPueefq1d94cPTjBCeeNqWWnCximVF2xX0ke74DD/MZG+RnoMbpmK4tF24OGPsn1ZlIVgpmQ67+0vw9bkSMvXas6bdT3p9CSR4y93gJOgYvcWT1BsK781HIhmGaH4xtU15IzGdcsLzPp1CTl4MlW0jvNvtHvJhZbtMw==; 25:EDvoDt/C+inEs6C4wWWjldBxYTLsLXaY24QPhUhgv4HaeV5RebJ7nReC+2EjdtrnV3sN8ag7PCLTBEkn1uRMdh9PI4ILZDbyk+FEpuTcb0XH3A0ZaCgOAusXlSV9x1O1mQiGcz/BnIDNZOFd36+bnk0Q/2FdtS9pAEon1QcxgO6Oz2BOAAd0nOlXsbZaNCE3xdX754s2cfqNLzAQh+XnHLfpFHld3oKX1VahIKadeYrVRiqH6T8dZs+t5JQhGOP8dFcyTRpHZ3haWoluRRe1Gzq4athaVrAki1ZejI2ipAS66XUufxKusUY6zuBKqaXiGn+NpueeCi9GQL7ICoaNH7d8NX8CY+54hGAaCRtKfLdB6zehWQoF43wcPp5zPhJgzuUepPvzGonbYzM+GFMKwDfS9m68DnFWn2eKM3HMpkN5xJFmOJh8zt3akNBc3znCSexZx0MRKBWFXyA3cOwttw== X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB812; 31:1jxXLwaEPU58jWL0psayROfR9dFyK1dteGuFsfH87eCXMPDuCDXyizowIb3kQ/6SJzd8F0uGURprPLIhq0Y4cjAaAAuOKyHKL5hsRWipkAs+oozp8SQdG3Szcf+O/rZPDNICByi0Kt97tLYJrpLQ7d66CvnBPGjghV3QD8bdf9kZ/DNJNaU3mfnWq9OERD6GsuyveBsxGVAx2yw0ZLgJmnnH6R6etW+fo5RbZ3jAxgs=; 20:s1MCq5vELdWWoppXwdnOvBdzq3RMosYeQ/B9pd/SfxiFssgVuuwsulwWNYiqR8r1zXGLXQnzcoN59PO9y0Kn4xdiVmwKYaVSK06mzJRotBPBg7wPnvo1dXv21xwTbsoZstfkTs6smvgtyDX1yFYN6uDzGthR/VTdR1+SzMwF6+ZWezqnujA3gb4HtMTCEKNC4kDwuoXR6R1kLPiuLCjWo2rzvqJA+5xPXTr73fAk+BuNiILqguphuV20pRDjeucmBrk2mJT7mXf5BDTGaC2V1oIE/5qOmwhZiYWUZBM8re2CzfDK2AZDumEhOvErjAr7l5JIYidCS9TpDRJ3zje2sfeS+U/uOHJkZVruf4QIeZNrTYskL5XAqxLU2lgRglTqZSi5wEbRV554aFQ2Uv81xNoxR8WiFGMj6R7MdWbJmc8h2ABHzQZxHvoHWK0J5c5s4dVv6na1yqQFeHXuQRRAGgfo4PeJpXYNzrmGKCz7nh9RKuPpO8v1u+vkZC7FB3eq5HsnjDR7uYGEcxUcjNf3rvJRAjnm0m2APPkww0Eo/eR7J+UGV11ESrk8pBKxkY4ufTVplan98jK38sohJZpak3rm4shnaRLgqEvZNEBiL08= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(6072148); SRVR:DM2PR0701MB812; BCL:0; PCL:0; RULEID:; SRVR:DM2PR0701MB812; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB812; 4:PhLqflNKT4G0txoMcZVc8UAF2xJe+Sy1JfMe0UEUamtyu48xbtkMnROFfvV1nhJP7hRqU5Fg2Turo7+VwyWhxHpV4jmPAIrqvAOqEAEO6j3nFLzfSK5TDL54LTs3CAApL9pq0bqARSmHXFgMtUaUoh1FTUaHfDQjDb8E2Jf3RqMP3KtIDRTK8n+0nKFxJeYR758NqpXfUHG5nDdUpX7ip+fbl6IHK2NpVqA1ejz0ro6BUl5BbAbwGOZ/evNK9tD9wvBvqv552yr8sAMffF5PyGCRLe7IX1WJ6KDNUMxc0q8mOEbm0kP2Qa3JD6vzmBfcOvtGGN10tQGLkfXJcpmMq6fAMxLkZg3iuifVpN/mO5aMgjLNoCDkBFpE7pjPGDWb76xKO+JoKApLtXYuegK0jnYgF6mvlDYQjvlV/4oMVlDiwCk1IfyyabUX7g6veF6iSCqvIhEbVLHqCBIsWbfNcLf+Gc+jgxN3LlLTZnC7AZ4iEf6qlKuOWQwvtNIAcF3WUToT973qOELYVHOXnnUNtEIWkoYwGBNADZNBgY30QYuYP4M2ntU9TrnnOJIK4Sqw2j8dyOSH+q1bURX8jZ8XJHPtp3q+Ijrc05zDba37DMM94yYD/H55aFkl/hwsfwG4LlQn2+AT0TosSCKhPzXr6yTG6vAHClKssldRfWf5jYYb2TTdomc7INrDTz3itkQO X-Forefront-PRVS: 027367F73D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39840400002)(39410400002)(39450400003)(39400400002)(8676002)(81166006)(2950100002)(305945005)(6512007)(7736002)(42882006)(6916009)(50226002)(47776003)(6506006)(2906002)(53936002)(23676002)(66066001)(6666003)(189998001)(6116002)(110136004)(33646002)(36756003)(38730400002)(107886003)(2361001)(4326008)(3846002)(2351001)(5660300001)(2870700001)(6486002)(50466002)(50986999)(76176999)(42186005)(25786009); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0701MB812; H:angela-H81M-S1.semihalf.local; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjA3MDFNQjgxMjsyMzowN2cvMFNOR2pZZ05xc2Jod0FubjdaNGhx?= =?utf-8?B?dU81SjczelhBb3dWVHIvbTVoWEF1MnBKTGY4eWFWdk81YXE5MlBSVkNkM0NF?= =?utf-8?B?NDgvMUZzRUxndkxHWXVlSlg5dXkvT0JHbms3dlBDRTlweC9kM0dUMUxsMVJK?= =?utf-8?B?UVNXNnlqaWpyUTBSakpJRFp3Y1ltSS94V1MyOUkybVZKZWc2a2dId0k0WUZT?= =?utf-8?B?TGdYOW15dFdWMi9YdnA2bkhPdmZPNFllMHhQTGZVcm43emRZN2toWFJFZWsy?= =?utf-8?B?aUJXNEVNdkN1TnpFdmV2cE8rb3dXdmROaEpneWpKdTBybnJ4cTlzdlJnaDdP?= =?utf-8?B?R0lFL3ZWTEw5N0NQNkozSzJWMDV3SERwZ0hIa3NRalRLa1FVeE1uQ05lM1NE?= =?utf-8?B?Y3pKdFB4Y3FTVGhWYVpublE2QjZUZW0zekRkdjdFcWRBTllSbmJpR3Z4eWgw?= =?utf-8?B?bjN4K0VuQUtnVmRBUFUwYzBrZU5PWStqZ2NST01YUElSNStmaGNnRXppSlBv?= =?utf-8?B?RzFDQ0JDSm11K0dvUTlPZm84WER0L3ViZ0hrNFdKdzIxOTk0TGRhSk15MlQ1?= =?utf-8?B?TzRtV01pdm9xbU1YZFpxZTRBeWdmNzBCTUlOc2RaMXF3MmREMXJhbDdGSEdn?= =?utf-8?B?UlQxN1kxNXNYT1JNelBkdkR5eWFQM3h0Z0VVbjJwZWFLOWVmSVk0dEN6czA1?= =?utf-8?B?M3FTMzEwYWhmbEJYRmFzSnErMzg2QlJRN2JudE44ZTQ5c1NrdGJiaHZOc3ZW?= =?utf-8?B?S3FyQ3Jkems2YkNmWW5KQXVGNmNKWU9LbXdSMmczUWszcXRGa1hkOVQ1RExs?= =?utf-8?B?bktCd2hrY040eERWNEIyaG1KdHdHeWY0Y0lYdEVlRnZ1WXdMT01td3dqbW8z?= =?utf-8?B?c0NHWHMxY2h5WGh0b0p0TUNOYTJVVGFOT2Q5cTI1UFVESDFsY1d4V25SV0RH?= =?utf-8?B?ZDg5MFZnd3VJazhJUVZ0TzBiSlFoKytLWCtHWFBPbGNxbG5hd21aamN6TVk3?= =?utf-8?B?SS9meW4zZm1VK3VLS1NFelo0anNaOVl4UzVsR0gyNlgyUkRMZHZZakZrdFQx?= =?utf-8?B?ZTl2di9YTFA0dEprWVhvZkRPVFcwWnRpd2pucE1kdFQvZXRTYXRFTWQzc21L?= =?utf-8?B?RnNVWkgrVWVUWFk2ZWtXTFlXZXVYYUVoVEc2U3NXSndzVnBpc092azA2dUg4?= =?utf-8?B?YmFwMStwdDM5R1B3WmVSdk8wQ21WMmp5Qk0yUXNKU2lzZktvNmlCbkhpTnNu?= =?utf-8?B?Z1JNRk03M2w4UzIxSC9uK1gyMjFSN2dadnNhQ1dRaWhNVUtpN3R6dXRYQytS?= =?utf-8?B?V3plMk1qRDhmNnZvalVoamp4RW5LRkNuZExQME9hV2JXUC9pRkdGOTgyb0Iv?= =?utf-8?B?N3ZyR2txcldtTFZSSUVLNlJnYUk0c1c0SFErUjJiaWRRcGRBQnZaZFdmbGFF?= =?utf-8?Q?vO0XFeY=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB812; 6:gfCQO2Rbel3vXYRK0Jqj7hj2NolvgU3kS0YHcRQPtet+6HXoNAkYKH77tegbYgOrMMm/88FYBEEfGApNvXaGNrh402Z6+VC5PuXUpL8N2JbV+ff0WfUaJ4uxYk6iqX9hLqrKhNjWsfMu8yDwjNI6QO9H/q6fVQZOrfbRRFFAP2DElNyY6XeLCHAfu0iPAVcmoaC4IneTB1RxmSaZn4RahLAyBBgbPE+xtaSAudYLtdkd9kFH1Gjy0PFCgYCyB3AUaWzauG6v37jttRr0z8JdX3Sc7Fcdd37u5Y2QFcDbNZ4pFUS7LVtZCKs6MuNMh++yL73PuVUG43kK2oWLP3NuXi4HK0fcO6tGgDeBxpP8yDpZr5WU9Hhm1Nb+p/mSgccCj6gnBORGRub7c7U2EAxMZcwlfP9zmkTkI2ShHjANnU65tayebtnXfKQxrXXAvepaToBVWVvYi0qZ2JuO4qq6+Q==; 5:x0ymjIJ5pSOcAjF/YtsEpmXahRoelxE4dZYaCz/dGc2CYRVB3vMXSZ11BmOaQLS9L13cET1bXlTLV2FOpl8arhWv2YWYdhcVBJwlSpL0Kq1sQ+hBnAK2a0gWlQ/3p1/7S6RivAFsLgx1oY3zcBiGQQ==; 24:/4/m9+hM6DB6qTyCNJq0jo5bP2XaaZoMWNyxT+wPuDF7o53xEYJpvXpZvTOEJG9azuZVR7/zgoGBosvdNH+K2SOS9HUMI2j72UP5lUCpN3U= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB812; 7:r9yb06SStoO+Tdl/pFn6P6FsNYFUUPxsEO6zpBQqc2zMUfIfZXfOBhOuz8AAazIBVRI1QM1KgXeL7wjPFVpPoR9Y/lSwWbRzRpNYEHbPZhIgs7MnwApWRZLz5SpAuBA05spnop866JDz7o2o/WiN3X6K3h29cEJ9wxLxAOCtM1dCiEORmNrNyEXPTyQAKGFEcVOMnO/Ca7UvmFEHVZL1WqAqbbidYHGuAkfCbttMsr2Oy8SaJOJb3luSLV4idIOOqOL0JwdqSXzA3w/tzuhKiMBzOIhJl7BZlrJteHpaUNFfr1LhLcj9wL5ZZZCFvHxWdW0eqHbRoyBUrhkQy5PYjw== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2017 17:10:04.0034 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0701MB812 Subject: [dts] [PATCH v2 27/28] framework: Adding linkspeed parameter for Cavium NICs X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Apr 2017 17:10:07 -0000 If a user wants to use Cavium NICs with only one certain linkspeed, this parameter mya be now specified in execution.cfg file (Cavium NICs can be 10Gb/s or 40Gb/s) by typing "linkspeed=Mb/s", for instance "linkspeed=10000Mb/s". This parameter is optional, if skipped, DTS does try to use every Cavium NIC whose linkspeed could be read. Signed-off-by: Angela Czubak --- doc/dts_gsg/config.rst | 4 ++++ framework/crb.py | 7 ++++--- framework/dts.py | 5 +++++ framework/settings.py | 1 + framework/test_case.py | 7 +++++-- 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/doc/dts_gsg/config.rst b/doc/dts_gsg/config.rst index abd8da7..4700421 100644 --- a/doc/dts_gsg/config.rst +++ b/doc/dts_gsg/config.rst @@ -181,6 +181,10 @@ First of all, you must create a file named execution.cfg as below. – perf=true run only performance test +Cavium NICs may use optional parameter named linkspeed, the format is as follows: "linkspeed=Mb/s" +(for instance, "linkspeed=40000Mb/s" for 40Gb/s). +It may be skipped if the user does not want to bind only to NICs with that specific speed. + Then please add the detail information about your CRB in **conf/crbs.conf** as follows: .. code-block:: console diff --git a/framework/crb.py b/framework/crb.py index 63c8093..afc30ed 100644 --- a/framework/crb.py +++ b/framework/crb.py @@ -32,7 +32,7 @@ import time import re import os -from settings import TIMEOUT, IXIA +from settings import TIMEOUT, IXIA, HOST_NIC_LINKSPEED, load_global_setting from ssh_connection import SSHConnection from logger import getLogger @@ -270,9 +270,10 @@ class Crb(object): for i in range(len(match)): #check if device is cavium and check its linkspeed, append only if it is 10G if "177d:" in match[i][1]: - linkspeed = "10000" + linkspeed = load_global_setting(HOST_NIC_LINKSPEED) nic_linkspeed = self.send_command("cat /sys/bus/pci/devices/%s/net/*/speed" % match[i][0]) - if nic_linkspeed == linkspeed: + # if a user wants to bind NICs with a certain linkspeed (and checking linkspeed does not end in an error) + if (linkspeed == "0" and "cat" not in nic_linkspeed) or nic_linkspeed == linkspeed: self.pci_devices_info.append((match[i][0], match[i][1])) else: self.pci_devices_info.append((match[i][0], match[i][1])) diff --git a/framework/dts.py b/framework/dts.py index 369599d..d2e5c24 100644 --- a/framework/dts.py +++ b/framework/dts.py @@ -80,8 +80,13 @@ def dts_parse_param(config, section): # Set parameters parameters = config.get(section, 'parameters').split(':') drivername = config.get(section, 'drivername').split('=')[-1] + if config.has_option(section, 'linkspeed'): + linkspeed = config.get(section, 'linkspeed').split('=')[-1] + linkspeed = re.sub('[^0-9]+',"",linkspeed) # change '+' to '*'? so that empty is good as well + else: linkspeed = '0' # default settings.save_global_setting(settings.HOST_DRIVER_SETTING, drivername) + settings.save_global_setting(settings.HOST_NIC_LINKSPEED, linkspeed) paramDict = dict() for param in parameters: diff --git a/framework/settings.py b/framework/settings.py index 342314d..aae03a5 100644 --- a/framework/settings.py +++ b/framework/settings.py @@ -205,6 +205,7 @@ PERF_SETTING = "DTS_PERF_ONLY" FUNC_SETTING = "DTS_FUNC_ONLY" HOST_DRIVER_SETTING = "DTS_HOST_DRIVER" HOST_NIC_SETTING = "DTS_HOST_NIC" +HOST_NIC_LINKSPEED = "DTS_HOST_NIC_LINKSPEED" DEBUG_SETTING = "DTS_DEBUG_ENABLE" DEBUG_CASE_SETTING = "DTS_DEBUGCASE_ENABLE" DPDK_RXMODE_SETTING = "DTS_DPDK_RXMODE" diff --git a/framework/test_case.py b/framework/test_case.py index d97d898..2ab1d68 100644 --- a/framework/test_case.py +++ b/framework/test_case.py @@ -38,7 +38,7 @@ import traceback import signal from exception import VerifyFailure, TimeoutException -from settings import DRIVERS, NICS, get_nic_name, load_global_setting +from settings import DRIVERS, NICS, get_nic_name, load_global_setting, HOST_NIC_LINKSPEED from settings import PERF_SETTING, FUNC_SETTING, DEBUG_SETTING, DEBUG_CASE_SETTING, HOST_DRIVER_SETTING from rst import RstReport from test_result import ResultTable, Result @@ -366,6 +366,9 @@ class TestCase(object): elif nic == 'redrockcanyou': bitrate *= 40 elif driver == 'thunder-nicvf': - bitrate *= 10 + if load_global_setting(HOST_NIC_LINKSPEED) == "40000": + bitrate *= 40 + else: + bitrate *= 10 # assuming it is 10 Gb return bitrate * num_ports / 8 / (frame_size + 20) -- 2.7.4