[dpdk-dev] [PATCH v6 2/5] lib/librte_ether: support l2 tunnel operations

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Mar 9 10:27:32 CET 2016


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.


More information about the dev mailing list