From: Marc Sune <marc.sune@bisdn.de>
To: dev@dpdk.org
Subject: [dpdk-dev] [RFC PATCH 2/2] Filling speed capability bitmaps in the PMDs
Date: Tue, 12 May 2015 01:45:46 +0200 [thread overview]
Message-ID: <1431387946-29950-3-git-send-email-marc.sune@bisdn.de> (raw)
In-Reply-To: <1431387946-29950-1-git-send-email-marc.sune@bisdn.de>
Added speed capabilities to all pmds supporting physical NICs:
* e1000
* ixgbe
* i40
* mlx4
* fm10k
This commit should be revised to ensure accuracy. It is mostly
untested (HW not available).
Signed-off-by: Marc Sune <marc.sune@bisdn.de>
---
lib/librte_pmd_e1000/em_ethdev.c | 6 ++++++
lib/librte_pmd_e1000/igb_ethdev.c | 6 ++++++
lib/librte_pmd_fm10k/fm10k_ethdev.c | 3 +++
lib/librte_pmd_i40e/i40e_ethdev.c | 9 +++++++++
lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 10 ++++++++++
lib/librte_pmd_mlx4/mlx4.c | 6 ++++++
6 files changed, 40 insertions(+)
diff --git a/lib/librte_pmd_e1000/em_ethdev.c b/lib/librte_pmd_e1000/em_ethdev.c
index da02988..593e182 100644
--- a/lib/librte_pmd_e1000/em_ethdev.c
+++ b/lib/librte_pmd_e1000/em_ethdev.c
@@ -883,6 +883,12 @@ eth_em_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
dev_info->max_rx_queues = 1;
dev_info->max_tx_queues = 1;
+
+ dev_info->speed_capa = ETH_SPEED_CAP_10M_HD |
+ ETH_SPEED_CAP_10M_FD |
+ ETH_SPEED_CAP_100M_HD |
+ ETH_SPEED_CAP_100M_FD |
+ ETH_SPEED_CAP_1G;
}
/* return 0 means link status changed, -1 means not changed */
diff --git a/lib/librte_pmd_e1000/igb_ethdev.c b/lib/librte_pmd_e1000/igb_ethdev.c
index 4415155..8b5514f 100644
--- a/lib/librte_pmd_e1000/igb_ethdev.c
+++ b/lib/librte_pmd_e1000/igb_ethdev.c
@@ -1398,6 +1398,12 @@ eth_igb_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
},
.txq_flags = 0,
};
+
+ dev_info->speed_capa = ETH_SPEED_CAP_10M_HD |
+ ETH_SPEED_CAP_10M_FD |
+ ETH_SPEED_CAP_100M_HD |
+ ETH_SPEED_CAP_100M_FD |
+ ETH_SPEED_CAP_1G;
}
static void
diff --git a/lib/librte_pmd_fm10k/fm10k_ethdev.c b/lib/librte_pmd_fm10k/fm10k_ethdev.c
index 275c19c..e97b857 100644
--- a/lib/librte_pmd_fm10k/fm10k_ethdev.c
+++ b/lib/librte_pmd_fm10k/fm10k_ethdev.c
@@ -791,6 +791,9 @@ fm10k_dev_infos_get(struct rte_eth_dev *dev,
ETH_TXQ_FLAGS_NOOFFLOADS,
};
+ dev_info->speed_capa = ETH_SPEED_CAP_1G | ETH_SPEED_CAP_2_5G |
+ ETH_SPEED_CAP_10G | ETH_SPEED_CAP_25G |
+ ETH_SPEED_CAP_40G | ETH_SPEED_CAP_100G;
}
static int
diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c b/lib/librte_pmd_i40e/i40e_ethdev.c
index 43762f2..70675d6 100644
--- a/lib/librte_pmd_i40e/i40e_ethdev.c
+++ b/lib/librte_pmd_i40e/i40e_ethdev.c
@@ -1518,6 +1518,7 @@ static void
i40e_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
{
struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
+ struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
struct i40e_vsi *vsi = pf->main_vsi;
dev_info->max_rx_queues = vsi->nb_qps;
@@ -1573,6 +1574,14 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
dev_info->max_rx_queues += dev_info->vmdq_queue_num;
dev_info->max_tx_queues += dev_info->vmdq_queue_num;
}
+
+ if (i40e_is_40G_device(hw->device_id))
+ /* For XL710 */
+ dev_info->speed_capa = ETH_SPEED_CAP_1G | ETH_SPEED_CAP_10G;
+ else
+ /* For X710 */
+ dev_info->speed_capa = ETH_SPEED_CAP_10G | ETH_SPEED_CAP_40G;
+
}
static int
diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c
index 5f9a1cf..1b5de9a 100644
--- a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c
+++ b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c
@@ -2054,6 +2054,16 @@ ixgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
};
dev_info->reta_size = ETH_RSS_RETA_SIZE_128;
dev_info->flow_type_rss_offloads = IXGBE_RSS_OFFLOAD_ALL;
+
+ dev_info->speed_capa = ETH_SPEED_CAP_1G | ETH_SPEED_CAP_10G;
+
+ if (hw->mac.type == ixgbe_mac_X540 ||
+ hw->mac.type == ixgbe_mac_X540_vf ||
+ hw->mac.type == ixgbe_mac_X550 ||
+ hw->mac.type == ixgbe_mac_X550_vf)
+
+ dev_info->speed_capa |= ETH_SPEED_CAP_100M_FD |
+ ETH_SPEED_CAP_100M_HD;
}
static void
diff --git a/lib/librte_pmd_mlx4/mlx4.c b/lib/librte_pmd_mlx4/mlx4.c
index f915bc1..d4442fb 100644
--- a/lib/librte_pmd_mlx4/mlx4.c
+++ b/lib/librte_pmd_mlx4/mlx4.c
@@ -3482,6 +3482,12 @@ mlx4_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
info->max_rx_queues = max;
info->max_tx_queues = max;
info->max_mac_addrs = elemof(priv->mac);
+
+ info->speed_capa = ETH_SPEED_CAP_10G | ETH_SPEED_CAP_20G |
+ ETH_SPEED_CAP_25G | ETH_SPEED_CAP_40G |
+ ETH_SPEED_CAP_50G | ETH_SPEED_CAP_56G |
+ ETH_SPEED_CAP_100G;
+
priv_unlock(priv);
}
--
2.1.4
next prev parent reply other threads:[~2015-05-11 23:46 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-11 23:45 [dpdk-dev] [RFC PATCH 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-05-11 23:45 ` [dpdk-dev] [RFC PATCH 1/2] Added ETH_SPEED_CAP bitmap in rte_eth_dev_info Marc Sune
2015-05-25 17:46 ` Stephen Hemminger
2015-05-26 8:41 ` Marc Sune
2015-05-26 15:03 ` Stephen Hemminger
2015-05-26 15:09 ` Marc Sune
2015-05-11 23:45 ` Marc Sune [this message]
2015-05-25 16:32 ` [dpdk-dev] [RFC PATCH 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-05-26 19:50 ` [dpdk-dev] [PATCH v2 " Marc Sune
2015-05-26 19:50 ` [dpdk-dev] [PATCH v2 1/2] Added ETH_SPEED_CAP bitmap in rte_eth_dev_info Marc Sune
2015-05-27 4:02 ` Thomas Monjalon
2015-05-27 9:15 ` Marc Sune
2015-05-29 18:23 ` Thomas Monjalon
2015-06-08 8:50 ` Marc Sune
2015-06-11 9:08 ` Thomas Monjalon
2015-06-11 14:35 ` Marc Sune
2015-05-26 19:50 ` [dpdk-dev] [PATCH v2 2/2] Filling speed capability bitmaps in the PMDs Marc Sune
2015-05-26 21:20 ` Igor Ryzhov
2015-05-27 8:59 ` Marc Sune
2015-08-28 23:20 ` [dpdk-dev] [PATCH v3 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-08-28 23:20 ` [dpdk-dev] [PATCH v3 1/2] Added ETH_SPEED_ bitmap in rte_eth_dev_info Marc Sune
2015-08-28 23:20 ` [dpdk-dev] [PATCH v3 2/2] Filling speed capability bitmaps in the PMDs Marc Sune
2015-08-29 0:16 ` [dpdk-dev] [PATCH v4 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-08-29 0:16 ` [dpdk-dev] [PATCH v4 1/2] Added ETH_SPEED_ bitmap in rte_eth_dev_info Marc Sune
2015-08-29 0:16 ` [dpdk-dev] [PATCH v4 2/2] Filling speed capability bitmaps in the PMDs Marc Sune
2015-09-07 20:52 ` [dpdk-dev] [PATCH v4 0/2] ethdev: add port speed capability bitmap Marc Sune
2015-09-08 10:03 ` Nélio Laranjeiro
2015-09-08 20:26 ` Marc Sune
2015-09-09 13:10 ` Nélio Laranjeiro
2015-09-09 13:33 ` Thomas Monjalon
2015-09-13 19:14 ` Marc Sune
2015-09-13 21:18 ` Thomas Monjalon
2015-09-14 10:02 ` Nélio Laranjeiro
2015-09-14 10:52 ` Morten Brørup
2015-09-14 21:33 ` Marc Sune
2015-09-14 22:50 ` Morten Brørup
2015-09-15 8:25 ` Nélio Laranjeiro
2015-09-15 8:48 ` Marc Sune
2015-09-15 9:39 ` Morten Brørup
2015-09-15 10:04 ` Adrien Mazarguil
2015-09-15 10:24 ` Morten Brørup
2015-09-15 21:20 ` Marc Sune
2015-09-16 14:41 ` Adrien Mazarguil
2015-09-15 7:05 ` Thomas Monjalon
2015-09-15 7:33 ` Morten Brørup
2015-09-15 9:06 ` Morten Brørup
2015-10-04 21:12 ` [dpdk-dev] [PATCH v5 0/4] ethdev: add speed capabilities and refactor link API Marc Sune
2015-10-04 21:12 ` [dpdk-dev] [PATCH v5 1/4] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2015-10-04 21:12 ` [dpdk-dev] [PATCH v5 2/4] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2015-10-04 21:12 ` [dpdk-dev] [PATCH v5 3/4] ethdev: redesign link speed config API Marc Sune
2015-10-05 10:59 ` Neil Horman
2015-10-07 13:31 ` Marc Sune
2015-10-06 13:48 ` Nélio Laranjeiro
2015-10-07 13:37 ` Marc Sune
2016-01-28 17:33 ` Harish Patil
2016-02-02 2:20 ` Stephen Hemminger
2016-02-02 22:30 ` Marc
2016-02-11 15:27 ` Nélio Laranjeiro
2016-02-11 23:23 ` Marc
2015-10-04 21:12 ` [dpdk-dev] [PATCH v5 4/4] doc: update with link changes Marc Sune
2015-10-04 21:21 ` [dpdk-dev] [PATCH v5 0/4] ethdev: add speed capabilities and refactor link API Marc Sune
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1431387946-29950-3-git-send-email-marc.sune@bisdn.de \
--to=marc.sune@bisdn.de \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).