> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Wednesday, March 8, 2017 11:50 PM
> To: Xing, Beilei <beilei.x...@intel.com>; Wu, Jingjing <jingjing...@intel.com>
> Cc: Zhang, Helin <helin.zh...@intel.com>; dev@dpdk.org; Iremonger,
> Bernard <bernard.iremon...@intel.com>; Liu, Yong <yong....@intel.com>
> Subject: Re: [dpdk-dev] [PATCH 3/4] net/i40e: support tunnel filter to VF
> 
> On 3/3/2017 9:31 AM, Beilei Xing wrote:
> > This patch is to support tunnel filter to VF.
> >
> > Signed-off-by: Bernard Iremonger <bernard.iremon...@intel.com>
> > Signed-off-by: Yong Liu <yong....@intel.com>
> > Signed-off-by: Beilei Xing <beilei.x...@intel.com>
> > ---
> 
> <...>
> 
> > +/**
> > + * Tunneling Packet filter configuration.
> > + */
> > +struct i40e_tunnel_filter_conf {
> 
> There is already "rte_eth_tunnel_filter_conf", why driver is creating its own
> version of structure instead of using / updating public one?

Marvin has an announcement for this change before, but it's rejected as 
consistent filter API is available. 
http://www.dpdk.org/dev/patchwork/patch/19772/

So we add this new feature in PMD:
+       uint8_t is_to_vf;       /**< 0 - to PF, 1 - to VF */
+       uint16_t vf_id;         /**< VF id for tunnel filter insertion. */


> 
> > +   struct ether_addr outer_mac;    /**< Outer MAC address to match.
> */
> > +   struct ether_addr inner_mac;    /**< Inner MAC address to match. */
> > +   uint16_t inner_vlan;            /**< Inner VLAN to match. */
> > +   uint32_t outer_vlan;            /**< Outer VLAN to match */
> > +   enum rte_tunnel_iptype ip_type; /**< IP address type. */
> > +   /**
> > +    * Outer destination IP address to match if ETH_TUNNEL_FILTER_OIP
> > +    * is set in filter_type, or inner destination IP address to match
> > +    * if ETH_TUNNEL_FILTER_IIP is set in filter_type.
> > +    */
> > +   union {
> > +           uint32_t ipv4_addr;     /**< IPv4 address in big endian. */
> > +           uint32_t ipv6_addr[4];  /**< IPv6 address in big endian. */
> > +   } ip_addr;
> > +   /** Flags from ETH_TUNNEL_FILTER_XX - see above. */
> > +   uint16_t filter_type;
> > +   enum rte_eth_tunnel_type tunnel_type; /**< Tunnel Type. */
> > +   uint32_t tenant_id;     /**< Tenant ID to match. VNI, GRE key... */
> > +   uint16_t queue_id;      /**< Queue assigned to if match. */
> > +   uint8_t is_to_vf;       /**< 0 - to PF, 1 - to VF */
> > +   uint16_t vf_id;         /**< VF id for tunnel filter insertion. */
> > +};
> > +
> 
> <...>

Reply via email to