From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0074.outbound.protection.outlook.com [104.47.42.74]) by dpdk.org (Postfix) with ESMTP id 210A8568A for ; Fri, 30 Sep 2016 14:06:42 +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=EBXBkNymzqbBQhuEBg8f79H9c/RIyk+JmHXqpznAQtE=; b=Adwed2qKSC+wayEVeuN3YEkAT0MvqPesW1OZftJW1APZY8I+OkKHusPNYxkLWRJnZm9U5XYW4kTkarTi0cmL7S7CuLnYMDXj29cDttS4O79SHBABTVLccW2cslbBXXXGLPsebwHl9EJEowUxdLMWx/Pik1vBD+ahw9WBxZ4tt+E= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Kamil.Rytarowski@cavium.com; Received: from cavium1.semihalf.local (31.172.191.173) by CY4PR07MB3063.namprd07.prod.outlook.com (10.172.116.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15; Fri, 30 Sep 2016 12:06:37 +0000 From: Kamil Rytarowski To: CC: , , , , , , , Kamil Rytarowski Date: Fri, 30 Sep 2016 14:05:39 +0200 Message-ID: <1475237154-25388-1-git-send-email-krytarowski@caviumnetworks.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1472230448-17490-1-git-send-email-krytarowski@caviumnetworks.com> References: <1472230448-17490-1-git-send-email-krytarowski@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [31.172.191.173] X-ClientProxiedBy: VI1PR07CA0001.eurprd07.prod.outlook.com (10.163.160.139) To CY4PR07MB3063.namprd07.prod.outlook.com (10.172.116.144) X-MS-Office365-Filtering-Correlation-Id: 794a0046-46ea-4f48-5aca-08d3e92a3bb2 X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3063; 2:WQfnV4Ejk4O0rYmLLSSH6B8012UNzcFmeJOQs4BSZG0FL1XxqXqNb4/MeVCy2Pg+66UEzjipFC23yW1oRR8LxgSdCepNtWD7xVkJ9jsontoGwj7D5/w0+1y7AwOnq/P3dyfNT5Wl69YY4yIFPrkvx4LbmLtLa6ym1dHhOYGtwPrAmhC+cv/M5LS2rzcYVSHy; 3:gQmyMxQ/V6CkT0KI2o2RHwDSbp33ZBYy87yqaQW/2CvV9htMewmYBOm2jHN3CYLuYwx1dllVTdI8HTarzorrT81JzOwzUO3IUgnFYTuFVYGDVvHrfI40j3goTXiZiwsW X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY4PR07MB3063; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3063; 25:8yz/2fQbiTcvr+zVVoDemuI9yD3uaG4t2l8NA7XzrQLm0lCv93LHJQv3aD1O+kPxIvBLGra0pUPDFD/xc4urdutpROa+yxsjVpLUZJcYn+3ez/Ok+pqnJYl6L9jPI+2ligPccSMZDwAPsCb1TcGKk1Xi+g9ZzNUe+DCneMCgjidPu25WJi1Ed/vcq6OpHhZzFUNyVD0ii/5zHmzqxS5tax8WwS9LyoLzMaH9uI1YB3Do8TGJXFgHPDXR74lFm2TLN9F/ka3jFkHo/7aR7XuGbaeGN1O3wmqFGODSUrJ68X+cgY7P8itZ8omCWFxPMT7TwyMkNMC1Ar9pgA9kmkbAQ+kSfLjC+piIWPku6gfdxjg17ut5r7hCE8TpIWG/SDFajafSs7vg0ybo7uwzIg9lrQ0W2ZlafYqmw3gLDBBmNHpnmmklBgjRTfilQEFY+svsKoWUXx/ZajQbP5UUOPzZQMPmtDfNuW22I1/KriS8HwvA4doHpte9aNqr/rvh2MQgZRoVr/mYk+GjN0oMp8uVLDGE4Xz8Q2YtvimlMG0I1/r82JjA5pxuzFs5SJr/40nV58zSsxAUFn8DvQJVldENSo2yVKk7qbZYo4FutCKAxM3etn3fE4u9HukLFPOtrBpAg+EmjsqcmopujybeUoujChv6MPVcrkPiXkiukEY497rCUh2T/Ka+Blxq1MWWs0068lVzVnkquXPPFwfQWd16hi25rdbq/uMT85NSJFVzaSgtVpJbrTLFBJN28JJ6YPs5U/thC4hpiD0Sd3dY4x6X40C1568tH2sTxHBYM8YLHz0UQpnURC7fx8UiCJ1uByQuxQiiceODwIanvEy5YpsRlxyhmYWg2WKtXNABguHH2yk= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3063; 31:HKpnb/eY9YPcARGipeRqOKMABoEEEs3PV2vxG0CJMeYJJMJQcDfVZ2HWb4kgKrd4T0cTNEAFFVTztA8PMdvQpe7i0afocPVAoD1bc+ceJ+kyRVTiqozLlrDlQfGt27+0DacX4eE0aRR1l//Vwj9zMkmrh76FYnmjaWLfI0gF8IIJtM5+yikZFH/pO1ITWFS/bnrLnu/fBdG63UXL2dhHnBUe0GeQY0llxZ0GHgrSfic=; 20:laB0WGt/o+aRnvcViN0lmcG4CkVUa7BKjJpW1eim4MrWs6Qc7N6c+oB2M4jgoRGxTiTP/OAd8hUM7KvXhMdBIztf2RXswQMiB5BQtRNKNoMLc3m4BXBPHdXfjCs6KrWQoihkQtE6H9ev8ze3l4fB76WUEPXuwptODO5AwEUsnnzm6yYF9xKn3g9dBhrpRKVKp/rfKSr/cznh8nEfF+kAZzy0VQIBTGYMw3ThuZ0GvYLuIPXb2FvNM5w1LZ3gX2orV9bARNORKZ8jyyI+QDNBoLmR9QAbvdZYwA/fAgJhU9QKE3SOAayQVhIA7uitI8kV30dNNQtTFFpepWH3UYi9Nj1gliXPL/wf1JxX8WmY/FIdIWkloz2s4ami18hwic26JQzoanAOA60/fT9CXtXlu/e/N28IhpeqWWRfkdP9c3T7PVAHXbx+HbEQ+qvCRSUVcCqhoXQviPVsEVgAh4ABN5pbd+T1RmMTBzb6ID3zyWMmApiuvWlGlUL2/xKg73PBLoRxx9JNiepobSbNUq3A57fJgqMm5mJ2ttGjy8i0RC8ZUNxVK6mjjZRZRX6+Sf5mb+Yu0Fz6cm5MJVKbi8BIl1JejfOUzsLS27wMiyqv8Bs= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:CY4PR07MB3063; BCL:0; PCL:0; RULEID:; SRVR:CY4PR07MB3063; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3063; 4:9DCLluqb6xAjlf+unuF7RWQ5UZ72whkDsGzwlNSkc/o5Wh4P6etgQ2oQQgV/Xcsq8nJ0nYATv9+XBPRNmBH/fenra332OS7RzdhqLrhqPBb+suMLDoDfgtAYMEsCXqpOqZPj55SHVFlaCFmKaJ9tVPH17tVQriFj9fQI58U2dPLE0/AKsGnU+HKUoqG1SGf5W9tTBvOp6FDP4Cd/yZYoiqmurzCOv09RGPjj5xboX02vYQ2NLPIl4/Ityuhcxl5MfM3cDPcoF+/RodOxkHmwQwK8bved2ZDIi7/fjuJKLJYkl4EygXxC8bZtSycFjCSVyi86rpEiSEO2+FHqcBsVJV62ek+f5YykdJfq630raPT9ohfL2J62al/nqIBXbs9lguD+CYzXvWvrQ8j9LsbdPA== X-Forefront-PRVS: 008184426E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(199003)(92566002)(3846002)(66066001)(189998001)(47776003)(42882006)(36756003)(105586002)(19580395003)(97736004)(6916009)(68736007)(42186005)(50986999)(50226002)(77096005)(76176999)(5003940100001)(15975445007)(6116002)(7736002)(2950100002)(101416001)(586003)(106356001)(7846002)(5660300001)(4001430100002)(305945005)(33646002)(229853001)(110136003)(8676002)(4326007)(81166006)(5890100001)(107886002)(81156014)(50466002)(2906002)(48376002)(2351001)(15395725005); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3063; H:cavium1.semihalf.local; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3063; 23:UdwS1Bv354BA4yLhNJ58fabLv0jKsLUKJ0ufHV/fx?= =?us-ascii?Q?l1dHYfLujcGcJMj/5vrhGZaLrsnT8+qLGSDXlKrCWbrYs6nfG68WuvAPaupe?= =?us-ascii?Q?bY2PKr/KtV4HeO7gHAP9HjUglZiNGEkYziRUY0gR8Yuoy+4TMxhGkYVIst0d?= =?us-ascii?Q?w+dSEsIMD9twVMBXxd/HvnM3ttjShp24og0NSpuusyGUHgVy3Yl3aZE7RiF3?= =?us-ascii?Q?c9bUank9zfHc+X7rb1euijAyVkqqF/RJ7qSTGyTnR9yvCrqYt8a+lFir7K5b?= =?us-ascii?Q?TflStAfvARbmYGSD9I8/GEN4TkLtifkuWnChHVyJDB4+KmYtrtcSKgVjulAm?= =?us-ascii?Q?qap0BspBzgQmK76O9Yk11h2hVRK8Z0YrGhpYaLAk84mciC/ELpjNf2iWy9jh?= =?us-ascii?Q?8YOz2ZB/1RQy0++oOrY7MY5QZz+IMuiERejCck3eGftdGVvHlx0B6mA1kE43?= =?us-ascii?Q?Zv0l6nPLMzaidfsUoG9Fo7yQ3o4Bkk+BrQsN+nmoS8zLgSClycgHkpL08z9/?= =?us-ascii?Q?qCs0F9ZZslOyU5flQE1T+yfTzIc9T39kl6OywqX7jLaRb4v8M62HaHNwGTdH?= =?us-ascii?Q?ERnVU9xEx8caRElsVFOKVlJI11/xUQaWnMcqnlNBBJzBablVQPLuLlWhil2F?= =?us-ascii?Q?eJRE01x0UqT9olcqIMxrE4eNPT5Xajk2HSTdA5NZ7goDmbniiWoe/OyNdHD8?= =?us-ascii?Q?5WxUFDh+3akhhcdkW6+sIYw1XHgBE8SMG/Ba2aaTkRruaVch+wXkkNxI1O7D?= =?us-ascii?Q?ArZOUV9K63Yu0jSW2FWyFF51B3bjsQ/1TlbW+/N6hf063Z9Tg4Z0HSeNtj2o?= =?us-ascii?Q?sl8hua1/tyqeaF3R22J4FWcU62WVltiOvL1gC6k9/azg0ia1zIj06+JLzXCV?= =?us-ascii?Q?0zXjkvis8ivdMJlAEW7hxGgGZbrzAJCsp1tFUpgIXRdzxPSL2VAvZanCxzcn?= =?us-ascii?Q?Rx9DzRglmC/c7y0Ovo0zkXjfVABpGHhMnm2In33YVHFKF8S5oRL987s7MR9Y?= =?us-ascii?Q?dKZ6CZkDo1jJo2AArCQuAphcnhAYNdUlb1INO3pgZexh5Q9VOpieB8BERr+Y?= =?us-ascii?Q?SF+v1bUtJB/BConsN4OK32k4UlufASpERQJkYOJMPbdKN0eIOmFdtr81raOd?= =?us-ascii?Q?W8IVwvLpzgzSZjnxWOplRzwRhGfjuQNwzZ1ac9pdUjeLOzbyUoskl+ccHrGC?= =?us-ascii?Q?qAHulph+BHdX1Tu+1jBy00Hh5xnGqSFvXBFDLORrJpGIIlCsmgg8/MPXg=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3063; 6:0CZRoEU1VOI5HuXT5ijII22A/oElldO4vmwboU5Z84rdnS3TRdtxUwKn9WlYB2QgVUR4Wz+KMt0/Xd52bDTw5ta7cJ+f7B4ppqWaHFZ0i56BLAr0UuDaOIi/yilcGT/QuEV5DBm8Dm33CCeCOhxD2kdE20AFW+UZksS0x5Mzy2g7bCHJb5O37C5l+3UekDXnZKcBo1RzLNzo+wvAkATKGREjO00f2XVjCXJ08dXvIsQFWkOclEgKsKNcCqXHILDJdY4pvT/4SG8wPNkLs1Fax/WFc8WgTOcVUQPIEPDhzPI=; 5:UEeAjELseeY9MvmosO+08fzA5tIOKU23lmGFaOpUSoOMMmnrUsdjyQ8GMTLTqxPihTHq+cd/VTxddLBNCUXvmXTvaMly7Tdv++0oVmo0ZQEmQ+4SjSx+2B2TDqAgtmKIVW2kZEUHCFC9+wC9GneBoQ==; 24:tM6kWXj5FHPp3INYaJheOFvAbTCEP5mkLJNwMURd2miIvpCNZPXS7wGFz7OYxMK1fqQUNqybQAElGlp/4YKp6yKsmrxw8fd9KXd9SaUBiAo=; 7:qBzPubhT74blTn89V6HP5llJfBBeMT4quGmbF7WNswl/Tzy3xkNB5LrTr+fDu4HMiTtAUQ7cayDYwvt0xhuraXXHBsbxsE9c87qw6U4qnBUyIwiftyCRuKPGqctnL4wWm1IGnziniwbtcJZEodU1O9w+JvgoLxuBRj0jkHns1we+u9aJL5RpzlL2xeX8strLa4PvNN5GEwa24dBYC0VmMG0vsHJnucJbyioSzTMecRZGZOV8fb6IDi1lChO+9RXs4rLQI5xaqktjoT/nTNra1/njYy11GZPVIknbBEmpm5bbN115BfwiLxxVMSPs/xaH SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2016 12:06:37.1880 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3063 Subject: [dpdk-dev] [PATCH v2 00/15] Add support for secondary queue set in nicvf thunderx driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Sep 2016 12:06:42 -0000 This series of patches adds support for secondary queue set in nicvf thunderx driver There are two types of VFs: - Primary VF - Secondary VF Each port consist of a primary VF and n secondary VF(s). Each VF provides 8 Tx/Rx queues to a port. In case port is configured to use more than 8 queues, then it requires one (or more) secondary VF. Each secondary VF adds additional 8 queues to the queue set. During PMD driver initialization, the primary VF's are enumerated by checking the specific flag (see READY message). They are at the beginning of VF list (the remain ones are secondary VF's). The primary VFs are used as master queue sets. Secondary VFs provide additional queue sets for primary ones. If a port is configured for more then 8 queues then it will request for additional queues from secondary VFs. Secondary VFs cannot be shared between primary VFs. Primary VFs are present on the tail of the 'Network devices using kernel driver' list, secondary VFs are on the remaining tail of the list. The VNIC driver in the multiqueue setup works differently than other drivers like `ixgbe`. We need to bind separately each specific queue set device with the ``tools/dpdk-devbind.py`` utility. Depending on the hardware used, the kernel driver sets a threshold ``vf_id``. VFs that try to attach with an id below or equal to this boundary are considered primary VFs. VFs that try to attach with an id above this boundary are considered secondary VFs. This patchset also contains other cleanups and improvements like fixing erroneous checksum calculation and preparing the thunderx driver for the multi queue set feature support. These changes base on the following pending patches: [dpdk-dev,1/3] net/thunderx: remove generic passx references from the driver http://dpdk.org/dev/patchwork/patch/14963/ [dpdk-dev,2/3] net/thunderx: introduce cqe_rx2 HW capability flag http://dpdk.org/dev/patchwork/patch/14964/ [dpdk-dev,3/3] net/thunderx: add 81xx SoC support http://dpdk.org/dev/patchwork/patch/14965/ Kamil Rytarowski (15): net/thunderx: cleanup the driver before adding new features net/thunderx: correct transmit checksum handling net/thunderx/base: add family of functions to store qsets net/thunderx/base: add secondary queue set support net/thunderx: add family of functions to store DPDK qsets net/thunderx: add secondary queue set in interrupt functions net/thunderx: remove problematic private_data->eth_dev link net/thunderx: add helper utils for secondary qset support net/thunderx: add secondary qset support in dev stop/close net/thunderx: add secondary qset support in device start net/thunderx: add secondary qset support in device configure net/thunderx: add final bits for secondary queue support net/thunderx: document secondary queue set support ethdev: Support VFs on the different PCI domains net/thunderx: Bump driver version to 2.0 doc/guides/nics/thunderx.rst | 148 +++++- drivers/net/thunderx/Makefile | 2 + drivers/net/thunderx/base/nicvf_bsvf.c | 72 +++ drivers/net/thunderx/base/nicvf_bsvf.h | 76 +++ drivers/net/thunderx/base/nicvf_hw.c | 10 +- drivers/net/thunderx/base/nicvf_hw.h | 6 +- drivers/net/thunderx/base/nicvf_hw_defs.h | 1 + drivers/net/thunderx/base/nicvf_mbox.c | 47 +- drivers/net/thunderx/base/nicvf_mbox.h | 21 +- drivers/net/thunderx/nicvf_ethdev.c | 780 +++++++++++++++++++++--------- drivers/net/thunderx/nicvf_ethdev.h | 41 +- drivers/net/thunderx/nicvf_rxtx.c | 14 +- drivers/net/thunderx/nicvf_struct.h | 6 +- drivers/net/thunderx/nicvf_svf.c | 78 +++ drivers/net/thunderx/nicvf_svf.h | 66 +++ lib/librte_ether/rte_ethdev.c | 2 +- 16 files changed, 1097 insertions(+), 273 deletions(-) create mode 100644 drivers/net/thunderx/base/nicvf_bsvf.c create mode 100644 drivers/net/thunderx/base/nicvf_bsvf.h create mode 100644 drivers/net/thunderx/nicvf_svf.c create mode 100644 drivers/net/thunderx/nicvf_svf.h -- 1.9.1