<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:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" 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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Gulim;
        panose-1:2 11 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Malgun Gothic";
        panose-1:2 11 5 3 2 0 0 2 0 4;}
@font-face
        {font-family:"\@Malgun Gothic";}
@font-face
        {font-family:"\@Gulim";
        panose-1:2 11 6 0 0 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        text-align:justify;
        text-autospace:none;
        word-break:break-all;
        font-size:10.0pt;
        font-family:"Malgun Gothic",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
        {mso-style-name:x_msonormal;
        margin:0in;
        text-align:justify;
        text-autospace:none;
        word-break:break-all;
        font-size:10.0pt;
        font-family:"Malgun Gothic",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:85.05pt 1.0in 1.0in 1.0in;}
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-US" link="blue" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal" style="word-break:normal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">What’s the FW version are you using?<o:p></o:p></span></p>
<p class="MsoNormal" style="word-break:normal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">If you are using OFED driver, it is suggested that you try the OFED >=5.8 with the FW inside.<o:p></o:p></span></p>
<p class="MsoNormal" style="word-break:normal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal" style="word-break:normal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">BR. Bing<o:p></o:p></span></p>
<p class="MsoNormal" style="word-break:normal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-numeric ideograph-other;word-break:normal">
<b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Junghan Yoon <cerotyki@gmail.com>
<br>
<b>Sent:</b> Friday, June 9, 2023 9:50 PM<br>
<b>To:</b> Bing Zhao <bingz@nvidia.com>; users@dpdk.org<br>
<b>Subject:</b> RE: RE: About rte_flow asynchronous API<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" align="left" style="text-align:left"><o:p> </o:p></p>
<table class="MsoNormalTable" border="1" cellpadding="0" style="background:#FFEB9C">
<tbody>
<tr>
<td style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-numeric ideograph-other;word-break:normal">
<b><span style="font-size:7.5pt;font-family:"Verdana",sans-serif;color:black">External email: Use caution opening links or attachments</span></b><span style="font-size:7.5pt;font-family:"Verdana",sans-serif;color:black">
</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-numeric ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-language:KO"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="mso-fareast-language:KO">Thank you Zhao.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">I tried it, but now mlx5 driver returned error.<o:p></o:p></span></p>
<div>
<p class="MsoNormal" align="left" style="text-align:left;background:#232323;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:lightgrey;background:#232323;mso-fareast-language:KO">mlx5_net: [mlx5dr_action_create_generic]: Cannot create HWS action since HWS is not supported</span><span style="font-size:9.0pt;font-family:"Courier New";mso-fareast-language:KO"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="mso-fareast-language:KO">It is what I saw in my original code before trying on testpmd.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">It seems to be an issue from connectX-6 configuration.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">Is there anyone ever tried to use asynchronous API with connectX-6?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">Setting dv_flow_en=2 and dv_esw_en=1 seems not enough.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">I explored the mlx5 code, and found that rte_flow_configure() queries HCA capability by mlx5dr_cmd_query_caps().<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">In my case, rte_flow_configure() returned error since caps->wqe_based_update is set by 0.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">Is there anyone know how to set this value to non-zero?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">I already wrote the same question on nvidia forum.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">Sincerely,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO">Junghan Yoon<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="KO" style="mso-fareast-language:KO">보낸 사람</span></b><b><span style="mso-fareast-language:KO">:
</span></b><span style="mso-fareast-language:KO"><a href="mailto:bingz@nvidia.com">Bing Zhao</a><br>
<b><span lang="KO">보낸 날짜</span>: </b>2023<span lang="KO">년</span> 6<span lang="KO">월</span> 9<span lang="KO">일 금요일 오후</span> 10:00<br>
<b><span lang="KO">받는 사람</span>: </b><a href="mailto:users@dpdk.org">users@dpdk.org</a>;
<a href="mailto:cerotyki@gmail.com">cerotyki@gmail.com</a><br>
<b><span lang="KO">제목</span>: </b>RE: About rte_flow asynchronous API<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p> </o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Hi Junghan,</span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif">In testpmd, you can easily do it by:</span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO">port stop all</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO"># or port stop 0</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO"> </span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO">flow configure 0 ……</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO"># if there are other port(s)</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO"># flow configure Y ……
</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO"> </span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO"> </span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO">port start all</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p style="margin:0in"><span style="font-size:10.0pt;font-family:Consolas;mso-fareast-language:KO"># or port start 0</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif">With the source code implementation, you can configure it before starting a device.</span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif">BR. Bing</span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"><o:p></o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"> <o:p></o:p></span></p>
<div id="divRplyFwdMsg">
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black;mso-fareast-language:KO">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black;mso-fareast-language:KO"> Junghan Yoon <<a href="mailto:cerotyki@gmail.com"><span style="color:#0563C1">cerotyki@gmail.com</span></a>><br>
<b>Sent:</b> Friday, June 9, 2023 10:57:13 AM<br>
<b>To:</b> <a href="mailto:users@dpdk.org"><span style="color:#0563C1">users@dpdk.org</span></a> <<a href="mailto:users@dpdk.org"><span style="color:#0563C1">users@dpdk.org</span></a>><br>
<b>Subject:</b> About rte_flow asynchronous API</span><span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO">
<o:p></o:p></span></p>
<div>
<p class="MsoNormal" align="left" style="text-align:left;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:12.0pt;font-family:"Gulim",sans-serif;mso-fareast-language:KO"> <o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="xmsonormal"><span style="mso-fareast-language:KO">Hi.<o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">I<span lang="KO">’</span>m trying to use testpmd to test rte_flow with asynchronous API in DPDK 22.11.<o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO"> <o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">I turned on dv_esw_en=1 by echoing switchdev to /sys/class/net/<span lang="KO">…</span>., and set dv_flow_en to 2 to use connectX-6 HWS (hardware steering).<o:p></o:p></span></p>
<p class="xmsonormal" align="left" style="text-align:left;background:#232323;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:lightgrey;background:#232323;mso-fareast-language:KO">sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=2 -a 0000:8a:00.1,dv_flow_en=2 -- -i --rxq=1 --txq=1</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO"> <o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">In the prompt, I typed below<o:p></o:p></span></p>
<p class="xmsonormal" align="left" style="text-align:left;background:#232323;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:lightgrey;background:#232323;mso-fareast-language:KO">flow configure 0 queues_number 1 queues_size 10 counters_number 0 aging_counters_number 0 meters_number 0 flags 0</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO"> <o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">but it said <span lang="KO">
“</span>Device with port_id=0 already started.<span lang="KO">”</span>.<o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO"> <o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">I know rte_flow_configure() call should be in the middle of rte_eth_dev_configure() and rte_eth_dev_start().<o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">So, I run testpmd by below to postpone device start,<o:p></o:p></span></p>
<p class="xmsonormal" align="left" style="text-align:left;background:#232323;text-autospace:ideograph-other;word-break:normal">
<span style="font-size:9.0pt;font-family:"Courier New";color:lightgrey;background:#232323;mso-fareast-language:KO">sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=2 -a 0000:8a:00.1,dv_flow_en=2 -- -i --rxq=1 --txq=1 --disable-device-start</span><span style="mso-fareast-language:KO"><o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO"> <o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">However, now not only rte_eth_dev_start() but also rte_eth_dev_configure() does not start, so it said
<span lang="KO">“</span>Device with port_id=0 is not configured.<span lang="KO">”</span>.<o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO"> <o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">How can I run rte_flow_configure() between rte_eth_dev_configure() and rte_eth_dev_start() in testpmd?<o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">Is there any parameter to postpone only rte_eth_dev_start()?<o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO"> <o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">Sincerely,<o:p></o:p></span></p>
<p class="xmsonormal"><span style="mso-fareast-language:KO">Junghan Yoon.<o:p></o:p></span></p>
</div>
</div>
</div>
<p class="xmsonormal"><span style="mso-fareast-language:KO"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:KO"><o:p> </o:p></span></p>
</div>
</div>
</div>
</body>
</html>