On 10/4/22 05:21, Wang, YuanX wrote:
Hi Andrew,

-----Original Message-----
From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
Sent: Monday, October 3, 2022 3:04 PM
To: Wang, YuanX <yuanx.w...@intel.com>; dev@dpdk.org; Thomas
Monjalon <tho...@monjalon.net>; Ferruh Yigit <ferruh.yi...@amd.com>;
Ray Kinsella <m...@ashroe.eu>
Cc: ferruh.yi...@xilinx.com; Li, Xiaoyun <xiaoyun...@intel.com>; Singh, Aman
Deep <aman.deep.si...@intel.com>; Zhang, Yuying
<yuying.zh...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com>; Yang,
Qiming <qiming.y...@intel.com>; jerinjac...@gmail.com;
viachesl...@nvidia.com; step...@networkplumber.org; Ding, Xuan
<xuan.d...@intel.com>; hpoth...@marvell.com; Tang, Yaqi
<yaqi.t...@intel.com>; Wenxuan Wu <wenxuanx...@intel.com>
Subject: Re: [PATCH v7 1/4] ethdev: introduce protocol header API

On 10/2/22 00:05, Yuan Wang wrote:
Add a new ethdev API to retrieve supported protocol headers of a PMD,
which helps to configure protocol header based buffer split.

Signed-off-by: Yuan Wang <yuanx.w...@intel.com>
Signed-off-by: Xuan Ding <xuan.d...@intel.com>
Signed-off-by: Wenxuan Wu <wenxuanx...@intel.com>
Reviewed-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
---
   doc/guides/rel_notes/release_22_11.rst |  5 ++++
   lib/ethdev/ethdev_driver.h             | 15 ++++++++++++
   lib/ethdev/rte_ethdev.c                | 33 ++++++++++++++++++++++++++
   lib/ethdev/rte_ethdev.h                | 30 +++++++++++++++++++++++
   lib/ethdev/version.map                 |  3 +++
   5 files changed, 86 insertions(+)

diff --git a/doc/guides/rel_notes/release_22_11.rst
b/doc/guides/rel_notes/release_22_11.rst
index 0231959874..6a7474a3d6 100644
--- a/doc/guides/rel_notes/release_22_11.rst
+++ b/doc/guides/rel_notes/release_22_11.rst
@@ -96,6 +96,11 @@ New Features
     * Added ``rte_event_eth_tx_adapter_queue_stop`` to stop the Tx
Adapter
       from enqueueing any packets to the Tx queue.

+* **Added new ethdev API for PMD to get buffer split supported
+protocol types.**
+
+  * Added ``rte_eth_buffer_split_get_supported_hdr_ptypes()``, to get
supported
+    header protocols of a PMD to split.
+

ethdev features should be grouped together in release notes.
I'll fix it on applying if a new version is not required.

We will send a new version. For the doc changes, I don't understand your point 
very well.
Since will be no new changes to the code within this patch, could you help to 
adjust the doc?
Thanks very much.

Please, read a comment just after 'New Features' section start.
Hopefully it will make my note clearer.
Anyway, don't worry about it a lot. I can easily fix it on
applying.



[snip]

diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index
0c2c1088c0..1f0a7f8f3f 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -6002,6 +6002,39 @@ rte_eth_dev_priv_dump(uint16_t port_id, FILE
*file)
        return eth_err(port_id, (*dev->dev_ops->eth_dev_priv_dump)(dev,
file));
   }

+int
+rte_eth_buffer_split_get_supported_hdr_ptypes(uint16_t port_id,
+uint32_t *ptypes, int num) {
+       int i, j;
+       struct rte_eth_dev *dev;
+       const uint32_t *all_types;
+
+       RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
+       dev = &rte_eth_devices[port_id];
+
+       if (ptypes == NULL && num > 0) {
+               RTE_ETHDEV_LOG(ERR,
+                       "Cannot get ethdev port %u supported header
protocol types to NULL when array size is non zero\n",
+                       port_id);
+               return -EINVAL;
+       }
+
+       if (*dev->dev_ops->buffer_split_supported_hdr_ptypes_get == NULL)
+               return -ENOTSUP;
+       all_types =
+(*dev->dev_ops->buffer_split_supported_hdr_ptypes_get)(dev);
+
+       if (!all_types)

Should be compared with NULL explicitly as coding standard says. I can fix it
on applying as well.

Sure, I will fix in v8.


[snip]

Reply via email to