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