From: Jie Wang <jie1x.wang@intel.com> To: dev@dpdk.org Cc: ferruh.yigit@intel.com, thomas@monjalon.net, andrew.rybchenko@oktetlabs.ru, xiaoyun.li@intel.com, stevex.yang@intel.com, Jie Wang <jie1x.wang@intel.com>, stable@dpdk.org Subject: [dpdk-stable] [PATCH v9 1/3] ethdev: add an API to get device configuration info Date: Sun, 26 Sep 2021 17:20:53 +0800 Message-ID: <20210926092055.495322-2-jie1x.wang@intel.com> (raw) In-Reply-To: <20210926092055.495322-1-jie1x.wang@intel.com> This patch adds a new API "rte_eth_dev_conf_info_get()" to help users get device configuration info. Cc: stable@dpdk.org Signed-off-by: Jie Wang <jie1x.wang@intel.com> --- lib/ethdev/rte_ethdev.c | 23 +++++++++++++++++++++++ lib/ethdev/rte_ethdev.h | 21 +++++++++++++++++++++ lib/ethdev/version.map | 3 +++ 3 files changed, 47 insertions(+) diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index daf5ca9242..a0f521323a 100644 --- a/lib/ethdev/rte_ethdev.c +++ b/lib/ethdev/rte_ethdev.c @@ -3457,6 +3457,29 @@ rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info) return 0; } +int +rte_eth_dev_conf_info_get(uint16_t port_id, + struct rte_eth_conf *dev_conf_info) +{ + struct rte_eth_dev *dev; + + RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); + dev = &rte_eth_devices[port_id]; + + if (dev_conf_info == NULL) { + RTE_ETHDEV_LOG(ERR, + "Cannot get ethdev port %u configuration info to NULL\n", + port_id); + return -EINVAL; + } + + /* copy dev->data->dev_conf to dev_conf_info */ + memcpy(dev_conf_info, &dev->data->dev_conf, + sizeof(struct rte_eth_conf)); + + return 0; +} + int rte_eth_dev_get_supported_ptypes(uint16_t port_id, uint32_t ptype_mask, uint32_t *ptypes, int num) diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h index 1da37896d8..c21ee6a1fe 100644 --- a/lib/ethdev/rte_ethdev.h +++ b/lib/ethdev/rte_ethdev.h @@ -3068,6 +3068,27 @@ int rte_eth_macaddr_get(uint16_t port_id, struct rte_ether_addr *mac_addr); */ int rte_eth_dev_info_get(uint16_t port_id, struct rte_eth_dev_info *dev_info); +/** + * @warning + * @b EXPERIMENTAL: this API may change without prior notice. + * + * Retrieve the configuration of an Ethernet device. + * + * @param port_id + * The port identifier of the Ethernet device. + * @param dev_conf_info + * A pointer to a structure of type *rte_eth_conf* to be filled with + * the configuration of the Ethernet device. + * And the memory of the structure should be allocated by the caller. + * @return + * - (0) if successful. + * - (-ENODEV) if *port_id* invalid. + * - (-EINVAL) if bad parameter. + */ +__rte_experimental +int rte_eth_dev_conf_info_get(uint16_t port_id, + struct rte_eth_conf *dev_conf_info); + /** * Retrieve the firmware version of a device. * diff --git a/lib/ethdev/version.map b/lib/ethdev/version.map index 904bce6ea1..4b0a1f0fae 100644 --- a/lib/ethdev/version.map +++ b/lib/ethdev/version.map @@ -247,6 +247,9 @@ EXPERIMENTAL { rte_mtr_meter_policy_delete; rte_mtr_meter_policy_update; rte_mtr_meter_policy_validate; + + # added in 21.11 + rte_eth_dev_conf_info_get; }; INTERNAL { -- 2.25.1
next parent reply other threads:[~2021-09-26 9:21 UTC|newest] Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <20210827081740.365037-1-jie1x.wang@intel.com> [not found] ` <20210926092055.495322-1-jie1x.wang@intel.com> 2021-09-26 9:20 ` Jie Wang [this message] 2021-10-04 11:22 ` Ferruh Yigit 2021-10-04 11:26 ` Thomas Monjalon 2021-10-04 11:35 ` Ferruh Yigit 2021-09-26 9:20 ` [dpdk-stable] [PATCH v9 2/3] doc: update release notes for new API Jie Wang 2021-10-04 11:22 ` Ferruh Yigit 2021-10-04 11:26 ` Thomas Monjalon 2021-09-26 9:20 ` [dpdk-stable] [PATCH v9 3/3] app/testpmd: fix testpmd doesn't show RSS hash offload Jie Wang
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=20210926092055.495322-2-jie1x.wang@intel.com \ --to=jie1x.wang@intel.com \ --cc=andrew.rybchenko@oktetlabs.ru \ --cc=dev@dpdk.org \ --cc=ferruh.yigit@intel.com \ --cc=stable@dpdk.org \ --cc=stevex.yang@intel.com \ --cc=thomas@monjalon.net \ --cc=xiaoyun.li@intel.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
patches for DPDK stable branches This inbox may be cloned and mirrored by anyone: git clone --mirror http://inbox.dpdk.org/stable/0 stable/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 stable stable/ http://inbox.dpdk.org/stable \ stable@dpdk.org public-inbox-index stable Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.stable AGPL code for this site: git clone https://public-inbox.org/public-inbox.git