Merge pull request #2 from pauldu/master

Merge
Accepted-by: Ben Chalmers <ben.chalmers@citrix.com>
Ensure Gratuitous ARPs and Neighbour Advertisements are sent 3 times.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
Merge pull request #3 from OwenSmith/master

Ensure ARPs are sent 3 times per address associated with a VIF.
[CA-104876] Remove resource allocation & IPHelper reliance

We don't need to allocate resources, and IPHelper is only used to
know to update the host when IP addresses change.  Both cause problems
under Windows PE

Signed-off-by: Ben Chalmers <Ben.Chalmers@citrix.com>
Merge pull request #5 from benchalmers/ca104876

[CA-104876] Remove resource allocation & IP Helper reliance
Ignore attempts to remove device usage types that were not added.

ASSERTing on this condition is not particularly helpful as other buggy
software causes BSODs. We should be able to safely ignore and succeed
such IRPs.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Merge pull request #6 from pauldu/ca-112939

Ignore attempts to remove device usage types that were not added.

Approved-By: Ben Chalmers <ben.chalmers@citrix.com>
IRP IoStatus.Status and handler returned status should always match.

When the guts of the handler for IRP_MN_QUERY_RESOURCE_REQUIREMENTS were
ripped out the remaining code unconditionally returned STATUS_SUCCESS whilst
the IRP was almost certainly preloaded with STATUS_NOT_SUPPORTED. To fix,
simply stop handling that IRP and the dispatcher default clause DTRT.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Merge pull request #7 from pauldu/ca-113786

IRP IoStatus.Status and handler returned status should always match.

Accepted-By: Ben Chalmers <ben.chalmers@citrix.com>
Basic functionality on 'upstream' XENBUS.

The driver creates all device objects and names the PDOs sensibly.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Make all other basic changes.

The driver is now test signed, names its PDOs correnctly, exposes permanent
MAC addresses in the registry so XENNET's co-installer can pick them up - to
find aliasing emulated devices - and checks for aliasing network interfaces
before allowing the PDO to come online.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Change registry key name from 'Devices' to 'Addresses' to be more
illustrative of its purpose.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Re-work location where we store aliasing device

The device hardware key doesn't seem to be available in the pre-install
phase of co-installer invocation so we have to use the xenvif service
key instead.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Add missing file and fix .gitignore

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Remove protocol 1 code from the receiver.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Update co-installer

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Fix a stupid bug in resume-from-S3

Also add the FDO name to some trace messages where is was missing

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Switch to Xen 3.4 headers for backwards compatibility

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Update to new GNTTAB interface

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Add a DWORD value "NeedReboot" to the service key if a PDO fails
to start because either the EMULATED interface is not available, or
an alias has yet to be unplugged.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>