From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <shahafs@mellanox.com>
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0051.outbound.protection.outlook.com [104.47.0.51])
 by dpdk.org (Postfix) with ESMTP id B87E723A
 for <stable@dpdk.org>; Sun,  6 May 2018 08:06:41 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;
 s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=i0bFta0L9Q/Zsv2HOx4S8CXg5bhIQx805CMX4HYSVvM=;
 b=JZP+vZGCJbaENJoCVRtRYG/wCES5SdmpMWhxJZ5koFmyFCvVbuGvROs4rDLd1xpWoJOfLvkUe+VF3I6BbYu7q09Hvs2lpOC3tSegZcaA44jY2db6Vt7oB24r2I6emmCCKuoaD/Xa22CD8k+n68H42lFATJUFyfaL1yPLmtaC2/o=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=shahafs@mellanox.com; 
Received: from mellanox.com (141.226.120.58) by
 AM6PR05MB4422.eurprd05.prod.outlook.com (2603:10a6:209:43::15) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.735.16; Sun, 6
 May 2018 06:06:38 +0000
From: Shahaf Shuler <shahafs@mellanox.com>
To: bluca@debian.org
Cc: stable@dpdk.org, nelio.laranjeiro@6wind.com, yskoh@mellanox.com,
 adrien.mazarguil@6wind.com
Date: Sun,  6 May 2018 09:05:36 +0300
Message-Id: <2eabd2fa8cc00802835b46fda8a060924ea01fbf.1525586525.git.shahafs@mellanox.com>
X-Mailer: git-send-email 2.12.0
MIME-Version: 1.0
In-Reply-To: <cover.1525586525.git.shahafs@mellanox.com>
References: <cover.1525586525.git.shahafs@mellanox.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Originating-IP: [141.226.120.58]
X-ClientProxiedBy: LO2P265CA0008.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:62::20) To AM6PR05MB4422.eurprd05.prod.outlook.com
 (2603:10a6:209:43::15)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-HT: Tenant
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);
 SRVR:AM6PR05MB4422; 
X-Microsoft-Exchange-Diagnostics: 1; AM6PR05MB4422;
 3:Jd5tlGv1Rd3QVSx68FmDXXn58fBPLye/MwCPK5ZKK+LdJPOlWtvYVELGkB9LpMOzrdcKGCkpyBmhLruHNE3rljAMjmTF398cXvxBNUMSCDn+CirU0OMZbNCMiHonmiZ5VKyHZ1S9Gqm8BiSUlH1cYkeQOC8juStjEZ03HpTEs9WEQjAtuxvCAeI8Niyl0XEyqntENfy/iuGi0J9O7Mcc8xNtq7kB5Wb1lYPk+ghid61Vxc2MgPEXGlprW/lw4vMT;
 25:M+KVF+vsyGCuU2Xce0Ivk0fpIb0kRxkP6gBaFfEuERB97AW+6scwkVqDSYrTDVyDZQfIi+UhtjoiZybeG3B9IuvK70Kcn+1HVRvSqPpI6tosR6fAUE96uYbXlyFNrz5O7Gf04/2rUs5yydWvXnOhjv5QLaHg1td7xFdr8SRulABFhmtU839HiATzj3QV59msiaCkASB7OHzpmTloiloJHGziv0lNVIS6Ma7XmjyNc19KYoohgTM5mEdQsEWzUGZYZUFvny8GIdnNbBLrybNlUaqgShZv7jH3jTFdUziQKXhh8yDjSNITo62PoXwhz8dWYP83Ytz+TUSlIuIh5z/T+g==;
 31:wg+VxKYIwyoaQkGwV3oDRmKQO+NFNfHqt8WNxFXIPj7trcXl6g6YNLMBzHT2IJbTNmotsymmfm75iFlH+tDIz+9n3taSL7gtsvq1pb8iadvCObYcFW3jRyoVQM9a15+XVmnKzpyKcbLzANQxuH1Vj9TWhNK04RRfuGQaobh0ChSW7FYCsREinm09nC7vFQKZ2O8EleynFPzVNz98stbAhoR35mtD436jzNGXiPoh6b4=
X-MS-TrafficTypeDiagnostic: AM6PR05MB4422:
X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr
X-Microsoft-Exchange-Diagnostics: 1; AM6PR05MB4422;
 20:xynCfTC+Kk5HxVdxjFjLdlz3WJNNmW1JnASTNtJDfTNVu8mX87dr3vxOrgnaIL8Ob5xL3grdrp/mq0RZm5xZL8dcaOtdtvnRxf7ja7k8VIa1Eyh+rgJo5tQooUUZYe7m+lAIDHzU15fmMoKOFUwZXeLCj8cS2X3RY9tesvDrOuCP75w4Cb2xYLisObZrjPcfNCZvehCqdUJWZIQrWWzBn6mX84d2/i3PJVPv0H0FyTGzvcDgtpew6PmRhneTqBDgGjc2h+R77pJkOMYf4R0V1L/5ZQ4BHQzEKDbFY0F+IhGD8B+c8iwG1oo0+GW/RomLXWWDFXF9odV3KpGc7ICnNcErWy6Tgu6HvQgphuu9qk2mF0LjTfYny6vjaLNCyM6KSSM7fs8Yy7vgvBMwjaGEKCoz2TUC32+/7c0SmkLro+SEvPSi2vXI7myiI+ZTewDmgJbCEFn04j4tFrFF8x6IeWyiUFxixELY9JwYFq66FCZTVh6Sg9VtWtnRxB56GBxF;
 4:7KA1AbUP9g/oZPrQCyjeX8WJ3OF20IArwqtpEU20ukGwL1ZpR17dZbOVveci7hMPk2vk6ra/+6YIHbMrWUBNkw+NRyLgPPvvBUCZSFS4earhjg9rLU5x4RdoUyyeXac9PA+GRNnAwZct2iq3TQ/K7kO0gsBzZeHhXVlFeH6B3cyPiXdIoOwb5ryyT9V9rSIz8nK9G4ARVr9loYtB7oiAlTDsrgcKBalzzidQVgO5Zk8cwpqOBxtdJQ/HQO6VOVWuwQPYRUslzD86MKxpJJZfhA==
X-Microsoft-Antispam-PRVS: <AM6PR05MB4422059C29845E15894040ABC3840@AM6PR05MB4422.eurprd05.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(6041310)(20161123564045)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011);
 SRVR:AM6PR05MB4422; BCL:0; PCL:0; RULEID:; SRVR:AM6PR05MB4422; 
X-Forefront-PRVS: 06640999CA
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(366004)(376002)(39380400002)(396003)(346002)(39860400002)(189003)(199004)(105586002)(8676002)(8936002)(316002)(2351001)(53936002)(86362001)(575784001)(2361001)(6116002)(3846002)(106356001)(118296001)(66066001)(36756003)(47776003)(81156014)(55016002)(2906002)(2870700001)(50226002)(4326008)(68736007)(305945005)(7736002)(81166006)(50466002)(25786009)(486006)(5660300001)(476003)(2616005)(69596002)(16526019)(26005)(59450400001)(386003)(97736004)(956004)(186003)(478600001)(7696005)(52116002)(23676004)(6916009)(21086003)(446003)(11346002)(76176011);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR05MB4422; H:mellanox.com; FPR:; SPF:None;
 LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
Received-SPF: None (protection.outlook.com: mellanox.com does not designate
 permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTZQUjA1TUI0NDIyOzIzOkFhNHg3YVVWc0owTHlpVWlmRjlpc1RJZk42?=
 =?utf-8?B?ZVNnYUFGWXI1MGVmemRmb3QzbVhnQXRJTVpoSkVHellWT3k2dmpkTTF2NmRK?=
 =?utf-8?B?bThsTmVEYllMQUdKYklpdXhMRHA1NUpYeE5RRE1xbll2RVNvdUFtQU5qVlRv?=
 =?utf-8?B?ZUQwdnZTRlRyOUV0M3ZtL09xNlRyTXdTZzVoc0pZeFJMNk95VU4xclRscjdT?=
 =?utf-8?B?Q0ZGanpudHYxdnVxeFh3eE5mRjlFN0ZneGpGbkxDVUR2ZTE2bEg2NnZsTk5H?=
 =?utf-8?B?bVVxNUdaVjV2TGRLb04vOHlxZ0VZY29EUytvYUhSRG5nOWhqVFptY2pjam55?=
 =?utf-8?B?Nk1sRUpyb20xMWdoM1BqYlhTVkdEYVpFM0ZZbmU5Rm5seVgxZ1I3Y0k4ajYr?=
 =?utf-8?B?WmhtRUVFaGVicld1ZzlXUUNYV1Q5N0h2b3NTbUJjb05kaTd2WXJTVXBLWXQr?=
 =?utf-8?B?T0liL2tjeEs0RGhnQjcvc3hRa3BMeWRNWFlNdEQ2UkU4Y2hDWC8xOXplNzM2?=
 =?utf-8?B?VVkrUTYwOTNnM2h2VjB1WThIVlFGbmZ5VmJ0U2d6RE0xWjNOOStCQXdraXZ5?=
 =?utf-8?B?ZDJmUElob280OUtEVGpOTFVxMEhxMEd4eHdPblp4czRqb3p0ek1XRDVmMkRq?=
 =?utf-8?B?RThTMTk0c2J6YjNLekRSbFFYaVZyaTJRdnE3NlcwaGkzMUhhaTZyK1BadEor?=
 =?utf-8?B?S0RXeFllUTlBbHdiMTZ0RktBZTVjL0tVb3RQY1NQdWUzaGFjcGJqOXlVOS96?=
 =?utf-8?B?Ujh1RU9uS2FXYVRmNTBxa3NrZzJKWGJHUFVnKzJwL0FhVlUwbWUxdk9HU3Bk?=
 =?utf-8?B?QXM5NmN3NGVHWlo5bHk5dEZSYnpVckFUVy9lanJGeEpHWHhUWTVEN0RURWRk?=
 =?utf-8?B?RVh4c1dVQ1p2U0x6N0xFUXJ4eG56Rk1wcjNBYWdvVkVjNkVWZkRvbHVGb3ZD?=
 =?utf-8?B?VTFKOTBmN0pzU0ZTWE8zNnVNMnZLOUlWbndneDM4bGJBVHlJbzNIcUJBcnVa?=
 =?utf-8?B?NldZTzZmQWVIU3VvSjJaZUdJWVpyL2RlNXVCdE8zbmNIVGw1cDUrOUxRY2RH?=
 =?utf-8?B?b3F0NGN5TmVoTGVOSXBySTZiRXRodEF1OUx5WFo2eTE5OGkwd0s4S3JLby9Z?=
 =?utf-8?B?RGhJV044OEJaTFNLMmhOcmEyb3hlYTRFM1p3ZlE5TmdOMVlzV1gzRDBDbS83?=
 =?utf-8?B?T1JFVzByRFVoNDFGcU5TZEpZNzE0emFxd1R1ZE5oTHVCdEVneENmUUk5MU9k?=
 =?utf-8?B?VWZld0UvaVVqM0gxQUtHbnBvN1B0YjJBNW9iZWVWcTBPVWVnSFFhVzhsTEFP?=
 =?utf-8?B?eEFVc005RmF1dHp0WEZNV1RwYTQ0TUJmQVhRNmRDRkdpM1pDRnd1YWlGb0sr?=
 =?utf-8?B?bEIrNXE5WHZaTVVpeEtpdzBXWm95cHdyd1NvNDMxZExBNXdYamFHbTJ3N1Jw?=
 =?utf-8?B?VDNKcW1GQ2hjMFVkYVBQNGlrdk0xMkhZSEhCdzE0Y3VJWWFGWTVuRVNaTFRX?=
 =?utf-8?B?RmJEU3htQy9icTVhU21mSFFraXN4WGQvbmhJQTVmazEzMXhHcGFDR1JsYkwz?=
 =?utf-8?B?Q1hiTHRDdDZNQTU1VmZ1UTFwaWd1MjlRVmh4anNWNUZIcnNhWXpOQ3NOYmxk?=
 =?utf-8?B?Ry9WVUl4K1Q3UUxIbzVNc2lsa0tzaDQvLzZpZVg3eFF1dmNTVENXWUtJVC9p?=
 =?utf-8?Q?LhSibLn5oyfn4vWIV/NVeJNAOkR3vXfc7yuMoSP?=
X-Microsoft-Antispam-Message-Info: v0uZQt+1+i0W1HPMdtgkskBX0Xszqto8P58YyXYjuHTSs8ZwyQ5b3Enq00hhP29L8euiDaHWA9FaZyAzZxlixmLqE75JLzmPFl2nwIuIuxkvKvtofA42f6Rj01iiIyZH09rz8s2lc6E1sx5qNC6M3lu87WNw68g7U8B9jpkUEKhRubuRhS6lQXXsHwfGHEAU
X-Microsoft-Exchange-Diagnostics: 1; AM6PR05MB4422;
 6:RM2eZ3mgm8LwVsz5Z6fl6v4uDSyDJ7JAgTt64/BZl7YGRnkvp9kQCI12gkRK/LWBA86aWHYW+LidrQuOlgZ3J1308AmQ02P8CQfFVGhb1rETdCo6jG8bRmpZpNAEhUVjUbSda4ZnoaiDWFcDnjKtrOWitiIXH1LiDA9tUufJCTG1RWoEGcAOyxeGhbMvhKzdtP60W++y7fC22ZKPUAoalp+u962Y9lXWnVCpUrvxxOSULzh2qdVWpzMKX48dzdICBpkKwbp5iFpEsSUOBO7YPjivCfBPfo5Ny52cc+oRs6WgJRbBMeD4PjHjnh3723tmVvtAbNrG6FpbzRIReMKD4lL5k+iCeGqmIODTKn+vLM1xGpy4fQ0POSZbZzM/nPB/15C5c7vM2nPcf4/7nxwM2wPb5BmX22iXU/NpOKd3kzSCTjSlm4X6Uje7uBocqvVigiBaQ6PCLVE6CmDHFMs9SA==;
 5:PRtGG/2R+ARR2OrNqS/YTYnUtImZHpd0+Ao8UBsluP6hpAndLckn4DBrMgBhpmzIhXlTBRLnsmslcYGWCmqNv26jhMnCS/gZKQ1Gv4yymLj4XGUuRNQYlhn/JIi/Bk2DVbwgKnTX1n/YoGMIK5s36XTrt7N79kQ0FkIeDkzxz88=;
 24:sc4j8uX+YKKG+7O5ILvI5ZojEa7PwW91ioNz97GUNB8VzfyFKk7WVGcrXTRMteq0HCUEJpzOvX1VuRJvphJnE86ZvBDlpkWJgPS3aublbQU=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; AM6PR05MB4422;
 7:xNyc/KnUIZnc/SQ5rAkX/sNRnjCqcL69UB9ysx6MmW763NVEqg0Ho/1Dvg94tjUoUvKNU4HZ5MqBHHVeAhN8MKlbJjYRQmBWL2o/hcih2bMCxra4zquRAh2iFTvbDtxkkeV9lNTipQTt8Q+BI5qd4dVTkaWp7oW+67ucLVkf3GqCsLZV58ovNy4cl2wXzuaARGgpgGVxKOblehzCzB7W348GMGJwwsHNwQuuiouM3QU5BKtcnFj5qWCG2OhcuMs0
X-MS-Office365-Filtering-Correlation-Id: 0c8db059-eb35-4374-26a2-08d5b3178825
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2018 06:06:38.7236 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c8db059-eb35-4374-26a2-08d5b3178825
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB4422
Subject: [dpdk-stable] [PATCH 07/33] net/mlx5: name parameters in function
	prototypes
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://dpdk.org/ml/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Sun, 06 May 2018 06:06:42 -0000

From: Nélio Laranjeiro <nelio.laranjeiro@6wind.com>

[ upstream commit 3692c7ec9e97efeefb497cbbdb99aa766a163221 ]

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx5/mlx5.h      | 191 +++++++++++++++++++++-----------------
 drivers/net/mlx5/mlx5_rxtx.h | 162 ++++++++++++++++++--------------
 2 files changed, 195 insertions(+), 158 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 5e90d99cc0..b65962df9e 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -206,113 +206,132 @@ int mlx5_getenv_int(const char *);
 
 struct priv *mlx5_get_priv(struct rte_eth_dev *dev);
 int mlx5_is_secondary(void);
-int priv_get_ifname(const struct priv *, char (*)[IF_NAMESIZE]);
-int priv_ifreq(const struct priv *, int req, struct ifreq *);
-int priv_get_mtu(struct priv *, uint16_t *);
-int priv_set_flags(struct priv *, unsigned int, unsigned int);
-int mlx5_dev_configure(struct rte_eth_dev *);
-void mlx5_dev_infos_get(struct rte_eth_dev *, struct rte_eth_dev_info *);
+int priv_get_ifname(const struct priv *priv, char (*ifname)[IF_NAMESIZE]);
+int priv_ifreq(const struct priv *priv, int req, struct ifreq *ifr);
+int priv_get_mtu(struct priv *priv, uint16_t *mtu);
+int priv_set_flags(struct priv *priv, unsigned int keep, unsigned int flags);
+int mlx5_dev_configure(struct rte_eth_dev *dev);
+void mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info);
 const uint32_t *mlx5_dev_supported_ptypes_get(struct rte_eth_dev *dev);
-int priv_link_update(struct priv *, int);
-int priv_force_link_status_change(struct priv *, int);
-int mlx5_link_update(struct rte_eth_dev *, int);
-int mlx5_dev_set_mtu(struct rte_eth_dev *, uint16_t);
-int mlx5_dev_get_flow_ctrl(struct rte_eth_dev *, struct rte_eth_fc_conf *);
-int mlx5_dev_set_flow_ctrl(struct rte_eth_dev *, struct rte_eth_fc_conf *);
-int mlx5_ibv_device_to_pci_addr(const struct ibv_device *,
-				struct rte_pci_addr *);
-void mlx5_dev_link_status_handler(void *);
-void mlx5_dev_interrupt_handler(void *);
-void priv_dev_interrupt_handler_uninstall(struct priv *, struct rte_eth_dev *);
-void priv_dev_interrupt_handler_install(struct priv *, struct rte_eth_dev *);
+int priv_link_update(struct priv *priv, int wait_to_complete);
+int priv_force_link_status_change(struct priv *priv, int status);
+int mlx5_link_update(struct rte_eth_dev *dev, int wait_to_complete);
+int mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu);
+int mlx5_dev_get_flow_ctrl(struct rte_eth_dev *dev,
+			   struct rte_eth_fc_conf *fc_conf);
+int mlx5_dev_set_flow_ctrl(struct rte_eth_dev *dev,
+			   struct rte_eth_fc_conf *fc_conf);
+int mlx5_ibv_device_to_pci_addr(const struct ibv_device *device,
+				struct rte_pci_addr *pci_addr);
+void mlx5_dev_link_status_handler(void *arg);
+void mlx5_dev_interrupt_handler(void *cb_arg);
+void priv_dev_interrupt_handler_uninstall(struct priv *priv,
+					  struct rte_eth_dev *dev);
+void priv_dev_interrupt_handler_install(struct priv *priv,
+					struct rte_eth_dev *dev);
 int mlx5_set_link_down(struct rte_eth_dev *dev);
 int mlx5_set_link_up(struct rte_eth_dev *dev);
+eth_tx_burst_t priv_select_tx_function(struct priv *priv,
+				       struct rte_eth_dev *dev);
+eth_rx_burst_t priv_select_rx_function(struct priv *priv,
+				       struct rte_eth_dev *dev);
 int mlx5_is_removed(struct rte_eth_dev *dev);
-eth_tx_burst_t priv_select_tx_function(struct priv *, struct rte_eth_dev *);
-eth_rx_burst_t priv_select_rx_function(struct priv *, struct rte_eth_dev *);
 
 /* mlx5_mac.c */
 
-int priv_get_mac(struct priv *, uint8_t (*)[ETHER_ADDR_LEN]);
-void mlx5_mac_addr_remove(struct rte_eth_dev *, uint32_t);
-int mlx5_mac_addr_add(struct rte_eth_dev *, struct ether_addr *, uint32_t,
-		      uint32_t);
-void mlx5_mac_addr_set(struct rte_eth_dev *, struct ether_addr *);
+int priv_get_mac(struct priv *priv, uint8_t (*mac)[ETHER_ADDR_LEN]);
+void mlx5_mac_addr_remove(struct rte_eth_dev *dev, uint32_t index);
+int mlx5_mac_addr_add(struct rte_eth_dev *dev, struct ether_addr *mac,
+		      uint32_t index, uint32_t vmdq);
+void mlx5_mac_addr_set(struct rte_eth_dev *dev, struct ether_addr *mac_addr);
 
 /* mlx5_rss.c */
 
-int mlx5_rss_hash_update(struct rte_eth_dev *, struct rte_eth_rss_conf *);
-int mlx5_rss_hash_conf_get(struct rte_eth_dev *, struct rte_eth_rss_conf *);
-int priv_rss_reta_index_resize(struct priv *, unsigned int);
-int mlx5_dev_rss_reta_query(struct rte_eth_dev *,
-			    struct rte_eth_rss_reta_entry64 *, uint16_t);
-int mlx5_dev_rss_reta_update(struct rte_eth_dev *,
-			     struct rte_eth_rss_reta_entry64 *, uint16_t);
+int mlx5_rss_hash_update(struct rte_eth_dev *dev,
+			 struct rte_eth_rss_conf *rss_conf);
+int mlx5_rss_hash_conf_get(struct rte_eth_dev *dev,
+			   struct rte_eth_rss_conf *rss_conf);
+int priv_rss_reta_index_resize(struct priv *priv, unsigned int reta_size);
+int mlx5_dev_rss_reta_query(struct rte_eth_dev *dev,
+			    struct rte_eth_rss_reta_entry64 *reta_conf,
+			    uint16_t reta_size);
+int mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,
+			     struct rte_eth_rss_reta_entry64 *reta_conf,
+			     uint16_t reta_size);
 
 /* mlx5_rxmode.c */
 
-void mlx5_promiscuous_enable(struct rte_eth_dev *);
-void mlx5_promiscuous_disable(struct rte_eth_dev *);
-void mlx5_allmulticast_enable(struct rte_eth_dev *);
-void mlx5_allmulticast_disable(struct rte_eth_dev *);
+void mlx5_promiscuous_enable(struct rte_eth_dev *dev);
+void mlx5_promiscuous_disable(struct rte_eth_dev *dev);
+void mlx5_allmulticast_enable(struct rte_eth_dev *dev);
+void mlx5_allmulticast_disable(struct rte_eth_dev *dev);
 
 /* mlx5_stats.c */
 
-void priv_xstats_init(struct priv *);
-int mlx5_stats_get(struct rte_eth_dev *, struct rte_eth_stats *);
-void mlx5_stats_reset(struct rte_eth_dev *);
-int mlx5_xstats_get(struct rte_eth_dev *,
-		    struct rte_eth_xstat *, unsigned int);
-void mlx5_xstats_reset(struct rte_eth_dev *);
-int mlx5_xstats_get_names(struct rte_eth_dev *,
-			  struct rte_eth_xstat_name *, unsigned int);
+void priv_xstats_init(struct priv *priv);
+int mlx5_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats);
+void mlx5_stats_reset(struct rte_eth_dev *dev);
+int mlx5_xstats_get(struct rte_eth_dev *dev,
+		    struct rte_eth_xstat *stats, unsigned int n);
+void mlx5_xstats_reset(struct rte_eth_dev *dev);
+int mlx5_xstats_get_names(struct rte_eth_dev *dev,
+			  struct rte_eth_xstat_name *xstats_names,
+			  unsigned int n);
 
 /* mlx5_vlan.c */
 
-int mlx5_vlan_filter_set(struct rte_eth_dev *, uint16_t, int);
-int mlx5_vlan_offload_set(struct rte_eth_dev *, int);
-void mlx5_vlan_strip_queue_set(struct rte_eth_dev *, uint16_t, int);
+int mlx5_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on);
+void mlx5_vlan_strip_queue_set(struct rte_eth_dev *dev, uint16_t queue, int on);
+int mlx5_vlan_offload_set(struct rte_eth_dev *dev, int mask);
 
 /* mlx5_trigger.c */
 
-int mlx5_dev_start(struct rte_eth_dev *);
-void mlx5_dev_stop(struct rte_eth_dev *);
-int priv_dev_traffic_enable(struct priv *, struct rte_eth_dev *);
-int priv_dev_traffic_disable(struct priv *, struct rte_eth_dev *);
-int priv_dev_traffic_restart(struct priv *, struct rte_eth_dev *);
-int mlx5_traffic_restart(struct rte_eth_dev *);
+int mlx5_dev_start(struct rte_eth_dev *dev);
+void mlx5_dev_stop(struct rte_eth_dev *dev);
+int priv_dev_traffic_enable(struct priv *priv, struct rte_eth_dev *dev);
+int priv_dev_traffic_disable(struct priv *priv, struct rte_eth_dev *dev);
+int priv_dev_traffic_restart(struct priv *priv, struct rte_eth_dev *dev);
+int mlx5_traffic_restart(struct rte_eth_dev *dev);
 
 /* mlx5_flow.c */
 
-int mlx5_dev_filter_ctrl(struct rte_eth_dev *, enum rte_filter_type,
-			 enum rte_filter_op, void *);
-int mlx5_flow_validate(struct rte_eth_dev *, const struct rte_flow_attr *,
-		       const struct rte_flow_item [],
-		       const struct rte_flow_action [],
-		       struct rte_flow_error *);
-struct rte_flow *mlx5_flow_create(struct rte_eth_dev *,
-				  const struct rte_flow_attr *,
-				  const struct rte_flow_item [],
-				  const struct rte_flow_action [],
-				  struct rte_flow_error *);
-int mlx5_flow_destroy(struct rte_eth_dev *, struct rte_flow *,
-		      struct rte_flow_error *);
-void priv_flow_flush(struct priv *, struct mlx5_flows *);
-int mlx5_flow_flush(struct rte_eth_dev *, struct rte_flow_error *);
-int mlx5_flow_query(struct rte_eth_dev *, struct rte_flow *,
-		    enum rte_flow_action_type, void *,
-		    struct rte_flow_error *);
-int mlx5_flow_isolate(struct rte_eth_dev *, int, struct rte_flow_error *);
-int priv_flow_start(struct priv *, struct mlx5_flows *);
-void priv_flow_stop(struct priv *, struct mlx5_flows *);
-int priv_flow_verify(struct priv *);
-int mlx5_ctrl_flow_vlan(struct rte_eth_dev *, struct rte_flow_item_eth *,
-			struct rte_flow_item_eth *, struct rte_flow_item_vlan *,
-			struct rte_flow_item_vlan *);
-int mlx5_ctrl_flow(struct rte_eth_dev *, struct rte_flow_item_eth *,
-		   struct rte_flow_item_eth *);
-int priv_flow_create_drop_queue(struct priv *);
-void priv_flow_delete_drop_queue(struct priv *);
+int mlx5_flow_validate(struct rte_eth_dev *dev,
+		       const struct rte_flow_attr *attr,
+		       const struct rte_flow_item items[],
+		       const struct rte_flow_action actions[],
+		       struct rte_flow_error *error);
+void priv_flow_flush(struct priv *priv, struct mlx5_flows *list);
+int priv_flow_create_drop_queue(struct priv *priv);
+void priv_flow_stop(struct priv *priv, struct mlx5_flows *list);
+int priv_flow_start(struct priv *priv, struct mlx5_flows *list);
+int priv_flow_verify(struct priv *priv);
+int priv_flow_create_drop_queue(struct priv *priv);
+void priv_flow_delete_drop_queue(struct priv *priv);
+int mlx5_ctrl_flow_vlan(struct rte_eth_dev *dev,
+			struct rte_flow_item_eth *eth_spec,
+			struct rte_flow_item_eth *eth_mask,
+			struct rte_flow_item_vlan *vlan_spec,
+			struct rte_flow_item_vlan *vlan_mask);
+int mlx5_ctrl_flow(struct rte_eth_dev *dev,
+		   struct rte_flow_item_eth *eth_spec,
+		   struct rte_flow_item_eth *eth_mask);
+struct rte_flow *mlx5_flow_create(struct rte_eth_dev *dev,
+				  const struct rte_flow_attr *attr,
+				  const struct rte_flow_item items[],
+				  const struct rte_flow_action actions[],
+				  struct rte_flow_error *error);
+int mlx5_flow_destroy(struct rte_eth_dev *dev, struct rte_flow *flow,
+		      struct rte_flow_error *error);
+int mlx5_flow_flush(struct rte_eth_dev *dev, struct rte_flow_error *error);
+int mlx5_flow_query(struct rte_eth_dev *dev, struct rte_flow *flow,
+		    enum rte_flow_action_type action, void *data,
+		    struct rte_flow_error *error);
+int mlx5_flow_isolate(struct rte_eth_dev *dev, int enable,
+		      struct rte_flow_error *error);
+int mlx5_dev_filter_ctrl(struct rte_eth_dev *dev,
+			 enum rte_filter_type filter_type,
+			 enum rte_filter_op filter_op,
+			 void *arg);
 
 /* mlx5_socket.c */
 
@@ -323,9 +342,9 @@ int priv_socket_connect(struct priv *priv);
 
 /* mlx5_mr.c */
 
-struct mlx5_mr *priv_mr_new(struct priv *, struct rte_mempool *);
-struct mlx5_mr *priv_mr_get(struct priv *, struct rte_mempool *);
-int priv_mr_release(struct priv *, struct mlx5_mr *);
-int priv_mr_verify(struct priv *);
+struct mlx5_mr *priv_mr_new(struct priv *priv, struct rte_mempool *mp);
+struct mlx5_mr *priv_mr_get(struct priv *priv, struct rte_mempool *mp);
+int priv_mr_release(struct priv *priv, struct mlx5_mr *mr);
+int priv_mr_verify(struct priv *priv);
 
 #endif /* RTE_PMD_MLX5_H_ */
diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
index d7e890558e..d0ec9a2146 100644
--- a/drivers/net/mlx5/mlx5_rxtx.h
+++ b/drivers/net/mlx5/mlx5_rxtx.h
@@ -210,97 +210,115 @@ struct mlx5_txq_ctrl {
 extern uint8_t rss_hash_default_key[];
 extern const size_t rss_hash_default_key_len;
 
-void mlx5_rxq_cleanup(struct mlx5_rxq_ctrl *);
-int mlx5_rx_queue_setup(struct rte_eth_dev *, uint16_t, uint16_t, unsigned int,
-			const struct rte_eth_rxconf *, struct rte_mempool *);
-void mlx5_rx_queue_release(void *);
+void mlx5_rxq_cleanup(struct mlx5_rxq_ctrl *rxq_ctrl);
+int mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
+			unsigned int socket, const struct rte_eth_rxconf *conf,
+			struct rte_mempool *mp);
+void mlx5_rx_queue_release(void *dpdk_rxq);
 int priv_rx_intr_vec_enable(struct priv *priv);
 void priv_rx_intr_vec_disable(struct priv *priv);
 int mlx5_rx_intr_enable(struct rte_eth_dev *dev, uint16_t rx_queue_id);
 int mlx5_rx_intr_disable(struct rte_eth_dev *dev, uint16_t rx_queue_id);
-struct mlx5_rxq_ibv *mlx5_priv_rxq_ibv_new(struct priv *, uint16_t);
-struct mlx5_rxq_ibv *mlx5_priv_rxq_ibv_get(struct priv *, uint16_t);
-int mlx5_priv_rxq_ibv_release(struct priv *, struct mlx5_rxq_ibv *);
-int mlx5_priv_rxq_ibv_releasable(struct priv *, struct mlx5_rxq_ibv *);
-int mlx5_priv_rxq_ibv_verify(struct priv *);
-struct mlx5_rxq_ctrl *mlx5_priv_rxq_new(struct priv *, uint16_t,
-					uint16_t, unsigned int,
-					const struct rte_eth_rxconf *,
-					struct rte_mempool *);
-struct mlx5_rxq_ctrl *mlx5_priv_rxq_get(struct priv *, uint16_t);
-int mlx5_priv_rxq_release(struct priv *, uint16_t);
-int mlx5_priv_rxq_releasable(struct priv *, uint16_t);
-int mlx5_priv_rxq_verify(struct priv *);
-int rxq_alloc_elts(struct mlx5_rxq_ctrl *);
-struct mlx5_ind_table_ibv *mlx5_priv_ind_table_ibv_new(struct priv *,
-						       uint16_t [],
-						       uint16_t);
-struct mlx5_ind_table_ibv *mlx5_priv_ind_table_ibv_get(struct priv *,
-						       uint16_t [],
-						       uint16_t);
-int mlx5_priv_ind_table_ibv_release(struct priv *, struct mlx5_ind_table_ibv *);
-int mlx5_priv_ind_table_ibv_verify(struct priv *);
-struct mlx5_hrxq *mlx5_priv_hrxq_new(struct priv *, uint8_t *, uint8_t,
-				     uint64_t, uint16_t [], uint16_t);
-struct mlx5_hrxq *mlx5_priv_hrxq_get(struct priv *, uint8_t *, uint8_t,
-				     uint64_t, uint16_t [], uint16_t);
-int mlx5_priv_hrxq_release(struct priv *, struct mlx5_hrxq *);
-int mlx5_priv_hrxq_ibv_verify(struct priv *);
-uint64_t mlx5_priv_get_rx_port_offloads(struct priv *);
-uint64_t mlx5_priv_get_rx_queue_offloads(struct priv *);
+struct mlx5_rxq_ibv *mlx5_priv_rxq_ibv_new(struct priv *priv, uint16_t idx);
+struct mlx5_rxq_ibv *mlx5_priv_rxq_ibv_get(struct priv *priv, uint16_t idx);
+int mlx5_priv_rxq_ibv_release(struct priv *priv, struct mlx5_rxq_ibv *rxq_ibv);
+int mlx5_priv_rxq_ibv_releasable(struct priv *priv,
+				 struct mlx5_rxq_ibv *rxq_ibv);
+int mlx5_priv_rxq_ibv_verify(struct priv *priv);
+struct mlx5_rxq_ctrl *mlx5_priv_rxq_new(struct priv *priv, uint16_t idx,
+					uint16_t desc,
+					unsigned int socket,
+					const struct rte_eth_rxconf *conf,
+					struct rte_mempool *mp);
+struct mlx5_rxq_ctrl *mlx5_priv_rxq_get(struct priv *priv, uint16_t idx);
+int mlx5_priv_rxq_release(struct priv *priv, uint16_t idx);
+int mlx5_priv_rxq_releasable(struct priv *priv, uint16_t idx);
+int mlx5_priv_rxq_verify(struct priv *priv);
+int rxq_alloc_elts(struct mlx5_rxq_ctrl *rxq_ctrl);
+struct mlx5_ind_table_ibv *mlx5_priv_ind_table_ibv_new(struct priv *priv,
+						       uint16_t queues[],
+						       uint16_t queues_n);
+struct mlx5_ind_table_ibv *mlx5_priv_ind_table_ibv_get(struct priv *priv,
+						       uint16_t queues[],
+						       uint16_t queues_n);
+int mlx5_priv_ind_table_ibv_release(struct priv *priv,
+				    struct mlx5_ind_table_ibv *ind_tbl);
+int mlx5_priv_ind_table_ibv_verify(struct priv *priv);
+struct mlx5_hrxq *mlx5_priv_hrxq_new(struct priv *priv, uint8_t *rss_key,
+				     uint8_t rss_key_len, uint64_t hash_fields,
+				     uint16_t queues[], uint16_t queues_n);
+struct mlx5_hrxq *mlx5_priv_hrxq_get(struct priv *priv, uint8_t *rss_key,
+				     uint8_t rss_key_len, uint64_t hash_fields,
+				     uint16_t queues[], uint16_t queues_n);
+int mlx5_priv_hrxq_release(struct priv *priv, struct mlx5_hrxq *hrxq);
+int mlx5_priv_hrxq_ibv_verify(struct priv *priv);
+uint64_t mlx5_priv_get_rx_port_offloads(struct priv *priv);
+uint64_t mlx5_priv_get_rx_queue_offloads(struct priv *priv);
 
 /* mlx5_txq.c */
 
-int mlx5_tx_queue_setup(struct rte_eth_dev *, uint16_t, uint16_t, unsigned int,
-			const struct rte_eth_txconf *);
-void mlx5_tx_queue_release(void *);
+int mlx5_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
+			unsigned int socket, const struct rte_eth_txconf *conf);
+void mlx5_tx_queue_release(void *dpdk_txq);
 int priv_tx_uar_remap(struct priv *priv, int fd);
-struct mlx5_txq_ibv *mlx5_priv_txq_ibv_new(struct priv *, uint16_t);
-struct mlx5_txq_ibv *mlx5_priv_txq_ibv_get(struct priv *, uint16_t);
-int mlx5_priv_txq_ibv_release(struct priv *, struct mlx5_txq_ibv *);
-int mlx5_priv_txq_ibv_releasable(struct priv *, struct mlx5_txq_ibv *);
-int mlx5_priv_txq_ibv_verify(struct priv *);
-struct mlx5_txq_ctrl *mlx5_priv_txq_new(struct priv *, uint16_t,
-					uint16_t, unsigned int,
-					const struct rte_eth_txconf *);
-struct mlx5_txq_ctrl *mlx5_priv_txq_get(struct priv *, uint16_t);
-int mlx5_priv_txq_release(struct priv *, uint16_t);
-int mlx5_priv_txq_releasable(struct priv *, uint16_t);
-int mlx5_priv_txq_verify(struct priv *);
-void txq_alloc_elts(struct mlx5_txq_ctrl *);
-uint64_t mlx5_priv_get_tx_port_offloads(struct priv *);
+struct mlx5_txq_ibv *mlx5_priv_txq_ibv_new(struct priv *priv, uint16_t idx);
+struct mlx5_txq_ibv *mlx5_priv_txq_ibv_get(struct priv *priv, uint16_t idx);
+int mlx5_priv_txq_ibv_release(struct priv *priv, struct mlx5_txq_ibv *txq_ibv);
+int mlx5_priv_txq_ibv_releasable(struct priv *priv,
+				 struct mlx5_txq_ibv *txq_ibv);
+int mlx5_priv_txq_ibv_verify(struct priv *priv);
+struct mlx5_txq_ctrl *mlx5_priv_txq_new(struct priv *priv, uint16_t idx,
+					uint16_t desc, unsigned int socket,
+					const struct rte_eth_txconf *conf);
+struct mlx5_txq_ctrl *mlx5_priv_txq_get(struct priv *priv, uint16_t idx);
+int mlx5_priv_txq_release(struct priv *priv, uint16_t idx);
+int mlx5_priv_txq_releasable(struct priv *priv, uint16_t idx);
+int mlx5_priv_txq_verify(struct priv *priv);
+void txq_alloc_elts(struct mlx5_txq_ctrl *txq_ctrl);
+uint64_t mlx5_priv_get_tx_port_offloads(struct priv *priv);
 
 /* mlx5_rxtx.c */
 
 extern uint32_t mlx5_ptype_table[];
 
 void mlx5_set_ptype_table(void);
-uint16_t mlx5_tx_burst(void *, struct rte_mbuf **, uint16_t);
-uint16_t mlx5_tx_burst_mpw(void *, struct rte_mbuf **, uint16_t);
-uint16_t mlx5_tx_burst_mpw_inline(void *, struct rte_mbuf **, uint16_t);
-uint16_t mlx5_tx_burst_empw(void *, struct rte_mbuf **, uint16_t);
-uint16_t mlx5_rx_burst(void *, struct rte_mbuf **, uint16_t);
-uint16_t removed_tx_burst(void *, struct rte_mbuf **, uint16_t);
-uint16_t removed_rx_burst(void *, struct rte_mbuf **, uint16_t);
-int mlx5_rx_descriptor_status(void *, uint16_t);
-int mlx5_tx_descriptor_status(void *, uint16_t);
+uint16_t mlx5_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts,
+		       uint16_t pkts_n);
+uint16_t mlx5_tx_burst_mpw(void *dpdk_txq, struct rte_mbuf **pkts,
+			   uint16_t pkts_n);
+uint16_t mlx5_tx_burst_mpw_inline(void *dpdk_txq, struct rte_mbuf **pkts,
+				  uint16_t pkts_n);
+uint16_t mlx5_tx_burst_empw(void *dpdk_txq, struct rte_mbuf **pkts,
+			    uint16_t pkts_n);
+uint16_t mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n);
+uint16_t removed_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts,
+			  uint16_t pkts_n);
+uint16_t removed_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts,
+			  uint16_t pkts_n);
+int mlx5_rx_descriptor_status(void *rx_queue, uint16_t offset);
+int mlx5_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
 /* Vectorized version of mlx5_rxtx.c */
-int priv_check_raw_vec_tx_support(struct priv *, struct rte_eth_dev *);
-int priv_check_vec_tx_support(struct priv *, struct rte_eth_dev *);
-int rxq_check_vec_support(struct mlx5_rxq_data *);
-int priv_check_vec_rx_support(struct priv *);
-uint16_t mlx5_tx_burst_raw_vec(void *, struct rte_mbuf **, uint16_t);
-uint16_t mlx5_tx_burst_vec(void *, struct rte_mbuf **, uint16_t);
-uint16_t mlx5_rx_burst_vec(void *, struct rte_mbuf **, uint16_t);
+
+int priv_check_raw_vec_tx_support(struct priv *priv, struct rte_eth_dev *dev);
+int priv_check_vec_tx_support(struct priv *priv, struct rte_eth_dev *dev);
+int rxq_check_vec_support(struct mlx5_rxq_data *rxq);
+int priv_check_vec_rx_support(struct priv *priv);
+uint16_t mlx5_tx_burst_raw_vec(void *dpdk_txq, struct rte_mbuf **pkts,
+			       uint16_t pkts_n);
+uint16_t mlx5_tx_burst_vec(void *dpdk_txq, struct rte_mbuf **pkts,
+			   uint16_t pkts_n);
+uint16_t mlx5_rx_burst_vec(void *dpdk_rxq, struct rte_mbuf **pkts,
+			   uint16_t pkts_n);
 
 /* mlx5_mr.c */
 
-void mlx5_mp2mr_iter(struct rte_mempool *, void *);
-struct mlx5_mr *priv_txq_mp2mr_reg(struct priv *priv, struct mlx5_txq_data *,
-				   struct rte_mempool *, unsigned int);
-struct mlx5_mr *mlx5_txq_mp2mr_reg(struct mlx5_txq_data *, struct rte_mempool *,
-				   unsigned int);
+void mlx5_mp2mr_iter(struct rte_mempool *mp, void *arg);
+struct mlx5_mr *priv_txq_mp2mr_reg(struct priv *priv, struct mlx5_txq_data *txq,
+				   struct rte_mempool *mp, unsigned int idx);
+struct mlx5_mr *mlx5_txq_mp2mr_reg(struct mlx5_txq_data *txq,
+				   struct rte_mempool *mp,
+				   unsigned int idx);
 
 #ifndef NDEBUG
 /**
-- 
2.12.0