Hi Thomas,
> -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Wednesday, March 9, 2016 5:28 PM > To: Lu, Wenzhuo > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v6 2/5] lib/librte_ether: support l2 tunnel > operations > > 2016-03-09 01:15, Lu, Wenzhuo: > > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > > 2016-03-08 14:53, Wenzhuo Lu: > > > > +/** > > > > + * l2 tunnel type. > > > > + */ > > > > +enum rte_eth_l2_tunnel_type { > > > > + RTE_L2_TUNNEL_TYPE_NONE = 0, > > > > + RTE_L2_TUNNEL_TYPE_E_TAG, > > > > + RTE_L2_TUNNEL_TYPE_MAX, > > > > +}; > > > > > > We already have rte_eth_tunnel_type. > > Seems the tunnels in rte_eth_tunnel_type are all L3 packets. So, I want to > > add > a new type for e-tag, s-tag... as they're l2 packets. > > Do you suggest to merge it into rte_eth_tunnel_type? > > Maybe you can keep the L2 prefix and add it in the same enum. > It depends wether the rest of the API is specific to L2 or not. OK, I'll keep the L2 prefix and merge it to the enum rte_eth_tunnel_type. > > > > Why this struct is in rte_eth_ctrl.h and not used with > > > rte_eth_dev_filter_ctrl? > > Just want to put it together with rte_eth_tunnel_type :) > > > > Why are we still adding some filtering functions after having the > > > assertion that the new filtering API in lib/librte_ether/rte_eth_ctrl.h > > > was > generic enough? > > > The filtering API v2 was a total failure. > > > Are we going to add new functions each time a new bit of a header > > > must be parsed by an offloaded filtering? > > > Are we going to add new functions for each new filter of a NIC? > > > > Sorry, my bad. I'll try to use the existing filter API. Thanks. > > OK, using the filtering API v2 is better. > But I'm not confident it is a good API. > If you have any concern, please discuss them. Because we need to discuss how > to make a really generic API which fits with any filtering (flow steering) > offload > of any vendor while being descriptive enough and easy to use. It's OK for me to use rte_eth_dev_filter_ctrl :)