[dpdk-dev] flow director on X550
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
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
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
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