From: David Hunt <david.hunt@intel.com>
To: dev@dpdk.org
Cc: konstantin.ananyev@intel.com, jingjing.wu@intel.com,
santosh.shukla@caviumnetworks.com, "Sexton,
Rory" <rory.sexton@intel.com>,
Nemanja Marjanovic <nemanja.marjanovic@intel.com>,
David Hunt <david.hunt@intel.com>
Subject: [PATCH v6 1/9] net/i40e: add API to convert VF MAC to VF id
Date: Thu, 5 Oct 2017 13:25:42 +0100 [thread overview]
Message-ID: <1507206350-215367-2-git-send-email-david.hunt@intel.com> (raw)
In-Reply-To: <1507206350-215367-1-git-send-email-david.hunt@intel.com>
From: "Sexton, Rory" <rory.sexton@intel.com>
Need a way to convert a vf id to a pf id on the host so as to query the pf
for relevant statistics which are used for the frequency changes in the
vm_power_manager app. Used when profiles are passed down from the guest
to the host, allowing the host to map the vfs to pfs.
Signed-off-by: Nemanja Marjanovic <nemanja.marjanovic@intel.com>
Signed-off-by: Rory Sexton <rory.sexton@intel.com>
Signed-off-by: David Hunt <david.hunt@intel.com>
---
drivers/net/i40e/rte_pmd_i40e.c | 30 ++++++++++++++++++++++++++++++
drivers/net/i40e/rte_pmd_i40e.h | 15 +++++++++++++++
drivers/net/i40e/rte_pmd_i40e_version.map | 7 +++++++
3 files changed, 52 insertions(+)
diff --git a/drivers/net/i40e/rte_pmd_i40e.c b/drivers/net/i40e/rte_pmd_i40e.c
index f12b7f4..541d575 100644
--- a/drivers/net/i40e/rte_pmd_i40e.c
+++ b/drivers/net/i40e/rte_pmd_i40e.c
@@ -2115,3 +2115,33 @@ int rte_pmd_i40e_ptype_mapping_replace(uint8_t port,
return 0;
}
+
+int64_t
+rte_pmd_i40e_query_vfid_by_mac(uint8_t port, const struct ether_addr *vf_mac)
+{
+ struct rte_eth_dev *dev;
+ struct ether_addr *mac;
+ struct i40e_pf *pf;
+ int vf_id;
+ struct i40e_pf_vf *vf;
+ uint16_t vf_num;
+
+ RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
+ dev = &rte_eth_devices[port];
+
+ if (!is_i40e_supported(dev))
+ return -ENOTSUP;
+
+ pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
+ vf_num = pf->vf_num;
+
+ for (vf_id = 0; vf_id < vf_num; vf_id++) {
+ vf = &pf->vfs[vf_id];
+ mac = &vf->mac_addr;
+
+ if (is_same_ether_addr(mac, vf_mac))
+ return vf_id;
+ }
+
+ return -EINVAL;
+}
diff --git a/drivers/net/i40e/rte_pmd_i40e.h b/drivers/net/i40e/rte_pmd_i40e.h
index 356fa89..2952ab0 100644
--- a/drivers/net/i40e/rte_pmd_i40e.h
+++ b/drivers/net/i40e/rte_pmd_i40e.h
@@ -637,4 +637,19 @@ int rte_pmd_i40e_ptype_mapping_replace(uint8_t port,
uint8_t mask,
uint32_t pkt_type);
+/**
+ * On the PF, find VF index based on VF MAC address
+ *
+ * @param port
+ * pointer to port identifier of the device
+ * @param vf_mac
+ * the mac address of the vf to determine index of
+ * @return
+ * The index of vfid If successful.
+ * -EINVAL: vf mac address does not exist for this port
+ * -ENOTSUP: i40e not supported for this port.
+ */
+int64_t rte_pmd_i40e_query_vfid_by_mac(uint8_t port,
+ const struct ether_addr *vf_mac);
+
#endif /* _PMD_I40E_H_ */
diff --git a/drivers/net/i40e/rte_pmd_i40e_version.map b/drivers/net/i40e/rte_pmd_i40e_version.map
index 20cc980..d8b74bd 100644
--- a/drivers/net/i40e/rte_pmd_i40e_version.map
+++ b/drivers/net/i40e/rte_pmd_i40e_version.map
@@ -45,3 +45,10 @@ DPDK_17.08 {
rte_pmd_i40e_get_ddp_info;
} DPDK_17.05;
+
+DPDK_17.11 {
+ global:
+
+ rte_pmd_i40e_query_vfid_by_mac;
+
+} DPDK_17.08;
--
2.7.4
next prev parent reply other threads:[~2017-10-05 12:27 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-25 16:02 [PATCH v1 0/10] Policy Based Power Control for Guest David Hunt
2017-08-25 16:02 ` [PATCH v1 01/10] net/i40e: add API to convert VF Id to PF Id David Hunt
2017-09-22 9:56 ` Thomas Monjalon
2017-09-22 12:39 ` Hunt, David
2017-09-25 2:43 ` Wu, Jingjing
2017-09-25 9:57 ` Hunt, David
2017-08-25 16:02 ` [PATCH v1 02/10] net/i40e: add API to get received packet count David Hunt
2017-09-25 2:47 ` Wu, Jingjing
2017-09-25 9:59 ` Hunt, David
2017-08-25 16:02 ` [PATCH v1 03/10] lib/librte_power: add extra msg type for policies David Hunt
2017-08-25 16:02 ` [PATCH v1 04/10] examples/vm_power_mgr: add vcpu to pcpu mapping David Hunt
2017-08-25 16:02 ` [PATCH v1 05/10] examples/vm_power_mgr: add scale to medium freq fn David Hunt
2017-08-25 16:02 ` [PATCH v1 06/10] examples/vm_power_mgr: add policy to channels David Hunt
2017-08-25 16:02 ` [PATCH v1 07/10] examples/vm_power_mgr: add port initialisation David Hunt
2017-08-25 16:02 ` [PATCH v1 08/10] examples/guest_cli: add send policy to host David Hunt
2017-08-25 16:02 ` [PATCH v1 09/10] examples/vm_power_mgr: set MAC address of VF David Hunt
2017-08-25 16:02 ` [PATCH v1 10/10] net/i40e: set register for no drop David Hunt
2017-09-25 2:50 ` Wu, Jingjing
2017-09-25 9:44 ` Hunt, David
2017-08-29 13:03 ` [PATCH v1 0/10] Policy Based Power Control for Guest Ananyev, Konstantin
2017-09-22 9:51 ` Thomas Monjalon
2017-09-22 10:28 ` Hunt, David
2017-09-22 13:03 ` Thomas Monjalon
2017-09-22 13:12 ` Hunt, David
2017-09-25 12:27 ` [PATCH v2] " David Hunt
2017-09-25 12:27 ` [PATCH v2 1/8] net/i40e: add API to convert VF MAC to VSI index David Hunt
2017-09-26 14:04 ` Wu, Jingjing
2017-09-25 12:27 ` [PATCH v2 2/8] lib/librte_power: add extra msg type for policies David Hunt
2017-09-25 12:27 ` [PATCH v2 3/8] examples/vm_power_mgr: add vcpu to pcpu mapping David Hunt
2017-09-25 12:27 ` [PATCH v2 4/8] examples/vm_power_mgr: add scale to medium freq fn David Hunt
2017-09-25 12:27 ` [PATCH v2 5/8] examples/vm_power_mgr: add policy to channels David Hunt
2017-09-25 12:27 ` [PATCH v2 6/8] examples/vm_power_mgr: add port initialisation David Hunt
2017-09-25 12:27 ` [PATCH v2 7/8] examples/guest_cli: add send policy to host David Hunt
2017-09-25 12:27 ` [PATCH v2 8/8] examples/vm_power_mgr: set MAC address of VF David Hunt
2017-10-04 9:15 ` [PATCH v4] Policy Based Power Control for Guest David Hunt
2017-10-04 9:15 ` [PATCH v4 1/9] net/i40e: add API to convert VF MAC to VF id David Hunt
2017-10-04 15:26 ` santosh
2017-10-04 9:15 ` [PATCH v4 2/9] lib/librte_power: add extra msg type for policies David Hunt
2017-10-04 15:36 ` santosh
2017-10-05 8:38 ` Hunt, David
2017-10-05 9:21 ` santosh
2017-10-05 9:51 ` Hunt, David
2017-10-04 9:15 ` [PATCH v4 3/9] examples/vm_power_mgr: add vcpu to pcpu mapping David Hunt
2017-10-04 9:15 ` [PATCH v4 4/9] examples/vm_power_mgr: add scale to medium freq fn David Hunt
2017-10-04 9:15 ` [PATCH v4 5/9] examples/vm_power_mgr: add policy to channels David Hunt
2017-10-04 9:15 ` [PATCH v4 6/9] examples/vm_power_mgr: add port initialisation David Hunt
2017-10-04 9:15 ` [PATCH v4 7/9] power: add send channel msg function to map file David Hunt
2017-10-04 9:15 ` [PATCH v4 8/9] examples/guest_cli: add send policy to host David Hunt
2017-10-04 9:15 ` [PATCH v4 9/9] examples/vm_power_mgr: set MAC address of VF David Hunt
2017-10-04 15:25 ` [PATCH v5 0/9] Policy Based Power Control for Guest David Hunt
2017-10-04 15:25 ` [PATCH v5 1/9] net/i40e: add API to convert VF MAC to VF id David Hunt
2017-10-04 15:41 ` santosh
2017-10-05 8:31 ` Hunt, David
2017-10-05 9:22 ` santosh
2017-10-04 15:25 ` [PATCH v5 2/9] lib/librte_power: add extra msg type for policies David Hunt
2017-10-04 15:47 ` santosh
2017-10-05 8:41 ` Hunt, David
2017-10-04 15:25 ` [PATCH v5 3/9] examples/vm_power_mgr: add vcpu to pcpu mapping David Hunt
2017-10-04 15:58 ` santosh
2017-10-05 8:44 ` Hunt, David
2017-10-04 15:25 ` [PATCH v5 4/9] examples/vm_power_mgr: add scale to medium freq fn David Hunt
2017-10-04 16:04 ` santosh
2017-10-05 8:47 ` Hunt, David
2017-10-05 9:07 ` santosh
2017-10-04 15:25 ` [PATCH v5 5/9] examples/vm_power_mgr: add policy to channels David Hunt
2017-10-04 15:25 ` [PATCH v5 6/9] examples/vm_power_mgr: add port initialisation David Hunt
2017-10-04 15:25 ` [PATCH v5 7/9] power: add send channel msg function to map file David Hunt
2017-10-04 16:20 ` santosh
2017-10-04 15:25 ` [PATCH v5 8/9] examples/guest_cli: add send policy to host David Hunt
2017-10-04 15:25 ` [PATCH v5 9/9] examples/vm_power_mgr: set MAC address of VF David Hunt
2017-10-05 12:25 ` [PATCH v6 0/9] Policy Based Power Control for Guest David Hunt
2017-10-05 12:25 ` David Hunt [this message]
2017-10-05 12:45 ` [PATCH v6 1/9] net/i40e: add API to convert VF MAC to VF id Ananyev, Konstantin
2017-10-05 12:51 ` Hunt, David
2017-10-05 12:25 ` [PATCH v6 2/9] lib/librte_power: add extra msg type for policies David Hunt
2017-10-05 12:25 ` [PATCH v6 3/9] examples/vm_power_mgr: add vcpu to pcpu mapping David Hunt
2017-10-05 12:25 ` [PATCH v6 4/9] examples/vm_power_mgr: add scale to medium freq fn David Hunt
2017-10-05 12:25 ` [PATCH v6 5/9] examples/vm_power_mgr: add policy to channels David Hunt
2017-10-05 12:25 ` [PATCH v6 6/9] examples/vm_power_mgr: add port initialisation David Hunt
2017-10-05 12:25 ` [PATCH v6 7/9] power: add send channel msg function to map file David Hunt
2017-10-05 12:25 ` [PATCH v6 8/9] examples/guest_cli: add send policy to host David Hunt
2017-10-05 12:25 ` [PATCH v6 9/9] examples/vm_power_mgr: set MAC address of VF David Hunt
2017-10-05 13:28 ` [PATCH v7 0/9] Policy Based Power Control for Guest David Hunt
2017-10-05 13:28 ` [PATCH v7 1/9] net/i40e: add API to convert VF MAC to VF id David Hunt
2017-10-05 13:28 ` [PATCH v7 2/9] lib/librte_power: add extra msg type for policies David Hunt
2017-10-05 13:28 ` [PATCH v7 3/9] examples/vm_power_mgr: add vcpu to pcpu mapping David Hunt
2017-10-05 13:28 ` [PATCH v7 4/9] examples/vm_power_mgr: add scale to medium freq fn David Hunt
2017-10-05 13:28 ` [PATCH v7 5/9] examples/vm_power_mgr: add policy to channels David Hunt
2017-10-05 13:28 ` [PATCH v7 6/9] examples/vm_power_mgr: add port initialisation David Hunt
2017-10-05 13:28 ` [PATCH v7 7/9] power: add send channel msg function to map file David Hunt
2017-10-05 13:28 ` [PATCH v7 8/9] examples/guest_cli: add send policy to host David Hunt
2017-10-05 13:28 ` [PATCH v7 9/9] examples/vm_power_mgr: set MAC address of VF David Hunt
2017-10-05 13:54 ` [PATCH v7 0/9] Policy Based Power Control for Guest Ananyev, Konstantin
2017-10-05 14:12 ` santosh
2017-10-05 14:34 ` [PATCH v8 " David Hunt
2017-10-05 14:34 ` [PATCH v8 1/9] net/i40e: add API to convert VF MAC to VF id David Hunt
2017-10-05 14:34 ` [PATCH v8 2/9] lib/librte_power: add extra msg type for policies David Hunt
2017-10-05 14:34 ` [PATCH v8 3/9] examples/vm_power_mgr: add vcpu to pcpu mapping David Hunt
2017-10-05 14:34 ` [PATCH v8 4/9] examples/vm_power_mgr: add scale to medium freq fn David Hunt
2017-10-05 14:34 ` [PATCH v8 5/9] examples/vm_power_mgr: add policy to channels David Hunt
2017-10-05 14:34 ` [PATCH v8 6/9] examples/vm_power_mgr: add port initialisation David Hunt
2017-10-05 14:34 ` [PATCH v8 7/9] power: add send channel msg function to map file David Hunt
2017-10-05 14:34 ` [PATCH v8 8/9] examples/guest_cli: add send policy to host David Hunt
2017-10-05 14:34 ` [PATCH v8 9/9] examples/vm_power_mgr: set MAC address of VF David Hunt
2017-10-09 22:34 ` [PATCH v8 0/9] Policy Based Power Control for Guest Ferruh Yigit
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=1507206350-215367-2-git-send-email-david.hunt@intel.com \
--to=david.hunt@intel.com \
--cc=dev@dpdk.org \
--cc=jingjing.wu@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=nemanja.marjanovic@intel.com \
--cc=rory.sexton@intel.com \
--cc=santosh.shukla@caviumnetworks.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.