DPDK usage discussions
 help / color / mirror / Atom feed
From: "Zhao1, Wei" <wei.zhao1@intel.com>
To: "Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	Tetsuro Nakamura <xyz1.8tn@gmail.com>,
	"users@dpdk.org" <users@dpdk.org>
Cc: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Subject: Re: [dpdk-users] using rte_flow via tespmd with Intel X552
Date: Mon, 17 Apr 2017 03:05:27 +0000	[thread overview]
Message-ID: <A2573D2ACFCADC41BB3BE09C6DE313CA0207F269@PGSMSX103.gar.corp.intel.com> (raw)
In-Reply-To: <6A0DE07E22DDAD4C9103DF62FEBC09093B599819@shsmsx102.ccr.corp.intel.com>

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.


  reply	other threads:[~2017-04-17  3:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-17  2:36 Tetsuro Nakamura
2017-04-17  2:56 ` Lu, Wenzhuo
2017-04-17  3:05   ` Zhao1, Wei [this message]
2017-04-17  3:43     ` Tetsuro Nakamura
  -- strict thread matches above, loose matches on Subject: below --
2017-08-01 11:26 TETSURO NAKAMURA
2017-04-13  1:18 Tetsuro Nakamura
2017-04-14  9:22 ` Adrien Mazarguil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=A2573D2ACFCADC41BB3BE09C6DE313CA0207F269@PGSMSX103.gar.corp.intel.com \
    --to=wei.zhao1@intel.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=users@dpdk.org \
    --cc=wenzhuo.lu@intel.com \
    --cc=xyz1.8tn@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).