From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0067.outbound.protection.outlook.com [104.47.38.67]) by dpdk.org (Postfix) with ESMTP id 75B447EC7 for ; Wed, 19 Apr 2017 14:23:13 +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=NZd30U4Jmp+cWUPLCCuze3D49KCG2Evt/hRVGp3ebiPRvxm2i/BQ9cb99IxBLFXKgGcaCGwygcqyZDyJslhQdcF9su/Y+J/Tq8GyC4OxbHoXUCPWXsRyQGwdcKEZWx3uQnBLmK+FVjJJLmcnA6UHI7EvZlEkAYZFCFQ8cG9YpXs= 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 CO2PR0701MB805.namprd07.prod.outlook.com (10.141.246.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10; Wed, 19 Apr 2017 12:23:12 +0000 From: Angela Czubak To: dts@dpdk.org Cc: Angela Czubak Date: Wed, 19 Apr 2017 14:22:19 +0200 Message-Id: <1492604540-12114-27-git-send-email-aczubak@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1492604540-12114-1-git-send-email-aczubak@caviumnetworks.com> References: <1491501092-14278-1-git-send-email-aczubak@caviumnetworks.com> <1492604540-12114-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: AM5PR0701CA0064.eurprd07.prod.outlook.com (10.169.145.154) To CO2PR0701MB805.namprd07.prod.outlook.com (10.141.246.23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7b748676-405f-4589-bea7-08d4871ed924 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:CO2PR0701MB805; X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 3:froZhA04/ipLKlw0gd8PCffrNqK93Dqj8HiFHvDotAR6dfyRqMMv+S8ultcIMifU5raH4Iwc+efSSq0Qj2kEWxULezbGOYkyX8qfR8PKVC/mBLFXkgMThBUnAhqXYczypm+x547Gb4Li3m1R/SVbViSJgrteu5s+hn5dFMbF78/Ev5cDTy3Au/8GEG+6G5Isk7ZhVEg0NcG1jBIXmXIZhccIaOw19vYZH5X0OEfkJWsjSEVEgFFfRIqKw9o802aaz8oebcA5Rzsf9YZVNdMXoiuhXW0Xn1rd6dnpYlyymUCXH4eLiER1HGoUO6myyOLFmbo+gKGoG+q/HbAkuYgsDQ==; 25:yHE2KZUBzyIS+YEeRXEksYTpuDe0BeUQC6NOeYRV5H7ktMJIoTf2aCSXtj2H464O4sT/r6/XdaBB97IXMu5MEdgnC7K4HYCSAyBOEOi5MWYVu8dWJJkgPVwkysefbVqde7tSO3SEFRgQt6U57SZqwNSMFY7Kb+C7cQ9SA78qKlh/ZJ2bVkn7oLM4aXnAJHOmv8xfIKJX3SgBY7076Z8flAkVbFqvxImfH4gg5Di/VUmDvA6/4Ag+S5xNIXhoHOylJ+RaF6nGJNcJbNOTneuh4T8OYbERi/AZ5mLtEMJgf+bDLpe/QhMo2Lf+T6/hhoYXu468lA9EAdQVOEjngt8fRHDpzvudKdCNumOji2GObhXoO9lxCTk6sSchXsExwhqo3ZRuwo7BmhV5UrTmO08fBtHRbQLalcsG6tcySihwRqrc6Ny5wQHEap1EJ8TkDPuAgqq20+0a+XSHPLBiz47k3Q== X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 31:mubM5hFOTXbq/EvTw+akOczmA7vPhaWyGVaQY6w0EB/jzaUirgMc96pD/qvOPh/i/+7JmdRSlA4I4QGyNL+qw6kHa+Of1/sXZpOffwUBhuk1m6KsE6ubV/6mQfOg7TjRcVLPlQoPw4ZrSGq/IBOWlr/+8A5UvQWAUa/VRgWwYFVHEO2E8jDYCCCyHkRDC5UFlLs7ShiSD5Gisg37Glcz8vfnv1xVrKovSgeqFMNbtAc=; 20:TQSGpZHKr56t8wN0e5B3JXNuy0I4lIEiaPaqDaItWcgzK4Rx7yrqQkNXqD/nnOyYIdQWT0P6JGvs9HdA65s5uHhEzyAgBO2rvTWuU3Ttob+SPq1Qpz8e2KQl3foEuRbgwOfmBDJBrICgXlyG+RcWeMfco/6RtvjQH7X/LgT8QoTWehbc2PI4skDNWp/G1S4YZEB6K69uWsydaBvzj5D6LyKYeNMOqPO4nKX0SlCPDP5dRc8jPFsVv8WdcePeBQ93rheZYcmUXaZIZ83N6CO9Ipr4dPtidMMe9ZpAmyfFHoYObJOyPEfuxUCLOjeDW48jVCJ7lTvEvKS2quWdM/T7v1qJ6LFPRWpDCnCwyg3PIEJmiEnnh+JjE4vex1ekrNdvIfQY94wjkPIDPkNwxHYquElZHS3q46m1DIUMCcR930Em+CdLdVjr3dBfBVgEAG8v/mFL1TSrEpQwSf8HyxavLEhfBfUJbOrB/X/zteY8tWpa2mYMqvl+LMVYEJM0R6J06PuzT0i9/G7TNVhkJNa0Dzx+CNnqceV+FzEcnhuxDkUhLQ8ISMOJCPoiMYqynlQfgDpHGvmjOh2G+awAQl142mrAG+XToMvH/ATk0hiwFEs= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(6041248)(20161123560025)(20161123564025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(6072148); SRVR:CO2PR0701MB805; BCL:0; PCL:0; RULEID:; SRVR:CO2PR0701MB805; X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 4:CcsXAQgUqW16FLj7yzPrdXzigAKBrozL/j05cKBvNAGFzJSNOsjQ7Zfsr78mCb3mz2nm4cewvxd2LWSdGwFBe3UyJCUEm8WOfY9m8P+8YAKSO8+X+tSI83UZB9/Qtpr6+TzmYaPMrEaoH1nzERawSv0niixJ8mhU5b9I9yfbSc6nkAMy3f69rQ51wYx595zobcmcLYR9mMwFVWJc8xSphTJ98witGXtDM8GaSWMVhIanGIdRAYWzIGxPf0MQuHuZfnNelpfQ3RpblDUkXt6e3AHJvh6c07te7CJJL9uA6DyVX3odwzH0z7d5PCLOlLxD6/Terp3J7QXQ8tZGrkw6kbey+QAkqttdK/XW2MXsmdNclT7q8mqWgVQu9xqY4mUx5i4/yfjP6/+qiHjra0NUpxgTvBo9QL1i82heXoDiYEYZyRRIr6kDrk9PGer0EVf7TyZGRnnchDqWSBPptB/B9sSxxHvgDkAwsZDuobjJiV27PM2UhuZwQFc2Kz24Ivjvn5N1A9Pt0V/FycyNr4pnWKgs3HrCggTEWdKan3XJ8Le4Wg0RC905ueDW0hS2KCEh9P1IVJQqWHCHwt5wWeb3SPBtUDs9OPf5rzz4Ht/bEdAP8TWQK6NTvhWL3Ce3HNJbv+Vx1ZW1LhevI32j2dvai8Y+gN1RYYlGn6xRD1lDZcW+xS70f5jWdwKa510qQkYl X-Forefront-PRVS: 028256169F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39850400002)(39400400002)(39840400002)(39450400003)(6486002)(5660300001)(38730400002)(6506006)(7736002)(6512007)(66066001)(305945005)(47776003)(53936002)(42882006)(110136004)(2870700001)(6916009)(2906002)(8676002)(4326008)(2950100002)(50226002)(81166006)(25786009)(107886003)(36756003)(42186005)(33646002)(3846002)(6116002)(2351001)(2361001)(189998001)(76176999)(50986999)(23676002)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR0701MB805; H:angela-H81M-S1.semihalf.local; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDTzJQUjA3MDFNQjgwNTsyMzp0TU5WZ1JPQktEVVg3cDNIc0ZCc0dDbDBF?= =?utf-8?B?eXl4QnFTRGJJclVZRWVjWCtRRCtLczhIenVRaUZTTmNVb09OL2xkVWpDNU9t?= =?utf-8?B?RU1rRXl0MlU3UXhTYmlTaGQ2TW1zRms0OXNhSmpjOTZ2WklTZzE5UklNVkQ3?= =?utf-8?B?SEdISHUvNkRiand5UXFsZkhZYStKYjcxQjJ6eS9QREhOVkJ1VUxPNzM5Tkd0?= =?utf-8?B?dTBub1RkZ0duS0YxRjBhQml5U3RSZm5vRjNudm9NNGtHWXRRWjNGdW9ZSWMx?= =?utf-8?B?QW9POTFMU2phZGxISGlaS3pCWWhoTXhCbmpKb05Jd1BWZzhmWEc2U0VTRm12?= =?utf-8?B?dFhCR01IZzZndmNyNjBQallidE5pMlN2NEF3dnAvbXlFVStab1doK2RXT1lm?= =?utf-8?B?cXUwRVN5NlAxdFVNQUwrczFjeEFWUFdCeWNXblpld2gxVVhFTkNucGNDQTYr?= =?utf-8?B?YXFZbmpJaXZUbDYzVjl1WjVMS0I0aVBPMWZQN2lORXZ0VlhsM2N5Nm1HYnFs?= =?utf-8?B?UHZTKzZzV0tuTGx5eHpjTFQrc1Babk9GUEVFVU5xQzY2ek9uTURvU3d3MENs?= =?utf-8?B?dERBcE94T3V6elRIQks2SThsdHRWb0FFVTVETVMwSE51RlJHRmVpUEg0WVFp?= =?utf-8?B?bDBrc1owb05vcHhZOEtremJpZEtoclBwMnpONUNrRDBIME82MFBVVDIwRGxK?= =?utf-8?B?aklDSVNGRTBWbkVxSXMySTQxcjM2WkYwdGEvWldoLzFMMGxMTWYxM0lSeUo5?= =?utf-8?B?b3FUMVRMZTdySFVpeGp1YWxDRm4vY3VRN0ZGck04dFZlaG5xaTBpbjIrcExr?= =?utf-8?B?MDJxamc5TXpVS2FSUzFHZHZFMlJnT29SS0tuaTYyTTg5Wkw2VlVOeTlNRGNl?= =?utf-8?B?WHl2dndLTEpkOXp0MERrbWdUcFNjcjh5MDJEMmZ1WHNFZVZtczQ3U0F5M3Vx?= =?utf-8?B?eC83b3Z3ZU5vUWttWlIxUVFYeXltRGhnZnZPVE1ncXBqd2VvQ1JLc1RQS1NO?= =?utf-8?B?V2NJYjkzcHM2RDNMcE9kOG9SNFoybFhrcVRsL0N3djRXM3F2Zzc4ckJxZS9I?= =?utf-8?B?R2hxZmlzTm95SDBhREt5VytmQTRxTURZTEptcjBlR2dUdnJsZVFEa2dYREtn?= =?utf-8?B?VWV5RmZxalZWL203bmQvKzRjK2hRSVdwUGJvdnR6K2EvRko0MXB2N2lsNEhS?= =?utf-8?B?UkE5dDRwT1ZmQnBCSGVJbmwrbThxcmRxMkVESUdnMWxFZWljZ3hURUtFRWdz?= =?utf-8?B?eUw4M2k0Tlh1SWtWbWd1V1cxZndJU0c3ZXFKR3Q3THI3Z1VwS25OTnBINjZl?= =?utf-8?B?Lzk4bCtxS2JTL2Y0NThrVGRXdDBaWnd2V1NrTHFnelg0ejQ5eWh6a0JGMVZV?= =?utf-8?B?Ym1VN1dPQnNPKzY5SXVpdVArU1FHSDFnR1BOUGlyZz09?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 6:s9uSdtmJ8/sZKi0o7SyMHZil65GuyBV02LZz6YQGvooxIlRk4co1WmYq2jqb/G4zMgH7eMsFlvpI1Du0IE3RXvdNgex/NL1mtGL37/FXeEY3+biA69T0NDtOeUt/DAzKS+EtDdlYJhfi6kTAKGpEwHRJnphJT3Dg18tBINryJGwM+092jnq8PVlNfBF4uhRT6EGCamb1MYM74hbMyTK1fFC9Lr8PHfT7ZkbZidMcV5KgvvCQuZr/+hbdtzvs9LbzYuW2vqjaGWlD9KxFcVXfokKyjNcYtOSsNyUh7paJIcaoB39Z7x9YnPyA2OQ0fEhs2L6D9tOvxVj4lNczbkaO3SnI8kSWlV4wvbaqp2ByU2QkfLBBnuVxtGpdhKSib2bhg+c5LuKjMjmA668kwo+nP7NcqQ8XMljV8B1irwn+cX8xpsBk8202F/rZBr3ynQTroCiVXeNcNJNUfi18ksFhOA==; 5:oZb7kwORBG1rUBP+Mkt35NlvIiGhmHHXc2ceUNhshQKflI+GLxS4NfphQz2fHOVq7haZW6HsE0eoemvNYqSNrWtOqGa4fklHjL74hRRsVG7KlKjtsMuklw8Xfkk82vJgsQoQVY47wDKWOlTgWcjrIw==; 24:2fpE5kfYG/mR1xiO93gb039ZfGOMU9m4Fevylm6nZwTmR9B046YnLOrVD6WtVp222BbLyRE7Rl41Aus5hBexkJiPAjoM+gAZhgyKAFKq4/E= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CO2PR0701MB805; 7:syNkFbv2BsEHFd+nG/ODdu/sL4kFhsFt5AQ5RVBY+l3zsczcJobBVqEfb0ZWaLxXitCNK4x9O/rLts0KC63BVfzUA2xoloDvJQPV8G+YoLInwGHFU1fOi/SQClK20eR6BzPe0mPFSpwpRq91btfPvFiV2PPpd0nsM+R58LR9OCMjcL2rBixAjox7+Bflwf9vbnbiJvyN8AbTKIwRsVpzgGUreLCGqTZ+FqIfGhlBdX6gYZ6N0QYJ+AAC+DPRjN19ZWig9s+5u5k87B75OgKFvh0bZzLyEGHLOGMRlm8J/zP9vRqxlTA0v5uYYuDwTvhWQOyr9s5SM1eShlWxulO+8w== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2017 12:23:12.0679 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR0701MB805 Subject: [dts] [PATCH v3 26/27] 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: Wed, 19 Apr 2017 12:23:13 -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