From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <users-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 3F54F43193
	for <public@inbox.dpdk.org>; Wed, 18 Oct 2023 04:19:24 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id AFA8F40261;
	Wed, 18 Oct 2023 04:19:23 +0200 (CEST)
Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187])
 by mails.dpdk.org (Postfix) with ESMTP id 6B0494003C
 for <users@dpdk.org>; Wed, 18 Oct 2023 04:19:22 +0200 (CEST)
Received: from kwepemm000002.china.huawei.com (unknown [172.30.72.53])
 by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4S9Dtz0Q3wzvQ81;
 Wed, 18 Oct 2023 10:14:35 +0800 (CST)
Received: from dggpeml500020.china.huawei.com (7.185.36.88) by
 kwepemm000002.china.huawei.com (7.193.23.144) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.31; Wed, 18 Oct 2023 10:19:19 +0800
Received: from dggpeml500020.china.huawei.com ([7.185.36.88]) by
 dggpeml500020.china.huawei.com ([7.185.36.88]) with mapi id 15.01.2507.031;
 Wed, 18 Oct 2023 10:19:18 +0800
From: "jiangheng (G)" <jiangheng14@huawei.com>
To: "Xing, Beilei" <beilei.xing@intel.com>, "users@dpdk.org" <users@dpdk.org>, 
 Stephen Hemminger <stephen@networkplumber.org>
CC: "Fanbin(Kira,2012 Blue Lab.)" <fanbin12@huawei.com>
Subject: =?gb2312?B?tPC4tDogV2hldGhlciB0aGUgY3JlYXRhdGlvbiBvZiBmbG93IHJ1bGVzIG9m?=
 =?gb2312?Q?_i40e_NIC_support_tcp_port_mask?=
Thread-Topic: Whether the creatation of flow rules of i40e NIC support tcp
 port mask
Thread-Index: AdoA1zKopRhb/mz0T4qZQSq4v/eEUgAjryTQAABKRJA=
Date: Wed, 18 Oct 2023 02:19:18 +0000
Message-ID: <baf345cb9cd3493eafbb686d93ce1d55@huawei.com>
References: <ca071f7ccde7402ea223f7295e1cca4f@huawei.com>
 <LV2PR11MB59978448F7C340F2F508A6B6F7D5A@LV2PR11MB5997.namprd11.prod.outlook.com>
In-Reply-To: <LV2PR11MB59978448F7C340F2F508A6B6F7D5A@LV2PR11MB5997.namprd11.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.136.117.195]
Content-Type: multipart/alternative;
 boundary="_000_baf345cb9cd3493eafbb686d93ce1d55huaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-BeenThere: users@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK usage discussions <users.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/users>,
 <mailto:users-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/users/>
List-Post: <mailto:users@dpdk.org>
List-Help: <mailto:users-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/users>,
 <mailto:users-request@dpdk.org?subject=subscribe>
Errors-To: users-bounces@dpdk.org

--_000_baf345cb9cd3493eafbb686d93ce1d55huaweicom_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

SGkgQmVpbGVpOg0KV2hhdCBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgZmxvdyBydWxlcyBzdXBw
b3J0ZWQgYnkgdGhlIGk0MGU/DQpXaGF0IGFib3V0IHRoYXQgc2l0dWF0aW9uOiAgbnVtYmVycyBv
ZiB0Y3AgY29ubmVjdGlvbiBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gbnVtYmVyIG9mIGZs
b3cgcnVsZXMuDQoNCg0Kt6K8/sjLOiBYaW5nLCBCZWlsZWkgPGJlaWxlaS54aW5nQGludGVsLmNv
bT4NCreiy83KsbzkOiAyMDIzxOoxMNTCMTjI1SA5OjU1DQrK1bz+yMs6IGppYW5naGVuZyAoRykg
PGppYW5naGVuZzE0QGh1YXdlaS5jb20+OyB1c2Vyc0BkcGRrLm9yZw0Ks63LzTogRmFuYmluKEtp
cmEsMjAxMiBCbHVlIExhYi4pIDxmYW5iaW4xMkBodWF3ZWkuY29tPg0K1vfM4jogUkU6IFdoZXRo
ZXIgdGhlIGNyZWF0YXRpb24gb2YgZmxvdyBydWxlcyBvZiBpNDBlIE5JQyBzdXBwb3J0IHRjcCBw
b3J0IG1hc2sNCg0KSGkgSmlhbmdoZW5nLA0KDQpUaGF0oa9zIGJlY2F1c2UgaTQwZSBvbmx5IHN1
cHBvcnRzIHBlcmZlY3QgbWF0Y2guDQoNCkJSLA0KQmVpbGVpDQoNCkZyb206IGppYW5naGVuZyAo
RykgPGppYW5naGVuZzE0QGh1YXdlaS5jb208bWFpbHRvOmppYW5naGVuZzE0QGh1YXdlaS5jb20+
Pg0KU2VudDogVHVlc2RheSwgT2N0b2JlciAxNywgMjAyMyA0OjUyIFBNDQpUbzogWGluZywgQmVp
bGVpIDxiZWlsZWkueGluZ0BpbnRlbC5jb208bWFpbHRvOmJlaWxlaS54aW5nQGludGVsLmNvbT4+
OyB1c2Vyc0BkcGRrLm9yZzxtYWlsdG86dXNlcnNAZHBkay5vcmc+DQpDYzogRmFuYmluKEtpcmEs
MjAxMiBCbHVlIExhYi4pIDxmYW5iaW4xMkBodWF3ZWkuY29tPG1haWx0bzpmYW5iaW4xMkBodWF3
ZWkuY29tPj4NClN1YmplY3Q6IFdoZXRoZXIgdGhlIGNyZWF0YXRpb24gb2YgZmxvdyBydWxlcyBv
ZiBpNDBlIE5JQyBzdXBwb3J0IHRjcCBwb3J0IG1hc2sNCg0KDQpIaSBiZWlsZWmjrA0KDQpJIHdv
dWxkIGxpa2UgdG8gY3JlYXRlIGZsb3dzIHVzaW5nIHRjcCBwb3J0IG1hc2ssIGJ1dCBpdCBzZWVt
cyBvbmx5IG1hc2sgMHhmZmZmIG9yIDB4MCB3b3JrLCBEb2VzIGZsb3cgcmx1ZSBjYW4gYmUgY3Jl
YXRlZCB1c2luZyBvdGhlciBtYXNrPw0KDQpJNDBlIGRpcnZlciB3YXMgdXNpbmcgbm93Lg0KDQoN
Cg0KSGVyZSBpcyBteSBjb2RlOg0KDQogICAgc3RydWN0IHJ0ZV9mbG93X2F0dHIgYXR0cjsNCg0K
ICAgIHN0cnVjdCBydGVfZmxvd19pdGVtIHBhdHRlcm5bTUFYX1BBVFRFUk5fTlVNXTsNCg0KICAg
IHN0cnVjdCBydGVfZmxvd19hY3Rpb24gYWN0aW9uW01BWF9BQ1RJT05fTlVNXTsNCg0KICAgIHN0
cnVjdCBydGVfZmxvdyAqZmxvdyA9IE5VTEw7DQoNCiAgICBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9u
X3F1ZXVlIHF1ZXVlID0geyAuaW5kZXggPSBxdWV1ZV9pZCB9Ow0KDQogICAgc3RydWN0IHJ0ZV9m
bG93X2l0ZW1faXB2NCBpcF9zcGVjOw0KDQogICAgc3RydWN0IHJ0ZV9mbG93X2l0ZW1faXB2NCBp
cF9tYXNrOw0KDQoNCg0KICAgIHN0cnVjdCBydGVfZmxvd19pdGVtX3RjcCB0Y3Bfc3BlYzsNCg0K
ICAgIHN0cnVjdCBydGVfZmxvd19pdGVtX3RjcCB0Y3BfbWFzazsNCg0KICAgIGludCByZXM7DQoN
Cg0KDQogICAgbWVtc2V0X3MocGF0dGVybiwgc2l6ZW9mKHBhdHRlcm4pLCAwLCBzaXplb2YocGF0
dGVybikpOw0KDQogICAgbWVtc2V0X3MoYWN0aW9uLCBzaXplb2YoYWN0aW9uKSwgMCwgc2l6ZW9m
KGFjdGlvbikpOw0KDQoNCg0KICAgIC8qDQoNCiAgICAgKiBzZXQgdGhlIHJ1bGUgYXR0cmlidXRl
Lg0KDQogICAgICogaW4gdGhpcyBjYXNlIG9ubHkgaW5ncmVzcyBwYWNrZXRzIHdpbGwgYmUgY2hl
Y2tlZC4NCg0KICAgICAqLw0KDQogICAgbWVtc2V0X3MoJmF0dHIsIHNpemVvZihzdHJ1Y3QgcnRl
X2Zsb3dfYXR0ciksIDAsIHNpemVvZihzdHJ1Y3QgcnRlX2Zsb3dfYXR0cikpOw0KDQogICAgYXR0
ci5pbmdyZXNzID0gMTsNCg0KDQoNCiAgICAvKg0KDQogICAgICogY3JlYXRlIHRoZSBhY3Rpb24g
c2VxdWVuY2UuDQoNCiAgICAgKiBvbmUgYWN0aW9uIG9ubHksICBtb3ZlIHBhY2tldCB0byBxdWV1
ZQ0KDQogICAgICovDQoNCiAgICBhY3Rpb25bMF0udHlwZSA9IFJURV9GTE9XX0FDVElPTl9UWVBF
X1FVRVVFOw0KDQogICAgYWN0aW9uWzBdLmNvbmYgPSAmcXVldWU7DQoNCiAgICBhY3Rpb25bMV0u
dHlwZSA9IFJURV9GTE9XX0FDVElPTl9UWVBFX0VORDsNCg0KDQoNCiAgICAvLyBub3QgbGltaXQg
ZXRoIGhlYWRlcg0KDQogICAgcGF0dGVyblswXS50eXBlID0gUlRFX0ZMT1dfSVRFTV9UWVBFX0VU
SDsNCg0KDQoNCiAgICAvLyBpcCBoZWFkZXINCg0KICAgIG1lbXNldF9zKCZpcF9zcGVjLCBzaXpl
b2Yoc3RydWN0IHJ0ZV9mbG93X2l0ZW1faXB2NCksIDAsIHNpemVvZihzdHJ1Y3QgcnRlX2Zsb3df
aXRlbV9pcHY0KSk7DQoNCiAgICBtZW1zZXRfcygmaXBfbWFzaywgc2l6ZW9mKHN0cnVjdCBydGVf
Zmxvd19pdGVtX2lwdjQpLCAwLCBzaXplb2Yoc3RydWN0IHJ0ZV9mbG93X2l0ZW1faXB2NCkpOw0K
DQogICAgaXBfc3BlYy5oZHIuZHN0X2FkZHIgPSBkc3RfaXA7DQoNCiAgICBpcF9tYXNrLmhkci5k
c3RfYWRkciA9IEVNUFRZX01BU0s7DQoNCiAgICBpcF9zcGVjLmhkci5zcmNfYWRkciA9IHNyY19p
cDsNCg0KICAgIGlwX21hc2suaGRyLnNyY19hZGRyID0gRU1QVFlfTUFTSzsNCg0KICAgIHBhdHRl
cm5bMV0udHlwZSA9IFJURV9GTE9XX0lURU1fVFlQRV9JUFY0Ow0KDQogICAgcGF0dGVyblsxXS5z
cGVjID0gJmlwX3NwZWM7DQoNCiAgICBwYXR0ZXJuWzFdLm1hc2sgPSAmaXBfbWFzazsNCg0KDQoN
CiAgICAvLyB0Y3AgaGVhZGVyLCBmdWxsIG1hc2sgMHhmZmZmDQoNCiAgICBtZW1zZXRfcygmdGNw
X3NwZWMsIHNpemVvZihzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV90Y3ApLCAwLCBzaXplb2Yoc3RydWN0
IHJ0ZV9mbG93X2l0ZW1fdGNwKSk7DQoNCiAgICBtZW1zZXRfcygmdGNwX21hc2ssIHNpemVvZihz
dHJ1Y3QgcnRlX2Zsb3dfaXRlbV90Y3ApLCAwLCBzaXplb2Yoc3RydWN0IHJ0ZV9mbG93X2l0ZW1f
dGNwKSk7DQoNCiAgICBwYXR0ZXJuWzJdLnR5cGUgPSBSVEVfRkxPV19JVEVNX1RZUEVfVENQOyAv
LyAyOiBwYXR0ZXJuIDIgaXMgdGNwIGhlYWRlcg0KDQogICAgdGNwX3NwZWMuaGRyLnNyY19wb3J0
ID0gc3JjX3BvcnQ7DQoNCiAgICB0Y3Bfc3BlYy5oZHIuZHN0X3BvcnQgPSBkc3RfcG9ydDsNCg0K
ICAgIHRjcF9tYXNrLmhkci5zcmNfcG9ydCA9IDB4ZmZmZjsgIC8vIG9ubHkgMHhmZmZmIGFuZCAw
eDAgd29yaw0KDQogICAgdGNwX21hc2suaGRyLmRzdF9wb3J0ID0gMHhmZmZmOyAvLyBvbmx5IDB4
ZmZmZiBhbmQgMHgwIHdvcmsNCg0KICAgIHBhdHRlcm5bMl0uc3BlYyA9ICZ0Y3Bfc3BlYzsNCg0K
ICAgIHBhdHRlcm5bMl0ubWFzayA9ICZ0Y3BfbWFzazsNCg0KDQoNCiAgICAvKiB0aGUgZmluYWwg
bGV2ZWwgbXVzdCBiZSBhbHdheXMgdHlwZSBlbmQgKi8NCg0KICAgIHBhdHRlcm5bM10udHlwZSA9
IFJURV9GTE9XX0lURU1fVFlQRV9FTkQ7DQoNCiAgICByZXMgPSBydGVfZmxvd192YWxpZGF0ZShw
b3J0X2lkLCAmYXR0ciwgcGF0dGVybiwgYWN0aW9uLCBlcnJvcik7DQoNCiAgICBpZiAoIXJlcykg
ew0KDQogICAgICAgIGZsb3cgPSBydGVfZmxvd19jcmVhdGUocG9ydF9pZCwgJmF0dHIsIHBhdHRl
cm4sIGFjdGlvbiwgZXJyb3IpOw0KDQogICAgfSBlbHNlIHsNCg0KICAgICAgICBMU1RBQ0tfTE9H
KEVSUiwgUE9SVCwgInJ0ZV9mbG93X2NyZWF0ZS5ydGVfZmxvd192YWxpZGF0ZSBlcnJvciwgcmVz
ICVkIFxuIiwgcmVzKTsNCg0KICAgIH0NCg0KDQoNCkxvb2tpbmcgZm9yd2FyZCB0byB5b3VyIGZh
dm91cmFibGUgcmVwbHkuDQoNCg==

--_000_baf345cb9cd3493eafbb686d93ce1d55huaweicom_
Content-Type: text/html; charset="gb2312"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dgb2312">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:=CB=CE=CC=E5;
	panose-1:2 1 6 0 3 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:=B5=C8=CF=DF;
	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:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
	{font-family:"MS PGothic";
	panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
	{font-family:"\@MS PGothic";
	panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
	{font-family:"\@=CB=CE=CC=E5";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"\@=B5=C8=CF=DF";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:JA;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{mso-style-priority:99;
	mso-style-link:"=B4=BF=CE=C4=B1=BE =D7=D6=B7=FB";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:JA;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"MS PGothic",sans-serif;
	mso-fareast-language:JA;}
span.a
	{mso-style-name:"=B4=BF=CE=C4=B1=BE =D7=D6=B7=FB";
	mso-style-priority:99;
	mso-style-link:=B4=BF=CE=C4=B1=BE;
	font-family:=CB=CE=CC=E5;
	mso-fareast-language:JA;}
p.PlainText, li.PlainText, div.PlainText
	{mso-style-name:"Plain Text";
	mso-style-link:"Plain Text Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:JA;}
span.PlainTextChar
	{mso-style-name:"Plain Text Char";
	mso-style-priority:99;
	mso-style-link:"Plain Text";
	font-family:Consolas;}
span.EmailStyle22
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle24
	{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:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"ZH-CN" link=3D"#0563C1" vlink=3D"#954F72" style=3D"text-justi=
fy-trim:punctuation">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-fareast-language:Z=
H-CN">Hi Beilei:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-fareast-language:Z=
H-CN">What is the maximum number of flow rules supported by the i40e?<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-fareast-language:Z=
H-CN">What about that situation: &nbsp;numbers of tcp connection is greater=
 than the maximum number of flow rules.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-fareast-language:Z=
H-CN"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-fareast-language:Z=
H-CN"><o:p>&nbsp;</o:p></span></p>
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><b><span st=
yle=3D"font-size:11.0pt;font-family:=B5=C8=CF=DF;mso-fareast-language:ZH-CN=
">=B7=A2=BC=FE=C8=CB<span lang=3D"EN-US">:</span></span></b><span lang=3D"E=
N-US" style=3D"font-size:11.0pt;font-family:=B5=C8=CF=DF;mso-fareast-langua=
ge:ZH-CN">
 Xing, Beilei &lt;beilei.xing@intel.com&gt; <br>
</span><b><span style=3D"font-size:11.0pt;font-family:=B5=C8=CF=DF;mso-fare=
ast-language:ZH-CN">=B7=A2=CB=CD=CA=B1=BC=E4<span lang=3D"EN-US">:</span></=
span></b><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:=B5=C8=
=CF=DF;mso-fareast-language:ZH-CN"> 2023</span><span style=3D"font-size:11.=
0pt;font-family:=B5=C8=CF=DF;mso-fareast-language:ZH-CN">=C4=EA<span lang=
=3D"EN-US">10</span>=D4=C2<span lang=3D"EN-US">18</span>=C8=D5<span lang=3D=
"EN-US">
 9:55<br>
</span><b>=CA=D5=BC=FE=C8=CB<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> jiangheng (G) &lt;jiangheng14@huawei.com&gt;; users@dpdk.org<br>
</span><b>=B3=AD=CB=CD<span lang=3D"EN-US">:</span></b><span lang=3D"EN-US"=
> Fanbin(Kira,2012 Blue Lab.) &lt;fanbin12@huawei.com&gt;<br>
</span><b>=D6=F7=CC=E2<span lang=3D"EN-US">:</span></b><span lang=3D"EN-US"=
> RE: Whether the creatation of flow rules of i40e NIC support tcp port mas=
k<o:p></o:p></span></span></p>
</div>
</div>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">Hi J=
iangheng, <o:p>
</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">That=
=A1=AFs because i40e only supports perfect match.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">BR,<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">Beil=
ei<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt"><o:p=
>&nbsp;</o:p></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><b><span la=
ng=3D"EN-US" style=3D"font-size:11.0pt">From:</span></b><span lang=3D"EN-US=
" style=3D"font-size:11.0pt"> jiangheng (G) &lt;<a href=3D"mailto:jiangheng=
14@huawei.com">jiangheng14@huawei.com</a>&gt;
<br>
<b>Sent:</b> Tuesday, October 17, 2023 4:52 PM<br>
<b>To:</b> Xing, Beilei &lt;<a href=3D"mailto:beilei.xing@intel.com">beilei=
.xing@intel.com</a>&gt;;
<a href=3D"mailto:users@dpdk.org">users@dpdk.org</a><br>
<b>Cc:</b> Fanbin(Kira,2012 Blue Lab.) &lt;<a href=3D"mailto:fanbin12@huawe=
i.com">fanbin12@huawei.com</a>&gt;<br>
<b>Subject:</b> Whether the creatation of flow rules of i40e NIC support tc=
p port mask<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">Hi beilei</span><span style=
=3D"font-family:=B5=C8=CF=DF;mso-fareast-language:ZH-CN">=A3=AC</span><span=
 lang=3D"EN-US"><o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">I would like to create flows=
 using tcp port mask, but it seems
<b>only mask 0xffff or 0x0 work</b>, Does flow rlue can be created using ot=
her mask?
<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">I40e dirver was using now. <=
o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;<o:p></o:p=
></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">Here is my code:<o:p></o:p><=
/span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; struct rt=
e_flow_attr attr;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; struct rt=
e_flow_item pattern[MAX_PATTERN_NUM];<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; struct rt=
e_flow_action action[MAX_ACTION_NUM];<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; struct rt=
e_flow *flow =3D NULL;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; struct rt=
e_flow_action_queue queue =3D { .index =3D queue_id };<o:p></o:p></span></p=
>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; struct rt=
e_flow_item_ipv4 ip_spec;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; struct rt=
e_flow_item_ipv4 ip_mask;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;stru=
ct rte_flow_item_tcp tcp_spec;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; struct rt=
e_flow_item_tcp tcp_mask;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; int res;<=
o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;mems=
et_s(pattern, sizeof(pattern), 0, sizeof(pattern));<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; memset_s(=
action, sizeof(action), 0, sizeof(action));<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;/*<o=
:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp; * s=
et the rule attribute.<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp; * i=
n this case only ingress packets will be checked.<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp; */<=
o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; memset_s(=
&amp;attr, sizeof(struct rte_flow_attr), 0, sizeof(struct rte_flow_attr));<=
o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; attr.ingr=
ess =3D 1;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;/*<o=
:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp; * c=
reate the action sequence.<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp; * o=
ne action only,&nbsp; move packet to queue<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp; */<=
o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; action[0]=
.type =3D RTE_FLOW_ACTION_TYPE_QUEUE;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; action[0]=
.conf =3D &amp;queue;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; action[1]=
.type =3D RTE_FLOW_ACTION_TYPE_END;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;// n=
ot limit eth header<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; pattern[0=
].type =3D RTE_FLOW_ITEM_TYPE_ETH;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;// i=
p header<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; memset_s(=
&amp;ip_spec, sizeof(struct rte_flow_item_ipv4), 0, sizeof(struct rte_flow_=
item_ipv4));<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; memset_s(=
&amp;ip_mask, sizeof(struct rte_flow_item_ipv4), 0, sizeof(struct rte_flow_=
item_ipv4));<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; ip_spec.h=
dr.dst_addr =3D dst_ip;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; ip_mask.h=
dr.dst_addr =3D EMPTY_MASK;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; ip_spec.h=
dr.src_addr =3D src_ip;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; ip_mask.h=
dr.src_addr =3D EMPTY_MASK;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; pattern[1=
].type =3D RTE_FLOW_ITEM_TYPE_IPV4;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; pattern[1=
].spec =3D &amp;ip_spec;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; pattern[1=
].mask =3D &amp;ip_mask;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;// t=
cp header, full mask 0xffff<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; memset_s(=
&amp;tcp_spec, sizeof(struct rte_flow_item_tcp), 0, sizeof(struct rte_flow_=
item_tcp));<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; memset_s(=
&amp;tcp_mask, sizeof(struct rte_flow_item_tcp), 0, sizeof(struct rte_flow_=
item_tcp));<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; pattern[2=
].type =3D RTE_FLOW_ITEM_TYPE_TCP; // 2: pattern 2 is tcp header<o:p></o:p>=
</span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; tcp_spec.=
hdr.src_port =3D src_port;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; tcp_spec.=
hdr.dst_port =3D dst_port;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><b><span lang=3D"EN-US" style=3D"color:red">&nbsp=
;&nbsp;&nbsp; tcp_mask.hdr.src_port =3D 0xffff; &nbsp;// only 0xffff and 0x=
0 work<o:p></o:p></span></b></p>
<p class=3D"MsoPlainText"><b><span lang=3D"EN-US" style=3D"color:red">&nbsp=
;&nbsp;&nbsp; tcp_mask.hdr.dst_port =3D 0xffff; // only 0xffff and 0x0 work=
<o:p></o:p></span></b></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; pattern[2=
].spec =3D &amp;tcp_spec;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; pattern[2=
].mask =3D &amp;tcp_mask;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;/* t=
he final level must be always type end */<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; pattern[3=
].type =3D RTE_FLOW_ITEM_TYPE_END;<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; res =3D r=
te_flow_validate(port_id, &amp;attr, pattern, action, error);<o:p></o:p></s=
pan></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; if (!res)=
 {<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; flow =3D rte_flow_create(port_id, &amp;attr, pattern, action=
, error);<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; } else {<=
o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; LSTACK_LOG(ERR, PORT, &quot;rte_flow_create.rte_flow_validat=
e error, res %d \n&quot;, res);<o:p></o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; }<o:p></o=
:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoPlainText"><span lang=3D"EN-US">Looking forward to your favo=
urable reply.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
</div>
</body>
</html>

--_000_baf345cb9cd3493eafbb686d93ce1d55huaweicom_--