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. > > 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.