DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] using rte_flow via tespmd with Intel X552
@ 2017-04-13  1:18 Tetsuro Nakamura
  2017-04-14  9:22 ` Adrien Mazarguil
  0 siblings, 1 reply; 7+ messages in thread
From: Tetsuro Nakamura @ 2017-04-13  1:18 UTC (permalink / raw)
  To: users

Hi All,

I'm now trying to use simple L2 function with "Generic Flow API (rte_flow)"
using testpmd in dpdk-17.02,
but it doesn't work with the error below.

-----------
$sudo ./dpdk-17.02/x86_64-native-linuxapp-gcc/app/testpmd -l 0-3 -n 4 -- -i
--portmask=0x3 --nb-cores=2

testpmd> flow validate 0 ingress pattern eth / eth dst is a0:36:9f:78:30:26
/ end actions drop / end
Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88, Not
supported by L2 tunnel filter
testpmd> flow validate 0 ingress pattern eth / eth dst is a0:36:9f:78:30:26
/ end actions queue index 0 / end
Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88, Not
supported by L2 tunnel filter
-----------

I tried several other flows and got the same error.
I'm using Intel X552 NIC. The firmware-version is 0x800003e7.

-----------
$ sudo ethtool -i rename6
driver: ixgbe
version: 5.0.4
firmware-version: 0x800003e7
expansion-rom-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
-----------

My question is,
am I missing some additional settings to do ?
Should I use another firmware version ?
# DPDK 17.02 official release note says the tested firmware version was
0x800001cf.
# My version, 0x800003e7 is newer, isn't it?

I don't think the NIC does't support such simple L2 functions.
But if it doesn't, are there any documents that tell us which NIC supports
which flow rules in rte_flow?
Could you tell me what flows I can try with Intel X552 NIC?

Thank you and best regards,

Tetsuro Nakamura, NTT

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-users] using rte_flow via tespmd with Intel X552
  2017-04-13  1:18 [dpdk-users] using rte_flow via tespmd with Intel X552 Tetsuro Nakamura
@ 2017-04-14  9:22 ` Adrien Mazarguil
  0 siblings, 0 replies; 7+ messages in thread
From: Adrien Mazarguil @ 2017-04-14  9:22 UTC (permalink / raw)
  To: Tetsuro Nakamura; +Cc: users, Wenzhuo Lu

Hi Tetsuro,

On Thu, Apr 13, 2017 at 10:18:28AM +0900, Tetsuro Nakamura wrote:
> Hi All,
> 
> I'm now trying to use simple L2 function with "Generic Flow API (rte_flow)"
> using testpmd in dpdk-17.02,
> but it doesn't work with the error below.
> 
> -----------
> $sudo ./dpdk-17.02/x86_64-native-linuxapp-gcc/app/testpmd -l 0-3 -n 4 -- -i
> --portmask=0x3 --nb-cores=2
> 
> testpmd> flow validate 0 ingress pattern eth / eth dst is a0:36:9f:78:30:26
> / end actions drop / end
> Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88, Not
> supported by L2 tunnel filter
> testpmd> flow validate 0 ingress pattern eth / eth dst is a0:36:9f:78:30:26
> / end actions queue index 0 / end
> Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88, Not
> supported by L2 tunnel filter
> -----------
> 
> I tried several other flows and got the same error.
> I'm using Intel X552 NIC. The firmware-version is 0x800003e7.
> 
> -----------
> $ sudo ethtool -i rename6
> driver: ixgbe
> version: 5.0.4
> firmware-version: 0x800003e7
> expansion-rom-version:
> bus-info: 0000:03:00.0
> supports-statistics: yes
> supports-test: yes
> supports-eeprom-access: yes
> supports-register-dump: yes
> supports-priv-flags: no
> -----------
> 
> My question is,
> am I missing some additional settings to do ?
> Should I use another firmware version ?
> # DPDK 17.02 official release note says the tested firmware version was
> 0x800001cf.
> # My version, 0x800003e7 is newer, isn't it?
> 
> I don't think the NIC does't support such simple L2 functions.
> But if it doesn't, are there any documents that tell us which NIC supports
> which flow rules in rte_flow?
> Could you tell me what flows I can try with Intel X552 NIC?
> 
> Thank you and best regards,
> 
> Tetsuro Nakamura, NTT

I'm not familiar with ixgbe but this issue reminds me of this thread [1],
particularly the following comment:

 "the rte_flow_error returned was not very useful for it does return the
 error of the last tried filter-type (L2 tunnel in ixgbe), and not the error
 of the filter-type that my setup should use (flow director)"

CC'ing Wenzhuo, I think this issue is present in 17.02, has it been fixed
since?

[1] http://dpdk.org/ml/archives/dev/2017-March/059928.html

-- 
Adrien Mazarguil
6WIND

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-users] using rte_flow via tespmd with Intel X552
@ 2017-08-01 11:26 TETSURO NAKAMURA
  0 siblings, 0 replies; 7+ messages in thread
From: TETSURO NAKAMURA @ 2017-08-01 11:26 UTC (permalink / raw)
  To: wei.zhao1; +Cc: TAKADA Naoki, Satoshi NISHIYAMA, users, wenzhuo.lu

Hi Wei,
(Cc'ing Wenzhuo)

According the e-mail thread [1] below in April,
you have a document about command format when creating flow on ixgbe NICs.

Could you just upload that document to community or
could you share it via an e-mail with me ??

[1] http://dpdk.org/ml/archives/users/2017-April/001786.html

Thanks,

Tetsuro

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-users] using rte_flow via tespmd with Intel X552
  2017-04-17  3:05   ` Zhao1, Wei
@ 2017-04-17  3:43     ` Tetsuro Nakamura
  0 siblings, 0 replies; 7+ messages in thread
From: Tetsuro Nakamura @ 2017-04-17  3:43 UTC (permalink / raw)
  To: users; +Cc: Lu, Wenzhuo, Adrien Mazarguil, Zhao1, Wei

Hi All,

I understand. Then I will wait for the documentation.
Anyway, I appreciate your kind response !

Thank you,

*From:* Lu, Wenzhuo
> *Sent:* Monday, April 17, 2017 10:57 AM
> *To:* Tetsuro Nakamura <xyz1.8tn@gmail.com>; users@dpdk.org
> *Cc:* Adrien Mazarguil <adrien.mazarguil@6wind.com>; Zhao1, Wei <
> wei.zhao1@intel.com>
> *Subject:* RE: [dpdk-users] using rte_flow via tespmd with Intel X552
>
>
>
> Hi Nakamura,
>
>
>
> *From:* Tetsuro Nakamura [mailto:xyz1.8tn@gmail.com <xyz1.8tn@gmail.com>]
> *Sent:* Monday, April 17, 2017 10:36 AM
> *To:* users@dpdk.org
> *Cc:* Adrien Mazarguil; Zhao1, Wei; Lu, Wenzhuo
> *Subject:* Re: [dpdk-users] using rte_flow via tespmd with Intel X552
>
>
>
> Dear Adrien and Wenzhuo,
>
>
>
> Thank you very much for your kind reply.
>
> I tried flow_director_filter API directly using testpmd with the same
> environment.
>
> So let me add more information.
>
>
>
> - Using pktgen-3.0.13, I prepared 2 flows whose dst-Macs are
>  0c:c4:7a:cf:66:11 and 0c:c4:7a:cf:66:12 respectively.
>
> ```
>
> Pktgen> set 0 seqCnt 2
>
> Pktgen> seq 0 0 0c:c4:7a:cf:66:11 0c:c4:7a:cf:66:01 192.168.1.1
> 192.168.0.1/24 1234 5678 ipv4 udp 1 64
>
> Pktgen> seq 0 0 0c:c4:7a:cf:66:12 0c:c4:7a:cf:66:02 192.168.1.1
> 192.168.0.1/24 1234 5678 ipv4 udp 1 64
>
> Pktgen> start 0
>
> ```
>
>
>
> - Then I started testpmd with options of "--rxq=2 --txq=2" and
> "--pkt-filter-mode=perfect-mac-vlan".
>
> - No error had occurred when configuring flow_director_filter.
>
> - When started, all packets were received in Pktgen.
>
> ```
>
> $sudo ./dpdk-17.04/x86_64-native-linuxapp-gcc/app/testpmd -l 0-4 -n 4 --
> -i --portmask=0x3 --nb-cores=4 --rxq=2 --txq=2
> --pkt-filter-mode=perfect-mac-vlan
>
>
>
> testpmd> flow_director_filter 0 mode MAC-VLAN add mac 0c:c4:7a:cf:66:11
> vlan 1 flexbytes (0x80,0x00) fwd queue 0 fd_id 1
>
> testpmd> flow_director_filter 0 mode MAC-VLAN add mac 0c:c4:7a:cf:66:12
> vlan 1 flexbytes (0x80,0x00) fwd queue 1 fd_id 2
>
> testpmd> start
>
> ```
>
>
>
> - When queue 0 was stopped, no packet was received in Pktgen.
>
> ```
>
> testpmd> stop
>
> testpmd> port 0 rxq 0 stop
>
> testpmd> start
>
> ```
>
>
>
> - When queue 1 was stopped, all packets were received in Pktgen.
>
> ```
>
> testpmd> stop
>
> testpmd> port 0 rxq 0 start
>
> testpmd> port 0 rxq 1 stop
>
> testpmd> start
>
> ```
>
>
>
> - which (I guess) mean the flow is not supported as you said.
>
> - The mac argument in flow_director_filter is dst-Mac, right?
>
> [Wenzhuo] Yes. It’s dst-mac. It’s the benefit of generic flow API. Using
> generic API  users do know what fields the input are. But the original one,
> users have to check the comments and docs J
>
>
>
> 2017-04-17 9:55 GMT+09:00 Lu, Wenzhuo <wenzhuo.lu@intel.com>:
>
> Hi,
>
> > -----Original Message-----
> > From: Adrien Mazarguil [mailto:adrien.mazarguil@6wind.com]
> > Sent: Friday, April 14, 2017 5:22 PM
> > To: Tetsuro Nakamura
> > Cc: users@dpdk.org; Lu, Wenzhuo
> > Subject: Re: [dpdk-users] using rte_flow via tespmd with Intel X552
> >
> > Hi Tetsuro,
> >
> > On Thu, Apr 13, 2017 at 10:18:28AM +0900, Tetsuro Nakamura wrote:
> > > Hi All,
> > >
> > > I'm now trying to use simple L2 function with "Generic Flow API
> (rte_flow)"
> > > using testpmd in dpdk-17.02,
> > > but it doesn't work with the error below.
> > >
> > > -----------
> > > $sudo ./dpdk-17.02/x86_64-native-linuxapp-gcc/app/testpmd -l 0-3 -n 4
> > > -- -i
> > > --portmask=0x3 --nb-cores=2
> > >
> > > testpmd> flow validate 0 ingress pattern eth / eth dst is
> > > testpmd> a0:36:9f:78:30:26
> > > / end actions drop / end
> > > Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88,
> > > Not supported by L2 tunnel filter
> > > testpmd> flow validate 0 ingress pattern eth / eth dst is
> > > testpmd> a0:36:9f:78:30:26
>
> > > / end actions queue index 0 / end
> > > Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88,
> > > Not supported by L2 tunnel filter
> > > -----------
> > >
> > > I tried several other flows and got the same error.
> > > I'm using Intel X552 NIC. The firmware-version is 0x800003e7.
> > >
> > > -----------
> > > $ sudo ethtool -i rename6
> > > driver: ixgbe
> > > version: 5.0.4
> > > firmware-version: 0x800003e7
> > > expansion-rom-version:
> > > bus-info: 0000:03:00.0
> > > supports-statistics: yes
> > > supports-test: yes
> > > supports-eeprom-access: yes
> > > supports-register-dump: yes
> > > supports-priv-flags: no
> > > -----------
> > >
> > > My question is,
> > > am I missing some additional settings to do ?
> > > Should I use another firmware version ?
> > > # DPDK 17.02 official release note says the tested firmware version
> > > was 0x800001cf.
> > > # My version, 0x800003e7 is newer, isn't it?
> > >
> > > I don't think the NIC does't support such simple L2 functions.
> > > But if it doesn't, are there any documents that tell us which NIC
> > > supports which flow rules in rte_flow?
> > > Could you tell me what flows I can try with Intel X552 NIC?
> > >
> > > Thank you and best regards,
> > >
> > > Tetsuro Nakamura, NTT
> >
> > I'm not familiar with ixgbe but this issue reminds me of this thread [1],
> > particularly the following comment:
> >
> >  "the rte_flow_error returned was not very useful for it does return the
> > error of the last tried filter-type (L2 tunnel in ixgbe), and not the
> error  of the
> > filter-type that my setup should use (flow director)"
> >
> > CC'ing Wenzhuo, I think this issue is present in 17.02, has it been
> fixed since?
> >
> > [1] http://dpdk.org/ml/archives/dev/2017-March/059928.html
>
> +Wei
> About the previous discussion, Wei has sent the patch to remove the tpid
> in ixgbe. But no improvement of error message yet as I know.
>
> I think this flow is not supported. Generic flow API is flexible enough,
> but not every flow can be supported. The flow is supported or not has
> nothing to do with if it's simple. It's limited to HW capability. Wei, do
> you have some doc to shared or even has uploaded to the community? Thanks.
>
> >
> > --
> > Adrien Mazarguil
> > 6WIND
>
>
>
>
>
> We have a document about command format when creating flow,  but has not
> been publicly upload to community.
>
> I will add a new chapter for this in doc\guides\nics\ixgbe.rst later,
> which is about command format when creating flow.
>
> A specific patch will be send to community later.
>
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-users] using rte_flow via tespmd with Intel X552
  2017-04-17  2:56 ` Lu, Wenzhuo
@ 2017-04-17  3:05   ` Zhao1, Wei
  2017-04-17  3:43     ` Tetsuro Nakamura
  0 siblings, 1 reply; 7+ messages in thread
From: Zhao1, Wei @ 2017-04-17  3:05 UTC (permalink / raw)
  To: Lu, Wenzhuo, Tetsuro Nakamura, users; +Cc: Adrien Mazarguil

Hi

From: Lu, Wenzhuo
Sent: Monday, April 17, 2017 10:57 AM
To: Tetsuro Nakamura <xyz1.8tn@gmail.com>; users@dpdk.org
Cc: Adrien Mazarguil <adrien.mazarguil@6wind.com>; Zhao1, Wei <wei.zhao1@intel.com>
Subject: RE: [dpdk-users] using rte_flow via tespmd with Intel X552

Hi Nakamura,

From: Tetsuro Nakamura [mailto:xyz1.8tn@gmail.com]
Sent: Monday, April 17, 2017 10:36 AM
To: users@dpdk.org<mailto:users@dpdk.org>
Cc: Adrien Mazarguil; Zhao1, Wei; Lu, Wenzhuo
Subject: Re: [dpdk-users] using rte_flow via tespmd with Intel X552

Dear Adrien and Wenzhuo,

Thank you very much for your kind reply.
I tried flow_director_filter API directly using testpmd with the same environment.
So let me add more information.

- Using pktgen-3.0.13, I prepared 2 flows whose dst-Macs are  0c:c4:7a:cf:66:11 and 0c:c4:7a:cf:66:12 respectively.
```
Pktgen> set 0 seqCnt 2 
Pktgen> seq 0 0 0c:c4:7a:cf:66:11 0c:c4:7a:cf:66:01 192.168.1.1 192.168.0.1/24<http://192.168.0.1/24> 1234 5678 ipv4 udp 1 64
Pktgen> seq 0 0 0c:c4:7a:cf:66:12 0c:c4:7a:cf:66:02 192.168.1.1 192.168.0.1/24<http://192.168.0.1/24> 1234 5678 ipv4 udp 1 64
Pktgen> start 0
```

- Then I started testpmd with options of "--rxq=2 --txq=2" and "--pkt-filter-mode=perfect-mac-vlan".
- No error had occurred when configuring flow_director_filter.
- When started, all packets were received in Pktgen.
```
$sudo ./dpdk-17.04/x86_64-native-linuxapp-gcc/app/testpmd -l 0-4 -n 4 -- -i --portmask=0x3 --nb-cores=4 --rxq=2 --txq=2 --pkt-filter-mode=perfect-mac-vlan

testpmd> flow_director_filter 0 mode MAC-VLAN add mac 0c:c4:7a:cf:66:11 vlan 1 flexbytes (0x80,0x00) fwd queue 0 fd_id 1
testpmd> flow_director_filter 0 mode MAC-VLAN add mac 0c:c4:7a:cf:66:12 vlan 1 flexbytes (0x80,0x00) fwd queue 1 fd_id 2
testpmd> start
```

- When queue 0 was stopped, no packet was received in Pktgen.
```
testpmd> stop
testpmd> port 0 rxq 0 stop
testpmd> start
```

- When queue 1 was stopped, all packets were received in Pktgen.
```
testpmd> stop
testpmd> port 0 rxq 0 start
testpmd> port 0 rxq 1 stop
testpmd> start
```

- which (I guess) mean the flow is not supported as you said.
- The mac argument in flow_director_filter is dst-Mac, right?
[Wenzhuo] Yes. It’s dst-mac. It’s the benefit of generic flow API. Using generic API  users do know what fields the input are. But the original one, users have to check the comments and docs ☺

2017-04-17 9:55 GMT+09:00 Lu, Wenzhuo <wenzhuo.lu@intel.com<mailto:wenzhuo.lu@intel.com>>:
Hi,

> -----Original Message-----
> From: Adrien Mazarguil [mailto:adrien.mazarguil@6wind.com<mailto:adrien.mazarguil@6wind.com>]
> Sent: Friday, April 14, 2017 5:22 PM
> To: Tetsuro Nakamura
> Cc: users@dpdk.org<mailto:users@dpdk.org>; Lu, Wenzhuo
> Subject: Re: [dpdk-users] using rte_flow via tespmd with Intel X552
>
> Hi Tetsuro,
>
> On Thu, Apr 13, 2017 at 10:18:28AM +0900, Tetsuro Nakamura wrote:
> > Hi All,
> >
> > I'm now trying to use simple L2 function with "Generic Flow API (rte_flow)"
> > using testpmd in dpdk-17.02,
> > but it doesn't work with the error below.
> >
> > -----------
> > $sudo ./dpdk-17.02/x86_64-native-linuxapp-gcc/app/testpmd -l 0-3 -n 4
> > -- -i
> > --portmask=0x3 --nb-cores=2
> >
> > testpmd> flow validate 0 ingress pattern eth / eth dst is
> > testpmd> a0:36:9f:78:30:26
> > / end actions drop / end
> > Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88,
> > Not supported by L2 tunnel filter
> > testpmd> flow validate 0 ingress pattern eth / eth dst is
> > testpmd> a0:36:9f:78:30:26
> > / end actions queue index 0 / end
> > Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88,
> > Not supported by L2 tunnel filter
> > -----------
> >
> > I tried several other flows and got the same error.
> > I'm using Intel X552 NIC. The firmware-version is 0x800003e7.
> >
> > -----------
> > $ sudo ethtool -i rename6
> > driver: ixgbe
> > version: 5.0.4
> > firmware-version: 0x800003e7
> > expansion-rom-version:
> > bus-info: 0000:03:00.0
> > supports-statistics: yes
> > supports-test: yes
> > supports-eeprom-access: yes
> > supports-register-dump: yes
> > supports-priv-flags: no
> > -----------
> >
> > My question is,
> > am I missing some additional settings to do ?
> > Should I use another firmware version ?
> > # DPDK 17.02 official release note says the tested firmware version
> > was 0x800001cf.
> > # My version, 0x800003e7 is newer, isn't it?
> >
> > I don't think the NIC does't support such simple L2 functions.
> > But if it doesn't, are there any documents that tell us which NIC
> > supports which flow rules in rte_flow?
> > Could you tell me what flows I can try with Intel X552 NIC?
> >
> > Thank you and best regards,
> >
> > Tetsuro Nakamura, NTT
>
> I'm not familiar with ixgbe but this issue reminds me of this thread [1],
> particularly the following comment:
>
>  "the rte_flow_error returned was not very useful for it does return the
> error of the last tried filter-type (L2 tunnel in ixgbe), and not the error  of the
> filter-type that my setup should use (flow director)"
>
> CC'ing Wenzhuo, I think this issue is present in 17.02, has it been fixed since?
>
> [1] http://dpdk.org/ml/archives/dev/2017-March/059928.html
+Wei
About the previous discussion, Wei has sent the patch to remove the tpid in ixgbe. But no improvement of error message yet as I know.

I think this flow is not supported. Generic flow API is flexible enough, but not every flow can be supported. The flow is supported or not has nothing to do with if it's simple. It's limited to HW capability. Wei, do you have some doc to shared or even has uploaded to the community? Thanks.

>
> --
> Adrien Mazarguil
> 6WIND





We have a document about command format when creating flow,  but has not been publicly upload to community.

I will add a new chapter for this in doc\guides\nics\ixgbe.rst later, which is about command format when creating flow.

A specific patch will be send to community later.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-users] using rte_flow via tespmd with Intel X552
  2017-04-17  2:36 Tetsuro Nakamura
@ 2017-04-17  2:56 ` Lu, Wenzhuo
  2017-04-17  3:05   ` Zhao1, Wei
  0 siblings, 1 reply; 7+ messages in thread
From: Lu, Wenzhuo @ 2017-04-17  2:56 UTC (permalink / raw)
  To: Tetsuro Nakamura, users; +Cc: Adrien Mazarguil, Zhao1, Wei

Hi Nakamura,

From: Tetsuro Nakamura [mailto:xyz1.8tn@gmail.com]
Sent: Monday, April 17, 2017 10:36 AM
To: users@dpdk.org
Cc: Adrien Mazarguil; Zhao1, Wei; Lu, Wenzhuo
Subject: Re: [dpdk-users] using rte_flow via tespmd with Intel X552

Dear Adrien and Wenzhuo,

Thank you very much for your kind reply.
I tried flow_director_filter API directly using testpmd with the same environment.
So let me add more information.

- Using pktgen-3.0.13, I prepared 2 flows whose dst-Macs are  0c:c4:7a:cf:66:11 and 0c:c4:7a:cf:66:12 respectively.
```
Pktgen> set 0 seqCnt 2 
Pktgen> seq 0 0 0c:c4:7a:cf:66:11 0c:c4:7a:cf:66:01 192.168.1.1 192.168.0.1/24<http://192.168.0.1/24> 1234 5678 ipv4 udp 1 64
Pktgen> seq 0 0 0c:c4:7a:cf:66:12 0c:c4:7a:cf:66:02 192.168.1.1 192.168.0.1/24<http://192.168.0.1/24> 1234 5678 ipv4 udp 1 64
Pktgen> start 0
```

- Then I started testpmd with options of "--rxq=2 --txq=2" and "--pkt-filter-mode=perfect-mac-vlan".
- No error had occurred when configuring flow_director_filter.
- When started, all packets were received in Pktgen.
```
$sudo ./dpdk-17.04/x86_64-native-linuxapp-gcc/app/testpmd -l 0-4 -n 4 -- -i --portmask=0x3 --nb-cores=4 --rxq=2 --txq=2 --pkt-filter-mode=perfect-mac-vlan

testpmd> flow_director_filter 0 mode MAC-VLAN add mac 0c:c4:7a:cf:66:11 vlan 1 flexbytes (0x80,0x00) fwd queue 0 fd_id 1
testpmd> flow_director_filter 0 mode MAC-VLAN add mac 0c:c4:7a:cf:66:12 vlan 1 flexbytes (0x80,0x00) fwd queue 1 fd_id 2
testpmd> start
```

- When queue 0 was stopped, no packet was received in Pktgen.
```
testpmd> stop
testpmd> port 0 rxq 0 stop
testpmd> start
```

- When queue 1 was stopped, all packets were received in Pktgen.
```
testpmd> stop
testpmd> port 0 rxq 0 start
testpmd> port 0 rxq 1 stop
testpmd> start
```

- which (I guess) mean the flow is not supported as you said.
- The mac argument in flow_director_filter is dst-Mac, right?
[Wenzhuo] Yes. It’s dst-mac. It’s the benefit of generic flow API. Using generic API  users do know what fields the input are. But the original one, users have to check the comments and docs ☺

2017-04-17 9:55 GMT+09:00 Lu, Wenzhuo <wenzhuo.lu@intel.com<mailto:wenzhuo.lu@intel.com>>:
Hi,

> -----Original Message-----
> From: Adrien Mazarguil [mailto:adrien.mazarguil@6wind.com<mailto:adrien.mazarguil@6wind.com>]
> Sent: Friday, April 14, 2017 5:22 PM
> To: Tetsuro Nakamura
> Cc: users@dpdk.org<mailto:users@dpdk.org>; Lu, Wenzhuo
> Subject: Re: [dpdk-users] using rte_flow via tespmd with Intel X552
>
> Hi Tetsuro,
>
> On Thu, Apr 13, 2017 at 10:18:28AM +0900, Tetsuro Nakamura wrote:
> > Hi All,
> >
> > I'm now trying to use simple L2 function with "Generic Flow API (rte_flow)"
> > using testpmd in dpdk-17.02,
> > but it doesn't work with the error below.
> >
> > -----------
> > $sudo ./dpdk-17.02/x86_64-native-linuxapp-gcc/app/testpmd -l 0-3 -n 4
> > -- -i
> > --portmask=0x3 --nb-cores=2
> >
> > testpmd> flow validate 0 ingress pattern eth / eth dst is
> > testpmd> a0:36:9f:78:30:26
> > / end actions drop / end
> > Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88,
> > Not supported by L2 tunnel filter
> > testpmd> flow validate 0 ingress pattern eth / eth dst is
> > testpmd> a0:36:9f:78:30:26
> > / end actions queue index 0 / end
> > Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88,
> > Not supported by L2 tunnel filter
> > -----------
> >
> > I tried several other flows and got the same error.
> > I'm using Intel X552 NIC. The firmware-version is 0x800003e7.
> >
> > -----------
> > $ sudo ethtool -i rename6
> > driver: ixgbe
> > version: 5.0.4
> > firmware-version: 0x800003e7
> > expansion-rom-version:
> > bus-info: 0000:03:00.0
> > supports-statistics: yes
> > supports-test: yes
> > supports-eeprom-access: yes
> > supports-register-dump: yes
> > supports-priv-flags: no
> > -----------
> >
> > My question is,
> > am I missing some additional settings to do ?
> > Should I use another firmware version ?
> > # DPDK 17.02 official release note says the tested firmware version
> > was 0x800001cf.
> > # My version, 0x800003e7 is newer, isn't it?
> >
> > I don't think the NIC does't support such simple L2 functions.
> > But if it doesn't, are there any documents that tell us which NIC
> > supports which flow rules in rte_flow?
> > Could you tell me what flows I can try with Intel X552 NIC?
> >
> > Thank you and best regards,
> >
> > Tetsuro Nakamura, NTT
>
> I'm not familiar with ixgbe but this issue reminds me of this thread [1],
> particularly the following comment:
>
>  "the rte_flow_error returned was not very useful for it does return the
> error of the last tried filter-type (L2 tunnel in ixgbe), and not the error  of the
> filter-type that my setup should use (flow director)"
>
> CC'ing Wenzhuo, I think this issue is present in 17.02, has it been fixed since?
>
> [1] http://dpdk.org/ml/archives/dev/2017-March/059928.html
+Wei
About the previous discussion, Wei has sent the patch to remove the tpid in ixgbe. But no improvement of error message yet as I know.

I think this flow is not supported. Generic flow API is flexible enough, but not every flow can be supported. The flow is supported or not has nothing to do with if it's simple. It's limited to HW capability. Wei, do you have some doc to shared or even has uploaded to the community? Thanks.

>
> --
> Adrien Mazarguil
> 6WIND


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [dpdk-users] using rte_flow via tespmd with Intel X552
@ 2017-04-17  2:36 Tetsuro Nakamura
  2017-04-17  2:56 ` Lu, Wenzhuo
  0 siblings, 1 reply; 7+ messages in thread
From: Tetsuro Nakamura @ 2017-04-17  2:36 UTC (permalink / raw)
  To: users; +Cc: Adrien Mazarguil, Zhao1, Wei, Lu, Wenzhuo

Dear Adrien and Wenzhuo,

Thank you very much for your kind reply.
I tried flow_director_filter API directly using testpmd with the same
environment.
So let me add more information.

- Using pktgen-3.0.13, I prepared 2 flows whose dst-Macs are
 0c:c4:7a:cf:66:11 and 0c:c4:7a:cf:66:12 respectively.
```
Pktgen> set 0 seqCnt 2
Pktgen> seq 0 0 0c:c4:7a:cf:66:11 0c:c4:7a:cf:66:01 192.168.1.1
192.168.0.1/24 1234 5678 ipv4 udp 1 64
Pktgen> seq 0 0 0c:c4:7a:cf:66:12 0c:c4:7a:cf:66:02 192.168.1.1
192.168.0.1/24 1234 5678 ipv4 udp 1 64
Pktgen> start 0
```

- Then I started testpmd with options of "--rxq=2 --txq=2" and
"--pkt-filter-mode=perfect-mac-vlan".
- No error had occurred when configuring flow_director_filter.
- When started, all packets were received in Pktgen.
```
$sudo ./dpdk-17.04/x86_64-native-linuxapp-gcc/app/testpmd -l 0-4 -n 4 -- -i
--portmask=0x3 --nb-cores=4 --rxq=2 --txq=2
--pkt-filter-mode=perfect-mac-vlan

testpmd> flow_director_filter 0 mode MAC-VLAN add mac 0c:c4:7a:cf:66:11
vlan 1 flexbytes (0x80,0x00) fwd queue 0 fd_id 1
testpmd> flow_director_filter 0 mode MAC-VLAN add mac 0c:c4:7a:cf:66:12
vlan 1 flexbytes (0x80,0x00) fwd queue 1 fd_id 2
testpmd> start
```

- When queue 0 was stopped, no packet was received in Pktgen.
```
testpmd> stop
testpmd> port 0 rxq 0 stop
testpmd> start
```

- When queue 1 was stopped, all packets were received in Pktgen.
```
testpmd> stop
testpmd> port 0 rxq 0 start
testpmd> port 0 rxq 1 stop
testpmd> start
```

- which (I guess) mean the flow is not supported as you said.
- The mac argument in flow_director_filter is dst-Mac, right?

2017-04-17 9:55 GMT+09:00 Lu, Wenzhuo <wenzhuo.lu@intel.com>:

> Hi,
>
> > -----Original Message-----
> > From: Adrien Mazarguil [mailto:adrien.mazarguil@6wind.com]
> > Sent: Friday, April 14, 2017 5:22 PM
> > To: Tetsuro Nakamura
> > Cc: users@dpdk.org; Lu, Wenzhuo
> > Subject: Re: [dpdk-users] using rte_flow via tespmd with Intel X552
> >
> > Hi Tetsuro,
> >
> > On Thu, Apr 13, 2017 at 10:18:28AM +0900, Tetsuro Nakamura wrote:
> > > Hi All,
> > >
> > > I'm now trying to use simple L2 function with "Generic Flow API
> (rte_flow)"
> > > using testpmd in dpdk-17.02,
> > > but it doesn't work with the error below.
> > >
> > > -----------
> > > $sudo ./dpdk-17.02/x86_64-native-linuxapp-gcc/app/testpmd -l 0-3 -n 4
> > > -- -i
> > > --portmask=0x3 --nb-cores=2
> > >
> > > testpmd> flow validate 0 ingress pattern eth / eth dst is
> > > testpmd> a0:36:9f:78:30:26
> > > / end actions drop / end
> > > Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88,
> > > Not supported by L2 tunnel filter
> > > testpmd> flow validate 0 ingress pattern eth / eth dst is
> > > testpmd> a0:36:9f:78:30:26
> > > / end actions queue index 0 / end
> > > Caught error type 9 (specific pattern item): cause: 0x7ffd225adc88,
> > > Not supported by L2 tunnel filter
> > > -----------
> > >
> > > I tried several other flows and got the same error.
> > > I'm using Intel X552 NIC. The firmware-version is 0x800003e7.
> > >
> > > -----------
> > > $ sudo ethtool -i rename6
> > > driver: ixgbe
> > > version: 5.0.4
> > > firmware-version: 0x800003e7
> > > expansion-rom-version:
> > > bus-info: 0000:03:00.0
> > > supports-statistics: yes
> > > supports-test: yes
> > > supports-eeprom-access: yes
> > > supports-register-dump: yes
> > > supports-priv-flags: no
> > > -----------
> > >
> > > My question is,
> > > am I missing some additional settings to do ?
> > > Should I use another firmware version ?
> > > # DPDK 17.02 official release note says the tested firmware version
> > > was 0x800001cf.
> > > # My version, 0x800003e7 is newer, isn't it?
> > >
> > > I don't think the NIC does't support such simple L2 functions.
> > > But if it doesn't, are there any documents that tell us which NIC
> > > supports which flow rules in rte_flow?
> > > Could you tell me what flows I can try with Intel X552 NIC?
> > >
> > > Thank you and best regards,
> > >
> > > Tetsuro Nakamura, NTT
> >
> > I'm not familiar with ixgbe but this issue reminds me of this thread [1],
> > particularly the following comment:
> >
> >  "the rte_flow_error returned was not very useful for it does return the
> > error of the last tried filter-type (L2 tunnel in ixgbe), and not the
> error  of the
> > filter-type that my setup should use (flow director)"
> >
> > CC'ing Wenzhuo, I think this issue is present in 17.02, has it been
> fixed since?
> >
> > [1] http://dpdk.org/ml/archives/dev/2017-March/059928.html
> +Wei
> About the previous discussion, Wei has sent the patch to remove the tpid
> in ixgbe. But no improvement of error message yet as I know.
>
> I think this flow is not supported. Generic flow API is flexible enough,
> but not every flow can be supported. The flow is supported or not has
> nothing to do with if it's simple. It's limited to HW capability. Wei, do
> you have some doc to shared or even has uploaded to the community? Thanks.
>
> >
> > --
> > Adrien Mazarguil
> > 6WIND
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-08-01 11:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-13  1:18 [dpdk-users] using rte_flow via tespmd with Intel X552 Tetsuro Nakamura
2017-04-14  9:22 ` Adrien Mazarguil
2017-04-17  2:36 Tetsuro Nakamura
2017-04-17  2:56 ` Lu, Wenzhuo
2017-04-17  3:05   ` Zhao1, Wei
2017-04-17  3:43     ` Tetsuro Nakamura
2017-08-01 11:26 TETSURO NAKAMURA

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).