From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v4 07/12] librte_ether: extend flow director struct Date: Fri, 18 Mar 2016 12:44:23 +0100 Message-ID: <21476039.orzeTHEBVW@xps13> References: <1457502180-14124-1-git-send-email-jingjing.wu@intel.com> <1457580346-18550-1-git-send-email-jingjing.wu@intel.com> <1457580346-18550-8-git-send-email-jingjing.wu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, bruce.richardson@intel.com To: Jingjing Wu Return-path: Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by dpdk.org (Postfix) with ESMTP id 27E972A5E for ; Fri, 18 Mar 2016 12:45:57 +0100 (CET) Received: by mail-wm0-f50.google.com with SMTP id p65so33316352wmp.0 for ; Fri, 18 Mar 2016 04:45:57 -0700 (PDT) In-Reply-To: <1457580346-18550-8-git-send-email-jingjing.wu@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Jingjing, 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 > Acked-by: Helin Zhang [...] > /** > - * 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.