[dpdk-dev] flow director on X550

2016-05-26 Thread Lu, Wenzhuo
Hi Nishant,

From: Nishant Verma [mailto:vnis...@gmail.com]
Sent: Thursday, May 26, 2016 11:40 AM
To: Lu, Wenzhuo
Cc: dev at dpdk.org
Subject: Re: [dpdk-dev] flow director on X550

Hi Wenzhuo,
Thanks for the reply.

?As par datasheet, if flow director filter matches then RSS won't impact as RSS 
is the last filter to be applied on received packet.

But just to confirm, i tried and still issue persist. Any other thing that you 
think i can try, please let me know.
[Wenzhuo] After checking the code, according to our implementation you cannot 
mask all the L4 ports if you want to direct the L4 packets. With all the ports 
masked, flow director only handles the raw IP packets. It means UDP/TCP/SCTP 
packets will not be handled.  There?s a workaround. You can change the dest 
port mask to 0x01 (or src port if you like). And add 2 filters, one for dest IP 
66.66.66.66 + dest port 0, the other for dest IP 66.66.66.66 + dest port 1.
Thanks.

On Wed, May 25, 2016 at 8:52 PM, Lu, Wenzhuo mailto:wenzhuo.lu at intel.com>> wrote:
Hi Nishant,

> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org<mailto:dev-bounces at dpdk.org>] On 
> Behalf Of Nishant Verma
> Sent: Thursday, May 26, 2016 4:08 AM
> To: dev at dpdk.org<mailto:dev at dpdk.org>
> Subject: [dpdk-dev] flow director on X550
>
> Hi All,
>
> My system configuration is
> ==>#. SuperMicro 1U
>- BIOS: 1.0a
>- Processor: Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
>- Onboard NIC: Intel(R) X552/X557-AT (2x10G)
>  - Firmware-version: 0x81cf
>  - Device ID (PF/VF): 8086:15ad /8086:15a8
>- kernel driver version: 4.2.5 (ixgbe)
>
> I am working on DPDK 16.04 & pktgen 3.0.0 version.
>
>
> My intention is to test flow director based on just destination IP. It means, 
> i will
> use test-pmd and configure flow director and fdir mask, from pktgen i will 
> send
> packet and check if packets are going to right queue or not.
>
> Here is the procedure, that i follow.
>
> 1. I run testpmd
> * ./testpmd -c 0x -n 4 -- -i  --portmask=0x3 --nb-cores=5 
> --disable-link-check
> --rxq=5 --txq=5  --pkt-filter-mode=perfect*
We need add the parameter *--disable-rss* to avoid the impact of RSS.



--
Rgds,
Nishant





[dpdk-dev] flow director on X550

2016-05-26 Thread Lu, Wenzhuo
Hi Nishant,

> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Nishant Verma
> Sent: Thursday, May 26, 2016 4:08 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] flow director on X550
> 
> Hi All,
> 
> My system configuration is
> ==>#. SuperMicro 1U
>- BIOS: 1.0a
>- Processor: Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
>- Onboard NIC: Intel(R) X552/X557-AT (2x10G)
>  - Firmware-version: 0x81cf
>  - Device ID (PF/VF): 8086:15ad /8086:15a8
>- kernel driver version: 4.2.5 (ixgbe)
> 
> I am working on DPDK 16.04 & pktgen 3.0.0 version.
> 
> 
> My intention is to test flow director based on just destination IP. It means, 
> i will
> use test-pmd and configure flow director and fdir mask, from pktgen i will 
> send
> packet and check if packets are going to right queue or not.
> 
> Here is the procedure, that i follow.
> 
> 1. I run testpmd
> * ./testpmd -c 0x -n 4 -- -i  --portmask=0x3 --nb-cores=5 
> --disable-link-check
> --rxq=5 --txq=5  --pkt-filter-mode=perfect*
We need add the parameter *--disable-rss* to avoid the impact of RSS.


[dpdk-dev] flow director on X550

2016-05-25 Thread Nishant Verma
Hi Wenzhuo,

Thanks for the reply.

?As par datasheet, if flow director filter matches then RSS won't impact as
RSS is the last filter to be applied on received packet.

But just to confirm, i tried and still issue persist. Any other thing that
you think i can try, please let me know.

Thanks.

On Wed, May 25, 2016 at 8:52 PM, Lu, Wenzhuo  wrote:

> Hi Nishant,
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Nishant Verma
> > Sent: Thursday, May 26, 2016 4:08 AM
> > To: dev at dpdk.org
> > Subject: [dpdk-dev] flow director on X550
> >
> > Hi All,
> >
> > My system configuration is
> > ==>#. SuperMicro 1U
> >- BIOS: 1.0a
> >- Processor: Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
> >- Onboard NIC: Intel(R) X552/X557-AT (2x10G)
> >  - Firmware-version: 0x81cf
> >  - Device ID (PF/VF): 8086:15ad /8086:15a8
> >- kernel driver version: 4.2.5 (ixgbe)
> >
> > I am working on DPDK 16.04 & pktgen 3.0.0 version.
> >
> >
> > My intention is to test flow director based on just destination IP. It
> means, i will
> > use test-pmd and configure flow director and fdir mask, from pktgen i
> will send
> > packet and check if packets are going to right queue or not.
> >
> > Here is the procedure, that i follow.
> >
> > 1. I run testpmd
> > * ./testpmd -c 0x -n 4 -- -i  --portmask=0x3 --nb-cores=5
> --disable-link-check
> > --rxq=5 --txq=5  --pkt-filter-mode=perfect*
> We need add the parameter *--disable-rss* to avoid the impact of RSS.
>



-- 
Rgds,
Nishant


[dpdk-dev] flow director on X550

2016-05-25 Thread Nishant Verma
Hi All,

My system configuration is
==>#. SuperMicro 1U
   - BIOS: 1.0a
   - Processor: Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
   - Onboard NIC: Intel(R) X552/X557-AT (2x10G)
 - Firmware-version: 0x81cf
 - Device ID (PF/VF): 8086:15ad /8086:15a8
   - kernel driver version: 4.2.5 (ixgbe)

I am working on DPDK 16.04 & pktgen 3.0.0 version.


My intention is to test flow director based on just destination IP. It
means, i will use test-pmd and configure flow director and fdir mask, from
pktgen i will send packet and check if packets are going to right queue or
not.

Here is the procedure, that i follow.

1. I run testpmd
* ./testpmd -c 0x -n 4 -- -i  --portmask=0x3 --nb-cores=5
--disable-link-check  --rxq=5 --txq=5  --pkt-filter-mode=perfect*

2. executed command "*port stop all*"

3. After that added fdir mask
*flow_director_mask 0 mode IP vlan 0 src_mask 0.0.0.0 0:0:0:0:0:0:0:0 0x00
dst_mask 255.255.255.255 0:0:0:0:0:0:0:0 0x00*

4. Again executed command "*port start all*"

5. Now i added flow director filter.
*flow_director_filter 0 mode IP add flow ipv4-udp  src 0.0.0.0  dst
66.66.66.66  tos 0x00 ttl 0x00 vlan 0 flexbytes (0x00,0x00) fwd pf
queue 4 fd_id 4*

6. after that "*start*"

---
7. On Pktgen side i just change destination Address  to *66.66.66.66*,
protocol to *UDP* and issue command start 0.
---
Result
8.  But instead of packet to queue 4, packets are going to queue 0.
"
testpmd> *start*
  io packet forwarding - CRC stripping disabled - packets/burst=32
  nb forwarding cores=5 - nb forwarding ports=2
  RX queues=5 - RX desc=128 - RX free threshold=32
  RX threshold registers: pthresh=8 hthresh=8 wthresh=0
  TX queues=5 - TX desc=512 - TX free threshold=32
  TX threshold registers: pthresh=32 hthresh=0 wthresh=0
  TX RS bit threshold=32 - TXQ flags=0xf01
testpmd> stop
Telling cores to stop...
Waiting for lcores to finish...

  --- Forward Stats for *RX Port= 0/Queue= 0 *-> TX Port= 1/Queue= 0
---
  RX-packets: 14094137   TX-packets: 14094137   TX-dropped: 0
  -- Forward statistics for port 0
--
  RX-packets: 14094137   RX-dropped: 258361RX-total: 14352498
  TX-packets: 0  TX-dropped: 0 TX-total: 0



  -- Forward statistics for port 1
--
  RX-packets: 127RX-dropped: 6162236   RX-total: 6162363
  TX-packets: 14094137   TX-dropped: 0 TX-total: 14094137



  +++ Accumulated forward statistics for all
ports+++
  RX-packets: 14094264   RX-dropped: 6420597   RX-total: 20514861
  TX-packets: 14094137   TX-dropped: 0 TX-total: 14094137



Done.
testpmd>
"

I am sharing my port and flow dir info also

"
testpmd> *show port info 0*

* Infos for port 0  *
MAC address: 0C:C4:7A:73:EF:14
Connect to socket: 0
memory allocation on the socket: 0
Link status: up
Link speed: 1 Mbps
Link duplex: full-duplex
Promiscuous mode: enabled
Allmulticast mode: disabled
Maximum number of MAC addresses: 128
Maximum number of MAC addresses of hash filtering: 4096
VLAN offload:
  strip on
  filter on
  qinq(extend) off
Hash key size in bytes: 40
Redirection table size: 512
Supported flow types:
  ipv4
  ipv4-tcp
  ipv4-udp
  ipv6
  ipv6-tcp
  ipv6-udp
  unknown
  unknown
  unknown
Max possible RX queues: 128
Max possible number of RXDs per queue: 4096
Min possible number of RXDs per queue: 32
RXDs number alignment: 8
Max possible TX queues: 64
Max possible number of TXDs per queue: 4096
Min possible number of TXDs per queue: 32
TXDs number alignment: 8
testpmd>
testpmd> *show port fdir 0*

   FDIR infos for port 0

  MODE:   PERFECT
  SUPPORTED FLOW TYPE:  ipv4-tcp ipv4-udp ipv4-sctp ipv4-other ipv6-tcp
ipv6-udp ipv6-sctp ipv6-other
  FLEX PAYLOAD INFO:
  max_len:   2   payload_limit: 62
  payload_unit:  2   payload_seg:   1
  bitmask_unit:  0   bitmask_num:   0
  MASK:
vlan_tci: 0x, src_ipv4: 0x, dst_ipv4: 0x, src_port:
0x, dst_port: 0x
src_ipv6: 0x,0x,0x,0x, dst_ipv6:
0x,0x,0x,0x
  FLEX PAYLOAD SRC OFFSET:
RAW:12 13
  FLEX MASK CFG:
unknown: 00 00
  guarant_count: 1   best_count:0
  guarant_space: 2048best_space:0
  collision: 0   free:  2047
  maxhash:   0   maxlen:0
  add:   1   remove:0
  f_add: 0   f_remove:  0


testpmd>
"

Please suggest. Do i