All of lore.kernel.org
 help / color / mirror / Atom feed
* flow director on X550
@ 2016-05-25 20:08 Nishant Verma
  2016-05-26  0:52 ` Lu, Wenzhuo
  0 siblings, 1 reply; 4+ messages in thread
From: Nishant Verma @ 2016-05-25 20:08 UTC (permalink / raw)
  To: dev

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: 0x800001cf
     - 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 0xffff -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 0000 dst
66.66.66.66 0000 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: 258361        RX-total: 14352498
  TX-packets: 0              TX-dropped: 0             TX-total: 0

----------------------------------------------------------------------------

  ---------------------- Forward statistics for port 1
----------------------
  RX-packets: 127            RX-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: 10000 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: 0x0000, src_ipv4: 0x00000000, dst_ipv4: 0xffffffff, src_port:
0x0000, dst_port: 0x0000
    src_ipv6: 0x00000000,0x00000000,0x00000000,0x00000000, dst_ipv6:
0x00000000,0x00000000,0x00000000,0x00000000
  FLEX PAYLOAD SRC OFFSET:
    RAW:    12     13
  FLEX MASK CFG:
    unknown:     00 00
  guarant_count: 1           best_count:    0
  guarant_space: 2048        best_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 am missed something?

Thanks.

-- 
Rgds,
​NV

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

* Re: flow director on X550
  2016-05-25 20:08 flow director on X550 Nishant Verma
@ 2016-05-26  0:52 ` Lu, Wenzhuo
  2016-05-26  3:39   ` Nishant Verma
  0 siblings, 1 reply; 4+ messages in thread
From: Lu, Wenzhuo @ 2016-05-26  0:52 UTC (permalink / raw)
  To: Nishant Verma, dev

Hi Nishant,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nishant Verma
> Sent: Thursday, May 26, 2016 4:08 AM
> To: dev@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: 0x800001cf
>      - 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 0xffff -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.

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

* Re: flow director on X550
  2016-05-26  0:52 ` Lu, Wenzhuo
@ 2016-05-26  3:39   ` Nishant Verma
  2016-05-26  6:34     ` Lu, Wenzhuo
  0 siblings, 1 reply; 4+ messages in thread
From: Nishant Verma @ 2016-05-26  3:39 UTC (permalink / raw)
  To: Lu, Wenzhuo; +Cc: dev

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 <wenzhuo.lu@intel.com> wrote:

> Hi Nishant,
>
> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Nishant Verma
> > Sent: Thursday, May 26, 2016 4:08 AM
> > To: dev@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: 0x800001cf
> >      - 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 0xffff -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

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

* Re: flow director on X550
  2016-05-26  3:39   ` Nishant Verma
@ 2016-05-26  6:34     ` Lu, Wenzhuo
  0 siblings, 0 replies; 4+ messages in thread
From: Lu, Wenzhuo @ 2016-05-26  6:34 UTC (permalink / raw)
  To: Nishant Verma; +Cc: dev

Hi Nishant,

From: Nishant Verma [mailto:vnish11@gmail.com]
Sent: Thursday, May 26, 2016 11:40 AM
To: Lu, Wenzhuo
Cc: dev@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 <wenzhuo.lu@intel.com<mailto:wenzhuo.lu@intel.com>> wrote:
Hi Nishant,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org<mailto:dev-bounces@dpdk.org>] On Behalf Of Nishant Verma
> Sent: Thursday, May 26, 2016 4:08 AM
> To: dev@dpdk.org<mailto:dev@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: 0x800001cf
>      - 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 0xffff -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




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

end of thread, other threads:[~2016-05-26  6:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-25 20:08 flow director on X550 Nishant Verma
2016-05-26  0:52 ` Lu, Wenzhuo
2016-05-26  3:39   ` Nishant Verma
2016-05-26  6:34     ` Lu, Wenzhuo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.