2014-08-28 11:02, Liu, Jijiang: > From: Thomas Monjalon > > 2014-08-28 00:55, Liu, Jijiang: > > > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > > > I wonder if we could use a common function to set all kind of filters? > > > > > > > > Thoughts are welcome. > > > > > > The rte_eth_dev_tunnel_filter_set() is a common filter function for > > > tunneling packet, which can set all kind of filters. > > > > I understand that. But my question was: could we have common functions for > > tunnel filters and (existing) generic filters? > > Tunneling packet is encapsulated format, in order to extend another > tunneling type support and distinguish between tunneling and non-tunneling > packet, we had better provide independent common filter API. > The existing generic filter function is related to normal L2 packet > filter(non-tunneling packet). If there are two kind of filter APIs, one is > for normal L2 packet, other is for tunneling packet, which will make user > more clear when and how to use them.
So I ask wether it is possible to merge 2 functions and you answer they are different functions. I know they are different. I don't see why you can merge all different tunnels filtering in one function and not merge them with other L2 filters type? Should we wait that someone suggest a new API for HTTP filtering (for a new shiny NIC) to think about how all filters could be configured through a common API? We already have flow director, syn filter, ethertype filter, 2-tuple filter, 5-tuple filter, flex filter and you want to add tunnel filter. Last time, filters was called "generic filter" and I asked to think about how it was generic: http://dpdk.org/ml/archives/dev/2014-May/002859.html As I suspected, same story restart. I want these new i40e features as much as you. But it's not responsible to let API becoming a mess like that. All these filters must be reworked (including flow director). -- Thomas