From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:50290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TbUvD-0006om-M6 for qemu-devel@nongnu.org; Thu, 22 Nov 2012 06:26:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TbUvC-0002OL-G1 for qemu-devel@nongnu.org; Thu, 22 Nov 2012 06:26:19 -0500 Received: from mail-ie0-f173.google.com ([209.85.223.173]:37384) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TbUvC-0002Ny-AU for qemu-devel@nongnu.org; Thu, 22 Nov 2012 06:26:18 -0500 Received: by mail-ie0-f173.google.com with SMTP id e13so1673365iej.4 for ; Thu, 22 Nov 2012 03:26:17 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <50ADFCC6.6070902@redhat.com> References: <20121119085528.GD17444@stefanha-thinkpad.redhat.com> <20121122081942.GC7598@stefanha-thinkpad.redhat.com> <50ADFCC6.6070902@redhat.com> Date: Thu, 22 Nov 2012 12:26:17 +0100 Message-ID: From: lementec fabien Content-Type: multipart/mixed; boundary=f46d04339c505282a604cf13bcc2 Subject: Re: [Qemu-devel] TCP based PCIE request forwarding List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Stefan Hajnoczi , Cam Macdonell , Nick Gasson , qemu-devel , fred.konrad@greensocs.com --f46d04339c505282a604cf13bcc2 Content-Type: text/plain; charset=ISO-8859-1 Hi, I modified the protocol so that new message types can be added easily. It is necessary for control related messages, such as the hello one (I called it init). A type field has been added to the header. I did not include a is_reply (or is_request) field, and prefered having 2 distinct message types. This is because one may imagine a message type that has no reply (ie. ping ...) Out of order reception is allowed by the use of a tag field in request and replies. I did not included the tag in the header, since not all the messages may need a tag. I plan to implement this tag as a simple incrementing counter, so made it large enough. I did not implement these modifications yet, since I prefer having feedbacks first. Neither did I have a look to the the command line option parsing. Regards, Fabien. 2012/11/22 Paolo Bonzini : > Il 22/11/2012 09:19, Stefan Hajnoczi ha scritto: >>> > usage >>> > ----- >>> > PCIEFW devices are instanciated using the following QEMU options: >>> > -device \ >>> > pciefw,\ >>> > laddr=,\ >>> > lport=,\ >>> > raddr=,\ >>> > rport= >> Take a look at qemu_socket.h:socket_parse(). It should allow you to >> support TCP, UNIX domain sockets, and arbitrary file descriptors. >> > > Even better it could just be a chardev. socket_parse() is only used by > the (human) monitor interface. > > Paolo --f46d04339c505282a604cf13bcc2 Content-Type: application/octet-stream; name="pciefw.protocol" Content-Disposition: attachment; filename="pciefw.protocol" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h9tuufz50 KiByYXRpb25hbGUKLS0tLS0tLS0tLS0KClBDSUUgYWNjZXNzIGZvcndhcmRpbmcgd2FzIG1hZGUg dG8gaW1wbGVtZW50IGEgUENJRSBlbmRwb2ludCBpbiBhIHByb2Nlc3MKZXh0ZXJuYWwgdG8gUUVN VSwgcG9zc2libHkgb24gYSByZW1vdGUgaG9zdC4gVGhlIG1haW4gcmVhc29uIGlzIHRvIGFsbG93 CmludGVyZmFjaW5nIFFFTVUgd2l0aCBQQ0lFIGRldmljZXMgc2ltdWxhdGVkIGluIGEgdGhpcmQg cGFydHkgZW52aXJvbm1lbnQuCkJlaW5nIGFuIGV4dGVybmFsIHByb2Nlc3MgYWxzbyBoYXMgc2V2 ZXJhbCBiZW5lZml0czogaW5kZXBlbmRlbmNlIGZyb20gdGhlClFFTVUgZXZlbnQgbG9vcCwgdXNp bmcgY29tcGlsYXRpb24gdG9vbHMgbm90IHN1cHBvcnRlZCBieSB0aGUgUUVNVSBidWlsZApzeXN0 ZW0gLi4uCgoKCiogdXNhZ2UKLS0tLS0tLQoKUENJRUZXIGRldmljZXMgYXJlIGluc3RhbmNpYXRl ZCB1c2luZyB0aGUgZm9sbG93aW5nIFFFTVUgb3B0aW9uczoKLWRldmljZSBcCiBwY2llZncsXAog bGFkZHI9PGxvY2FsX2FkZHI+LFwKIGxwb3J0PTxsb2NhbF9wb3J0PixcCiByYWRkcj08cmVtb3Rl X2FkZHI+LFwKIHJwb3J0PTxyZW1vdGVfcG9ydD4KCgoKKiB0aGVvcnkgb2Ygb3BlcmF0aW9uCi0t LS0tLS0tLS0tLS0tLS0tLS0tLQoKUENJRUZXIGlzIGEgUENJRSBhY2Nlc3NlcyBmb3J3YXJkaW5n IGRldmljZSBhZGRlZCB0byB0aGUgUUVNVSBzb3VyY2UKdHJlZS4gQXQgaW5pdGlhbGl6YXRpb24s IHRoaXMgZGV2aWNlIG9wZW5zIGEgYmlkaXJlY3Rpb25uYWwgcG9pbnQgdG8KcG9pbnQgY29tbXVu aWNhdGlvbiBjaGFubmVsIHdpdGggYW4gZXh0ZXJuYWwgcHJvY2Vzcy4gVGhpcyBwcm9jZXNzCmFj dHVhbGx5IGltcGxlbWVudHMgdGhlIFBDSUUgZW5kcG9pbnQuIFRoYXQgaXMsIGEgUENJRSBhY2Nl c3MgbWFkZSBieQpRRU1VIGlzIGZvcndhcmRlZCB0byB0aGUgcHJvY2Vzcy4gUmVjaXByb2NhbGx5 LCByZXBsaWVzIGFuZCBhY2Nlc3NlcwptZXNzYWdlcyBmcm9tIHRoZSBwcm9jZXNzIGFyZSBmb3J3 YXJkZWQgdG8gUUVNVS4KCgoKKiBjb21tdW5pY2F0aW9uIHByb3RvY29sCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQoKVGhlIGNvbW11bmljYXRpb24gYXNzdW1lcyBhIHJlbGlhYmxlIHRyYW5zcG9y dCBsYXllci4gQ3VycmVudGx5LCBhCmJpZGlyZWN0aW9ubmFsIHBvaW50IHRvIHBvaW50IFRDUCBz b2NrZXQgYmFzZWQgY2hhbm5lbCBpcyB1c2VkLiBCeXRlCm9yZGVyaW5nIGlzIGxpdHRsZSBlbmRp YW4uCgoKKiogY29tbXVuaWNhdGlvbiBtZXNzYWdlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CgpBIHByb3RvY29sIG1lc3NhZ2UgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgaGVhZGVyOgoKdHlwZWRl ZiBzdHJ1Y3QgcGNpZWZ3X2hlYWRlcgp7CiAgdWludDE2X3Qgc2l6ZTsKCiNkZWZpbmUgUENJRUZX X1RZUEVfSU5JVF9SRVEgMHgwMAojZGVmaW5lIFBDSUVGV19UWVBFX0lOSVRfUkVQIDB4MDEKI2Rl ZmluZSBQQ0lFRldfVFlQRV9BQ0NFU1NfUkVRIDB4MDEKI2RlZmluZSBQQ0lFRldfVFlQRV9BQ0NF U1NfUkVQIDB4MDIKICB1aW50OF90IHR5cGU7Cgp9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIHBj aWVmd19oZWFkZXJfdDsKCldoZXJlOgouIHNpemUgaXMgdGhlIHRvdGFsIG1lc3NhZ2Ugc2l6ZSwK LiB0eXBlIGlzIHRoZSBtZXNzYWdlIHR5cGUsIG9uZSBvZiBQQ0lFRldfVFlQRV9YWFguCgoKKiog aW5pdGlhbGl6YXRpb24gc2VxdWVuY2UKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkF0IGlu aXRpYWxpemF0aW9uLCBRRU1VIHNlbmRzIGFuIGluaXRpYWxpemF0aW9uIG1lc3NhZ2U6Cgp0eXBl ZGVmIHBjaWVmd19pbml0X3JlcQp7CiAgcGNpZWZ3X2hlYWRlcl90IGhlYWRlcjsKICB1aW50OF90 IHZlcnNpb247Cn0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgcGNpZWZ3X2luaXRfcmVxX3Q7CgpX aGVyZToKLiB2ZXJzaW9uIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHByb3RvY29sIHZlcnNpb24u CgpUaGUgcHJvY2VzcyBhbnN3ZXJzIHdpdGggYSBwY2llZndfaW5pdF9yZXAgbWVzc2FnZToKCnR5 cGVkZWYgcGNpZWZ3X2luaXRfcmVwCnsKICBwY2llZndfaGVhZGVyX3QgaGVhZGVyOwoKI2RlZmlu ZSBQQ0lFRldfU1RBVFVTX1NVQ0NFU1MgMHgwMAojZGVmaW5lIFBDSUVGV19TVEFUVVNfRkFJTFVS RSAweGZmCiAgdWludDhfdCBzdGF0dXM7Cgp9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIHBjaWVm d19pbml0X3JlcF90OwoKV2hlcmU6Ci4gc3RhdHVzIGlmIG5vdCBQQ0lFRldfU1RBVFVTX1NVQ0NF U1MsIGluZGljYXRlcyB0aGUgcHJvdG9jb2wgaXMKbm90IHN1cHBvcnRlZCBhbmQgbm8gZnVydGhl ciBjb21tdW5pY2F0aW9uIHNob3VsZCBiZSBhdHRlbXB0ZWQuCgoKKiogYWNjZXNzIG1lc3NhZ2Vz Ci0tLS0tLS0tLS0tLS0tLS0tLQoKUENJRUZXIGluaXRpYXRlcyBhIHJlcXVlc3QgdXBvbiBhY2Nl c3MgZnJvbSBRRU1VLiBJdCBzZW5kcyBhIG1lc3NhZ2UKd2hvc2UgZm9ybWF0IGlzIGRlc2NyaWJl ZCBieSB0aGUgcGNpZWZ3X2FjY2Vzc19yZXFfdCB0eXBlOgoKdHlwZWRlZiBzdHJ1Y3QgcGNpZWZ3 X2FjY2Vzc19yZXEKewojZGVmaW5lIFBDSUVGV19BQ0NFU1NfTUFYX1NJWkUgKG9mZnNldG9mKHBj aWVmd19tc2dfdCwgZGF0YSkgKyAweDEwMDApCgogIHBjaWVmd19oZWFkZXJfdCBoZWFkZXI7CiAg dWludDMyX3QgdGFnOwoKI2RlZmluZSBQQ0lFRldfT1BfUkVBRF9DT05GSUcgMAojZGVmaW5lIFBD SUVGV19PUF9XUklURV9DT05GSUcgMQojZGVmaW5lIFBDSUVGV19PUF9SRUFEX01FTSAyCiNkZWZp bmUgUENJRUZXX09QX1dSSVRFX01FTSAzCiNkZWZpbmUgUENJRUZXX09QX1JFQURfSU8gNAojZGVm aW5lIFBDSUVGV19PUF9XUklURV9JTyA1CiNkZWZpbmUgUENJRUZXX09QX0lOVCA2CiNkZWZpbmUg UENJRUZXX09QX01TSSA3CiNkZWZpbmUgUENJRUZXX09QX01TSVggOAogIHVpbnQ4X3Qgb3A7Cgog IHVpbnQ4X3QgYmFyOwogIHVpbnQ2NF90IGFkZHI7CiAgdWludDE2X3Qgc2l6ZTsKICB1aW50OF90 IGRhdGFbMV07Cgp9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIHBjaWVmd19hY2Nlc3NfcmVxX3Q7 CgpXaGVyZToKLiB0YWcgaXMgc2VudCBiYWNrIGJ5IHRoZSByZXBseSBhcyBvcGFxdWUgZmllbGQs Ci4gb3Agb3BlcmF0aW9uIHR5cGUsIG9uZSBvZiBQQ0lFRldfT1BfWFhYLAouIGJhciB0aGUgUENJ RSBCQVIsIGluIFswOjVdLAouIGFkZHIgdGhlIHRhcmdldCBhZGRyZXNzLAouIHNpemUgdGhlIGRh dGEgc2l6ZSBpbiBieXRlcywKLiBkYXRhIGlzIGEgdmFyaWFibGUgbGVuZ3RoIGZpZWxkIGNvbnRh aW5pbmcgdGhlIGFjY2VzcyBkYXRhLgoKVGhlIFBDSUUgZW5kcG9pbnQgcHJvY2VzcyBjYW4gaW5p dGlhdGUgcGNpZWZ3X2FjY2Vzc19yZXFfdCBtZXNzYWdlcyB0bwpwZXJmb3JtIHdyaXRlIG9wZXJh dGlvbnMgb2YgaXRzIG93bi4gVGhpcyBpcyB1c2VkIHRvIHBlcmZvcm0gZGF0YSB0cmFuc2ZlcnMK KERNQSBlbmdpbmVzIC4uLikgYW5kIHNlbmQgaW50ZXJydXB0cy4KCkluIHRoZSBjYXNlIG9mIGEg cmVhZCBvcGVyYXRpb24sIHRoZSBQQ0lFIGVuZHBvaW50IHByb2Nlc3MgcmVwbGllcyB3aXRoCmEg cGNpZWZ3X3JlcGx5X3QgZm9ybWF0dGVkIG1lc3NhZ2U6Cgp0eXBlZGVmIHN0cnVjdCBwY2llZndf YWNjZXNzX3JlcAp7CiAgcGNpZWZ3X2hlYWRlcl90IGhlYWRlcjsKICB1aW50MzJfdCB0YWc7CiAg dWludDhfdCBzdGF0dXM7CiAgdWludDhfdCBkYXRhWzhdOwp9IF9fYXR0cmlidXRlX18oKHBhY2tl ZCkpIHBjaWVmd19hY2Nlc3NfcmVwX3Q7CgpXaGVyZToKLiB0YWcgaXMgdGhlIGluaXRpYXRpbmcg YWNjZXNzIHRhZywKLiBzdGF0dXMgaXMgdGhlIGFjY2VzcyBzdGF0dXMsIG9uZSBvZiBQQ0lFRldf U1RBVFVTX1hYWCwKLiBkYXRhIGNvbnRhaW5zIHRoZSByZXBsaWVkIGRhdGEuCgoKCiogbGltaXRh dGlvbnMKLS0tLS0tLS0tLS0tLQoKVGhlIHByb2Nlc3MgYWN0cyBhcyB0aGUgc2VydmVyLCBhbmQg bXVzdCBiZSBzdGFydGVkIGJlZm9yZSBRRU1VIHN0YXJ0cy4KVGhlIFFFTVUgZXZlbnQgbG9vcCBp cyBibG9ja2VkIHdoaWxlIGF3YWl0aW5nIGZvciBhIGRldmljZSByZXBseS4KUmVhZCBvcGVyYXRp b25zIGZyb20gdGhlIHByb2Nlc3MgYXJlIG5vdCBzdXBwb3J0ZWQuClRoZSB0cmFuc3BvcnQgbGF5 ZXIgc2hvdWxkIGJlIGFic3RyYWN0ZWQsIGFsbG93aW5nIG5vbiBUQ1AgdG8gYmUgdXNlZC4KTVNJ WCBhcmUgbm90IHN1cHBvcnRlZC4K --f46d04339c505282a604cf13bcc2--