2016-03-20 09:02, Wu, Jingjing: > From: Wu, Jingjing > > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > > 2016-03-10 11:25, Jingjing Wu: > > > > This patch changed rte_eth_fdir_flow from union to struct to > > > > support more packets formats, for example, Vxlan and GRE tunnel > > > > packets with IP inner frame. > > > > > > I think we need a lot more explanations about how it should work. > > > From this point we should collect some acknowledgements from the > > > maintainers of other drivers having this kind of flow steering need. > > > Maybe that a better API, more generic, is possible. > > > > > > > This patch also add new RTE_FDIR_TUNNEL_TYPE_GRE enum. > > > > > > OK to add GRE to the existing API. > > > > > > > Signed-off-by: Jingjing Wu <jingjing.wu at intel.com> > > > > Acked-by: Helin Zhang <helin.zhang at intel.com> > > > [...] > > > > /** > > > > - * An union contains the inputs for all types of flow > > > > + * A struct contains the inputs for all types of flow > > > > */ > > > > -union rte_eth_fdir_flow { > > > > - struct rte_eth_l2_flow l2_flow; > > > > - struct rte_eth_udpv4_flow udp4_flow; > > > > - struct rte_eth_tcpv4_flow tcp4_flow; > > > > - struct rte_eth_sctpv4_flow sctp4_flow; > > > > - struct rte_eth_ipv4_flow ip4_flow; > > > > - struct rte_eth_udpv6_flow udp6_flow; > > > > - struct rte_eth_tcpv6_flow tcp6_flow; > > > > - struct rte_eth_sctpv6_flow sctp6_flow; > > > > - struct rte_eth_ipv6_flow ipv6_flow; > > > > +struct rte_eth_fdir_flow { > > > > + union { > > > > + struct rte_eth_l2_flow l2_flow; > > > > + struct rte_eth_udpv4_flow udp4_flow; > > > > + struct rte_eth_tcpv4_flow tcp4_flow; > > > > + struct rte_eth_sctpv4_flow sctp4_flow; > > > > + struct rte_eth_ipv4_flow ip4_flow; > > > > + struct rte_eth_udpv6_flow udp6_flow; > > > > + struct rte_eth_tcpv6_flow tcp6_flow; > > > > + struct rte_eth_sctpv6_flow sctp6_flow; > > > > + struct rte_eth_ipv6_flow ipv6_flow; > > > > + }; > > > > struct rte_eth_mac_vlan_flow mac_vlan_flow; > > > > struct rte_eth_tunnel_flow tunnel_flow; > > > > }; > > > > > > Please explain somewhere how to use this API change in order to have more > > > discussions with other maintainers. > > > > > > I'm sorry to comment this change only now. I took time to realize that > > > we need more consensus about the filtering API to make it usable by > > > more drivers. > > > > > > > > For the 16.04 release, I suggest to remove this change from the series. > > > Thanks for your understanding. > > OK. Understand that we need to comments more on the change. And as you > > know, the > > whole patch set actually contains two changes on filter API: One the change > > is in this patch, > > which adds tunnel filtering using flow director, another one is the patch > > "[PATCH v4,05/12] > > i40e: extend flow director to filter by IP " > > (http://www.dpdk.org/dev/patchwork/patch/11358/ ). If you are OK to the > > latter one, I will > > send another version which just contains the change and drops tunnel > > supporting in 16.04 > > release. > Correct the mistake: > The other change is "[v4,01/12] ethdev: extend flow director for input > selection" http://www.dpdk.org/dev/patchwork/patch/11354/.
I'm OK with patch 01 and "RTE_FDIR_TUNNEL_TYPE_GRE" add in patch 07. > > And let's discuss more on the filtering API in future. Thanks