From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 6333D68EE for ; Tue, 13 Sep 2016 15:49:28 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP; 13 Sep 2016 06:49:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,328,1470726000"; d="scan'208";a="1039229499" Received: from yliu-dev.sh.intel.com (HELO yliu-dev) ([10.239.67.162]) by fmsmga001.fm.intel.com with ESMTP; 13 Sep 2016 06:49:26 -0700 Date: Tue, 13 Sep 2016 21:49:59 +0800 From: Yuanhan Liu To: Thomas Monjalon Cc: Changpeng Liu , dev@dpdk.org, james.r.harris@intel.com Message-ID: <20160913134959.GU23158@yliu-dev.sh.intel.com> References: <1473855300-3066-1-git-send-email-changpeng.liu@intel.com> <20160913125847.GA10323@yliu-dev.sh.intel.com> <1658535.WKSzKSSpe0@xps13> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1658535.WKSzKSSpe0@xps13> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [dpdk-dev] [PATCH] vhost: change the vhost library to a common framework which can support more VIRTIO devices 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: Tue, 13 Sep 2016 13:49:28 -0000 On Tue, Sep 13, 2016 at 03:24:53PM +0200, Thomas Monjalon wrote: > 2016-09-13 20:58, Yuanhan Liu: > > rte_virtio_net.h is the header file will be exported for applications. > > Every change there would mean either an API or ABI breakage. Thus, we > > should try to avoid touching it. Don't even to say you added yet another > > header file, rte_virtio_dev.h. > > > > I confess that the rte_virtio_net.h filename isn't that right: it sticks > > to virtio-net so tightly. We may could rename it to rte_vhost.h, but I > > doubt it's worthwhile: as said, it breaks the API. > > > > The fortunate thing about this file is that, the context is actually not > > sticking to virtio-net too much. I mean, all the APIs are using the "vid", > > which is just a number. Well, except the virtio_net_device_ops() structure, > > which also should be renamed to vhost_device_ops(). Besides that, the > > three ops, "new_device", "destroy_device" and "vring_state_changed", are > > actually not limited to virtio-net device. > > > > That is to say, we could have two options here: > > > > - rename the header file and the structure properly, to not limited to > > virtio-net > > > > - live with it, let it be a legacy issue, and document it at somewhere, > > say, "due to history reason, that virtio-net is the first one supported > > in DPDK, we kept the header filename as rte_virtio_net.h, but not ..." > > > > I personally would prefer the later one, which saves us from breaking > > applications again. I don't have strong objection to the first one though. > > > > Thomas, any comments? > > I don't think keeping broken names for historical reasons is a good > long term maintenance. Good point. > It could be a FIXME comment that we would fix when we have other reasons > to break the API. > However, in this case, it is easy to keep the compatibility, I think, > by including rte_virtio.h in rte_virtio_net.h. Nice trick! > Note: renames can also generally be managed with symlinks. > > I also don't really understand why this file name is rte_virtio_net.h and > not rte_vhost_net.h. No idea. It's just named so since the beginning. Also I missed this file while doing the ABI/API refactoring, otherwise, it would be no pain at this stage. --yliu