[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Guidelines for new PV protocol submission



On 20/01/15 13:20, David Vrabel wrote:
> On 20/01/15 12:47, Roger Pau Monné wrote:
>> Hello,
>>
>> I should probably have done this earlier because I've been aware of this
>> issue for a long time (since I've started dealing with the PV blk protocol).
>>
>> The current way to describe PV protocols in Xen is very inefficient
>> IMHO. Using C structs as "the description" of a binary protocol seems
>> very wrong, specially taking into account that different ABIs can
>> generate different layouts for the same C struct. This is for example a
>> problem in the PV blk protocol, since the binary layout of the
>> structures change depending on the bitness.
>>
>> In order to avoid this, I would like to request that any new PV protocol
>> that's added to Xen be described in binary terms, just like it's
>> normally done with other protocols. As a reference see for example the
>> following section from the TCP RFC:
>>
>> http://tools.ietf.org/html/rfc793#page-15
>>
>> I think this is both more easy to understand and removes the bitness
>> problem of using C structs.
>>
>> Then each user of this protocol could define it's own set of structures
>> that would map to the binary layout, which should be almost trivial.
>> There would be no problem with using __packed or similar gcc'isms as
>> each implementation could choose the more convenient way to represent
>> this layout internally.
> +1
>
> We did this for migration v2 protocol[1] and I agree that this is a much
> better way of specifying binary protocols.

+1

It is far nicer to work from a document than to worry how another
compiler might change the structure.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.