summaryrefslogtreecommitdiffstats
path: root/sys/dev/pv/hypervicreg.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Handle IP address information requestsmikeb2016-11-071-9/+24
| | | | | | | | | | | | | This adds the last required bit of the KVP interface: providing IP address info back to the Host on request. Normally the Host is not specifying the address family and in this case we prefer to report back the first IPv4 address we can find and resort to IPv6 only when no IPv4 addresses are configured. It also appears that the 5th version of the message format is not publicly documented yet and IP address information request messages differ from the 4th version so we have to take the negotiated protocol version down a notch.
* Support for key removal and value update operationsmikeb2016-11-031-0/+6
| | | | | | This change makes it possible for the Host to update the value of an existing key via a Set operation as well as to remove the key completely with a Delete message.
* Implement a Key-Value Pair exchange interfacemikeb2016-11-031-0/+87
| | | | | | | | | | | | | | The implemented abstraction allows us to query and set little endian UTF-16 keys exchanged between the Host and the Guest via a text based pvbus(4) interface. All keys are attached to one of several key pools: Auto, Guest, External or Guest/Parameters. The hostctl(8) is able to modify values for keys in the Auto pool as well as set new keys in the Guest pool while the Host provides its keys in External and Guest/Parameters pools. Discussed with reyk@
* Channel API users should pick the bufring sizemikeb2016-10-251-1/+1
| | | | | | | | | hvn(4) needs to be able to put up to 128 RNDIS data messages on the channel ring each pointing up to 16 fragments in addition to a small number of RNDIS control messages. This simplifies accounting of available TX descriptors in relation to the available space on the channel ring and as a results prevents packet drops due to the ring being full.
* Get rid of the ch_buf member that is not part of the channel APImikeb2016-10-121-0/+2
| | | | | | | | | Devices need to allocate appropriate input/output buffers for use with the VMBus channel API themselves. There's no reason to keep pointers to these buffers in the channel structure. This requires a bit of restructuring of the code attaching internal devices however.
* Move Hyper-V integration components into a separate source filemikeb2016-10-111-0/+112
Input & OK reyk.