[dpdk-dev] flow director - perfect match filter

Wu, Jingjing jingjing.wu at intel.com
Fri Oct 31 01:48:57 CET 2014


Hi, Poborsky

Please try sending an IP packet (not UDP, TCP or SCTP).

Or you can try to set filter.l4type = RTE_FDIR_L4TYPE_TCP when adding a filter.

I guess it is because the NIC already classify you packet as TCP one.

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Newman Poborsky
> Sent: Thursday, October 30, 2014 11:18 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] flow director - perfect match filter
> 
> Hi,
> 
> I'm not sure this is the right place to post a question like this, but I've been
> stuck with the same problem for days now.
> 
> I'm trying to use flow director perfect match filters and so far I haven't been
> able to get it working. I have tried writing my own simple app (based on given
> examples) and I tried adding filter using something as simple as:
> 
> //setting the mask to watch for src IP
> memset(&fdir_masks, 0x00, sizeof(struct rte_fdir_masks));
> fdir_masks.src_ipv4_mask = 0xFFFFFFFF; ret =
> rte_eth_dev_fdir_set_masks(portid, &fdir_masks); //adding filter
> memset(&filter, 0, sizeof(struct rte_fdir_filter)); filter.ip_src.ipv4_addr =
> htonl(ipv4_src); filter.l4type = RTE_FDIR_L4TYPE_NONE; filter.iptype =
> RTE_FDIR_IPTYPE_IPV4; ret =
> rte_eth_dev_fdir_add_perfect_filter(portid,&filter,3,queue,0);
> ...
> 
> 
> After running this code and using using tcpreplay to push traffic to interface, I
> get all the misses in the stats and no matches.  As far as I understand, to
> match only on src IP, all rte_fdir_filter elements should be set to 0, and only
> src_ip should be masked (with 1's).
> 
> After this I tried running testpmd application but also no luck. The commands
> I used are:
> set_masks_filter 0 only_ip_flow 0 src_mask 0xFFFFFFFF 0x0000 dst_mask
> 0x00000000 0x0000 flexbytes 0 vlan_id 0 vlan_prio 0 add_perfect_filter 0 ip
> src 10.10.10.10 0 dst 0.0.0.0 0 flexbytes 0 vlan 0 queue 1 soft 3
> 
> Filter is added but after sending packets to this interface, I only see misses in
> stats.
> 
> What I am doing wrong?  I've read the docs and looked at API reference but
> didn't find anything that could help me.
> 
> Configuring flow director filter using ethtool and sending same packets
> results in matches, so packets I'm sending should be matched.
> 
> Thank you for any help!
> 
> Newman P.


More information about the dev mailing list