From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id C46652B89 for ; Wed, 9 Mar 2016 02:25:29 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP; 08 Mar 2016 17:25:28 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,559,1449561600"; d="scan'208";a="929785414" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga002.jf.intel.com with ESMTP; 08 Mar 2016 17:25:28 -0800 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 8 Mar 2016 17:25:28 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.110.14) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 8 Mar 2016 17:25:27 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.232]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.24]) with mapi id 14.03.0248.002; Wed, 9 Mar 2016 09:25:26 +0800 From: "Lu, Wenzhuo" To: Thomas Monjalon Thread-Topic: [dpdk-dev] [PATCH v7 1/5] lib/librte_ether: change function name of tunnel port config Thread-Index: AQHRdb6HSEZhGhtjgEeRWxn0VKdpBZ9PtLUAgACYBSD//4DagIAAidSA Date: Wed, 9 Mar 2016 01:25:25 +0000 Message-ID: <6A0DE07E22DDAD4C9103DF62FEBC0909034391B9@shsmsx102.ccr.corp.intel.com> References: <1452496044-17524-1-git-send-email-wenzhuo.lu@intel.com> <1916349.pcHeyTKjoM@xps13> <6A0DE07E22DDAD4C9103DF62FEBC090903439160@shsmsx102.ccr.corp.intel.com> <35564540.2poe2s7h25@xps13> In-Reply-To: <35564540.2poe2s7h25@xps13> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v7 1/5] lib/librte_ether: change function name of tunnel port config X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Mar 2016 01:25:30 -0000 Hi Thomas, > -----Original Message----- > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > Sent: Wednesday, March 9, 2016 9:04 AM > To: Lu, Wenzhuo > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v7 1/5] lib/librte_ether: change function = name > of tunnel port config >=20 > 2016-03-09 00:53, Lu, Wenzhuo: > > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > > > 2016-03-04 10:35, Wenzhuo Lu: > > > > The names of function for tunnel port configuration are not accurat= e. > > > > They're tunnel_add/del, better change them to tunnel_port_add/del. > > > > > > As a lot of ethdev API, it is really badly documented. > > > > > > Please explain why this renaming and let's try to reword the > > > doxygen: > > > * Add UDP tunneling port of an Ethernet device for filtering a > > > specific > > > * tunneling packet by UDP port number. > > > > As we discussed before, these APIs only change the UDP port value of th= e > tunnel. > > But according to their names, seems like they're trying to add/delete a= whole > tunnel. > > The names don't tell us what the functions really do, so we want to cha= nge the > names. >=20 > Neither the comment nor the name explain what means filtering here. > I think we should explain more. > We add a port number and a protocol type. What is it made for? Prot_type means the tunnel type, VxLAN, GENEVE.., actually it's rte_eth_tun= nel_type. Udp_port means the UDP port value used for the specific type of tunnel. I'll add some comments in the structure. >=20 > > > Please what are the values of > > > struct rte_eth_udp_tunnel { > > > uint16_t udp_port; > > > uint8_t prot_type; > > > }; > > > > > When I see an API struct without any comment, I feel it must be dropp= ed. > > I'm confused. I don't do anything about this structure. You want me to= add > more comments for it? >=20 > Yes please, comment at least prot_type. Which values to set? > Any reference to some constants? I think I've explained this above. >=20 > > > By the way, it is yet another filtering API, so it must be totally re= worked. > > > > Not quite understand. I only try to change the name. If rework needed, = could > we do this with a new patch? >=20 > I know you are trying to improve the situation :) I'm just saying that th= e whole > filtering APIs suck and we need to re-think it. > But it's another discussion. Let's improve this one for 16.04 while talki= ng about > future design in other threads. Great :) >=20 > > > > As it may be an ABI change if change the names directly, the new > > > > functions are added but not remove the old ones. The old ones will > > > > be removed in the next release after an ABI change announcement. > > > > > > Please make the announce in this patch. > > > > Sure, I'll do that. >=20 > Thanks >=20 > > > > --- a/lib/librte_ether/rte_ethdev.h > > > > +++ b/lib/librte_ether/rte_ethdev.h > > > > @@ -3403,6 +3415,9 @@ rte_eth_dev_rss_hash_conf_get(uint8_t > > > > port_id, int rte_eth_dev_udp_tunnel_add(uint8_t port_id, > > > > struct rte_eth_udp_tunnel *tunnel_udp); > > > > > > You must deprecate this one and put a comment above with something > > > like @see rte_eth_dev_udp_tunnel_port_add. > > I'll add this. Thanks. > > > > > > > > > +int > > > > +rte_eth_dev_udp_tunnel_port_add(uint8_t port_id, > > > > + struct rte_eth_udp_tunnel *tunnel_udp); > > > > > > You must move it below the doxygen comment. > > OK. Honestly, I'd like to act like that. But seems the style is to put > > the function above the comment.(Don't know the reason.) >=20 > Do you mean the function below the comment? No, I really mean above. Like this, typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev, struct rte_dev_reg_info *info); /**< @internal Retrieve registers */ typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev); /**< @internal Retrieve eeprom size */ typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev, struct rte_dev_eeprom_info *info); /**< @internal Retrieve eeprom data */ typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev, struct rte_dev_eeprom_info *info); /**< @internal Program eeprom data */ >=20 > > It'll be a little strange if I do something different. >=20 > Just check the doxygen output. > We must have the comments associated with the new function and a > deprecation comment with the old one. >=20 > > > > --- a/lib/librte_ether/rte_ether_version.map > > > > +++ b/lib/librte_ether/rte_ether_version.map > > > > @@ -114,6 +114,8 @@ DPDK_2.2 { > > > > rte_eth_tx_queue_setup; > > > > rte_eth_xstats_get; > > > > rte_eth_xstats_reset; > > > > + rte_eth_dev_udp_tunnel_port_add; > > > > + rte_eth_dev_udp_tunnel_port_delete; > > > > > > > > local: *; > > > > }; > > > > > > Panu already made a comment about adding a new section for 16.04. > > > > Thanks for the info. Let me follow it. >=20