<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Consolas;
        color:windowtext;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-IE" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-family:Consolas">DPDK Deprecation Notice Review Meeting 2022-09-30<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">=================================================<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">DPDK Community member met and reviewed the status of the DPDK<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">deprecation notices prior to the RC1 deadline. The source document
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">is <a href="https://git.dpdk.org/dpdk/tree/doc/guides/rel_notes/deprecation.rst">
https://git.dpdk.org/dpdk/tree/doc/guides/rel_notes/deprecation.rst</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">copied below.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">Key messages:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* We should do periodic community reviews of the deprecation notices<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  and in particular at the start of the yy.11 cycle.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* We could group long standing deprecations notices at the start of<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  the doc in a section that is separate from the notices that are<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  specific to the current yy.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* Notes to the notices are inline below and prefixed with ">". 
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">Deprecation Notices<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">-------------------<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* kvargs: The function ``rte_kvargs_process`` will get a new parameter<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  for returning key match count. It will ease handling of no-match case.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Won't make it into this release.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* eal: RTE_FUNC_PTR_OR_* macros have been marked deprecated and will be removed<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  in the future. Applications can use ``devtools/cocci/func_or_ret.cocci``<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  to update their code.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> This is still relevant to current and future releases.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* eal: The function ``rte_eal_remote_launch`` will return new error codes<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  after read or write error on the pipe, instead of calling ``rte_panic``.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> partially done may need other rte_panic removed<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* rte_atomicNN_xxx: These APIs do not take memory order parameter. This does<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  not allow for writing optimized code for all the CPU architectures supported<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  in DPDK. DPDK has adopted the atomic operations from<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html. These<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  operations must be used for patches that need to be merged in 20.08 onwards.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  This change will not introduce any performance degradation.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> This is still relevant to current and future releases.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* rte_smp_*mb: These APIs provide full barrier functionality. However, many<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  use cases do not require full barriers. To support such use cases, DPDK has<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  adopted atomic operations from<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html. These<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  operations and a new wrapper ``rte_atomic_thread_fence`` instead of<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``__atomic_thread_fence`` must be used for patches that need to be merged in<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  20.08 onwards. This change will not introduce any performance degradation.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> This is still relevant to current and future releases.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* bus: The ``dev->device.numa_node`` field is set by each bus driver for<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  every device it manages to indicate on which NUMA node this device lies.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  When this information is unknown, the assigned value is not consistent<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  across the bus drivers.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  In DPDK 22.11, the default value will be set to -1 by all bus drivers<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  when the NUMA information is unavailable.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> This is in progress.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* kni: The KNI kernel module and library are not recommended for use by new<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  applications - other technologies such as virtio-user are recommended instead.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  Following the DPDK technical board<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  `decision <https://mails.dpdk.org/archives/dev/2021-January/197077.html>`_<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  and `refinement <http://mails.dpdk.org/archives/dev/2022-June/243596.html>`_:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* Some deprecation warnings will be added in DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  * The KNI example application will be removed from DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  * The KNI kernel module, library and PMD will be removed from the DPDK 23.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> We should add a compilation and/or dmesg deprecation warning @ferruh<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* lib: will fix extending some enum/define breaking the ABI. There are multiple<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  used by iterators, and arrays holding these values are sized with this<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``.*MAX.*`` value. So extending this enum/define increases the ``.*MAX.*``<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  value which increases the size of the array and depending on how/where the<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  array is used this may break the ABI.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``RTE_ETH_FLOW_MAX`` is one sample of the mentioned case, adding a new flow<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  type will break the ABI because of ``flex_mask[RTE_ETH_FLOW_MAX]`` array<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  usage in following public struct hierarchy:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``rte_eth_fdir_flex_conf -> rte_eth_fdir_conf -> rte_eth_conf (in the middle)``.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  Need to identify this kind of usages and fix in 20.11, otherwise this blocks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  us extending existing enum/define.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  One solution can be using a fixed size array instead of ``.*MAX.*`` value.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> We need some documentation, in the contributors guide or the programmers guide<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  on how to deal with this. There is general agreement that having a MAX value<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  in an enum is a bad idea for ABI but developers like using this as a sentinal<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  or array size value so some people have been using "reserved" padding values<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  in enums to workaround this restrictions. The community should agree, and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  document, what is acceptable.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: The function ``rte_eth_set_queue_rate_limit`` takes ``rate`` in Mbps.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  The queue rate is limited to 64 Gbps because declared as ``uint16_t``.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  The ``rate`` parameter will be modified to ``uint32_t`` in DPDK 22.11<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  so that it can work for more than 64 Gbps.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Patch submitted need ack from Intel and NXT.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> https://patches.dpdk.org/project/dpdk/patch/1664344318-3594-1-git-send-email-skoteshwar@marvell.com/<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: Since no single PMD supports ``RTE_ETH_RX_OFFLOAD_HEADER_SPLIT``<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  offload and the ``split_hdr_size`` field in structure ``rte_eth_rxmode``<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  to enable per-port header split, they will be removed in DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  The per-queue Rx packet split offload ``RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT``<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  can still be used, and it is configured by ``rte_eth_rxseg_split``.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Acked and will be merge<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> https://patches.dpdk.org/project/dpdk/patch/20220812031313.87385-1-xuan.ding@intel.com/<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: Announce moving from dedicated modify function for each field,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  to using the general ``rte_flow_modify_field`` action.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> This is still relevant to current and future releases.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: The flow API matching pattern structures, ``struct rte_flow_item_*``,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  should start with relevant protocol header.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  Some matching pattern structures implements this by duplicating protocol header<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  fields in the struct. To clarify the intention and to be sure protocol header<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  is intact, will replace those fields with relevant protocol header struct.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  In v21.02 both individual protocol header fields and the protocol header struct<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  will be added as union, target is switch usage to the protocol header by time.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  In v21.11 LTS, protocol header fields will be cleaned and only protocol header<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  struct will remain.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Some work still ongoing, may need to go into RC2 but should be in RC1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Best effort for RC1, and then list any missing structs in the docs.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: Queue specific stats fields will be removed from ``struct rte_eth_stats``.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  Mentioned fields are: ``q_ipackets``, ``q_opackets``, ``q_ibytes``, ``q_obytes``,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``q_errors``.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  Instead queue stats will be received via xstats API. Current method support<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  will be limited to maximum 256 queues.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  Also compile time flag ``RTE_ETHDEV_QUEUE_STAT_CNTRS`` will be removed.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> This deprecation notice will stay.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: Items and actions ``PF``, ``VF``, ``PHY_PORT``, ``PORT_ID`` are<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  deprecated as hard-to-use / ambiguous and will be removed in DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Some have been removed as part of a patch series. The deprecation notice will<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  need to change to reflect.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: The use of attributes ``ingress`` / ``egress`` in "transfer" flows<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  is deprecated as ambiguous with respect to the embedded switch. The use of<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  these attributes will become invalid starting from DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> There is a patch in progress for this.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: Actions ``OF_SET_MPLS_TTL``, ``OF_DEC_MPLS_TTL``, ``OF_SET_NW_TTL``,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``OF_COPY_TTL_OUT``, ``OF_COPY_TTL_IN`` are deprecated as not supported by<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  any PMD, so they will be removed in DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Patch has been submitted<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: Actions ``OF_DEC_NW_TTL``, ``SET_IPV4_SRC``, ``SET_IPV4_DST``,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``SET_IPV6_SRC``, ``SET_IPV6_DST``, ``SET_TP_SRC``, ``SET_TP_DST``,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``DEC_TTL``, ``SET_TTL``, ``SET_MAC_SRC``, ``SET_MAC_DST``, ``INC_TCP_SEQ``,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``DEC_TCP_SEQ``, ``INC_TCP_ACK``, ``DEC_TCP_ACK``, ``SET_IPV4_DSCP``,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``SET_IPV6_DSCP``, ``SET_TAG``, ``SET_META`` are marked as legacy and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  superseded by the generic MODIFY_FIELD action.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  The legacy actions should be deprecated in 22.07, once MODIFY_FIELD<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  alternative is implemented.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  The legacy actions should be removed in DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Should be grouped with ??? notice above, and the specific drivers named.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> There was a proposal to have an earlier removal date, at the very start<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> of the xx.11 period so that code is changed/tested in time for RC1.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* ethdev: The enum ``rte_eth_event_ipsec_subtype`` will be extended to add<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  new subtype values ``RTE_ETH_EVENT_IPSEC_SA_PKT_EXPIRY``,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``RTE_ETH_EVENT_IPSEC_SA_BYTE_HARD_EXPIRY`` and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``RTE_ETH_EVENT_IPSEC_SA_PKT_HARD_EXPIRY`` in DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Merged<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* bbdev: ``RTE_BBDEV_OP_TYPE_COUNT`` terminating the ``rte_bbdev_op_type``<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  enum will be deprecated and instead use fixed array size when required<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  to allow for future enum extension.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  Will extend API to support new operation type ``RTE_BBDEV_OP_FFT`` as per<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  this `RFC <https://patches.dpdk.org/project/dpdk/list/?series=22111>`__.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  New members will be added in ``rte_bbdev_driver_info`` to expose<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  PMD queue topology inspired by<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  this `RFC <https://patches.dpdk.org/project/dpdk/list/?series=22076>`__.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  New member will be added in ``rte_bbdev_driver_info`` to expose<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  the device status as per<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  this `RFC <https://patches.dpdk.org/project/dpdk/list/?series=23367>`__.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  This should be updated in DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> This involves several patches, some will be merged<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* cryptodev: Hide structures ``rte_cryptodev_sym_session`` and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``rte_cryptodev_asym_session`` to remove unnecessary indirection between<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  session and the private data of session. An opaque pointer can be exposed<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  directly to application which can be attached to the ``rte_crypto_op``.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Patches submitted. One issue with security below.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* cryptodev: The function ``rte_cryptodev_cb_fn`` will be updated<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  to have another parameter ``qp_id`` to return the queue pair ID<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  which got error interrupt to the application,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  so that application can reset that particular queue pair.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Will be removed without any objections(? note unclear)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* security: Hide structure ``rte_security_session`` and expose an opaque<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  pointer for the private data to the application which can be attached<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  to the packet while enqueuing.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Kontantin has a comment (should be merged in RC2)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* eventdev: The function ``rte_event_crypto_adapter_queue_pair_add`` will<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  accept configuration of type ``rte_event_crypto_adapter_queue_conf`` instead<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  of ``rte_event``, similar to ``rte_event_eth_rx_adapter_queue_add`` signature.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  Event will be one of the configuration fields,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  together with additional vector parameters.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Patches ready. Comment required from Abhinandan
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* eventdev: The function pointer declaration ``eventdev_stop_flush_t``<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  will be renamed to ``rte_eventdev_stop_flush_t`` in DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Patch available and will be merged today<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* eventdev: The element ``*u64s`` in the structure ``rte_event_vector``<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  is deprecated and will be replaced with ``u64s`` in DPDK 22.11.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Patch available and will be merged today<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* eventdev: The structure ``rte_event_vector`` will be modified to include<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``elem_offset:12`` bits taken from ``rsvd:15``. The ``elem_offset`` defines<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  the offset into the vector array from which valid elements are present.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  The difference between ``rte_event_vector::nb_elem`` and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  ``rte_event_vector::elem_offset`` gives the number of valid elements left<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  to process from the ``rte_event_vector::elem_offset``.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Patch is merged. Should remove deprecation docs.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* metrics: The function ``rte_metrics_init`` will have a non-void return<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  in order to notify errors instead of calling ``rte_exit``.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Patch submitted by Bruce<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">* raw/dpaa2_cmdif: The ``dpaa2_cmdif`` rawdev driver will be deprecated<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  in DPDK 22.11, as it is no longer in use, no active user known.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">> Drop from deprecations.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
</div>
</body>
</html>