From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 6B0091B358 for ; Sun, 11 Feb 2018 04:35:39 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 87CF020C08; Sat, 10 Feb 2018 22:35:38 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Sat, 10 Feb 2018 22:35:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fridaylinux.org; h=cc:date:from:message-id:subject:to:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=07rojQ1dyDnAoJAh8hPvOENit6tVy54d7orHELwj+ 5o=; b=qBljGrShxQM+eYYNJJQsBmP4pNUPylKrMjPUsJZueVZoQY/6NgFZEintX 2g6ymHW52ya8VmomgViLEG/044v/Ph3bjqrEx92HwIrHIOEkvuHMJlUnAJqJpIFB DBm/evF1Fn7NOFnpR9cQveNHRAyEKkX77kr7hckXSRMzqP0KAxPlvJoLAA4f49wq +onxGcQ1H93OMdWpfLOb2ZKkDJTH8qpAORFa1xr/lng4tgwIqCW1nFDqJDQJO2+g e1tXtrrZXsSVuTEvBlpjKFR/qw83kFY52OYf0122+nqlkjc003ipuZO6SE7oB1Nj aVfSHg4ewvKJuHZVeV8+xAcjFiE1Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=07rojQ1dyDnAoJAh8 hPvOENit6tVy54d7orHELwj+5o=; b=F4FgjHVjBlVNkqojH55baBTmN1/VlpYbu jBPp2l1I/SOfG22mqi1XrgS+K3sOjQHJdFb+PHm6Ev/SnX5I3LnmwHZspaFwElAU N45zeuMnYO1SwBEkYgp5h975lQHEryt87SSvgncT+0wYeHa9y647m1plbD++xnwQ /kEWijALevzvd2CzviYSEfsIsW0+UY4bJQMrSNCTxWKo3rcbp4wjh6tfAiG3uInz rgXZMF/99PM9aEPqp+F01JrQ510RRyAflmkq6nFZTC6e38IKVxjegGy21yjveX+q wjiuGBV7ft4AcI9fjQdf41ISFqYn11LXz84/TJB16OQfaM5rq+gVw== X-ME-Sender: Received: from yliu-mob.mtl.com (unknown [115.150.101.1]) by mail.messagingengine.com (Postfix) with ESMTPA id 0B61124108; Sat, 10 Feb 2018 22:35:36 -0500 (EST) From: Yuanhan Liu To: stable@dpdk.org Cc: Yuanhan Liu Date: Sun, 11 Feb 2018 11:35:32 +0800 Message-Id: <1518320132-4878-1-git-send-email-yliu@fridaylinux.org> X-Mailer: git-send-email 2.7.4 Subject: [dpdk-stable] [PATCH 17.11] net/mlx5: use PCI address as port name X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Feb 2018 03:35:39 -0000 [ backported from upstream commit ad831a1176538f726428ebfe70f6607d7d854197 ] It is suggested to use PCI BDF to identify a port for port addition in OVS-DPDK. While mlx5 has its own naming style: name it by ib dev name. This breaks the typical OVS DPDK use case and brings more puzzle to the end users. To fix it, this patch changes it to use PCI BDF as the name, too. Also, a postfix " port %u" is added, just in case their might be more than 1 port associated with a PCI device. Signed-off-by: Yuanhan Liu Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index a5eb3fd..912e53c 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -662,6 +662,8 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) INFO("%u port(s) detected", device_attr.orig_attr.phys_port_cnt); for (i = 0; i < device_attr.orig_attr.phys_port_cnt; i++) { + char name[RTE_ETH_NAME_MAX_LEN]; + int len; uint32_t port = i + 1; /* ports are indexed from one */ uint32_t test = (1 << i); struct ibv_context *ctx = NULL; @@ -685,14 +687,13 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) .rx_vec_en = MLX5_ARG_UNSET, }; + len = snprintf(name, sizeof(name), PCI_PRI_FMT, + pci_dev->addr.domain, pci_dev->addr.bus, + pci_dev->addr.devid, pci_dev->addr.function); + mlx5_dev[idx].ports |= test; if (mlx5_is_secondary()) { - /* from rte_ethdev.c */ - char name[RTE_ETH_NAME_MAX_LEN]; - - snprintf(name, sizeof(name), "%s port %u", - ibv_get_device_name(ibv_dev), port); eth_dev = rte_eth_dev_attach_secondary(name); if (eth_dev == NULL) { ERROR("can not attach rte ethdev"); @@ -902,14 +903,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) priv_get_mtu(priv, &priv->mtu); DEBUG("port %u MTU is %u", priv->port, priv->mtu); - /* from rte_ethdev.c */ - { - char name[RTE_ETH_NAME_MAX_LEN]; - - snprintf(name, sizeof(name), "%s port %u", - ibv_get_device_name(ibv_dev), port); - eth_dev = rte_eth_dev_allocate(name); - } + eth_dev = rte_eth_dev_allocate(name); if (eth_dev == NULL) { ERROR("can not allocate rte ethdev"); err = ENOMEM; -- 2.7.4