Merge pull request #30 from pauldu/master

Avoid duplicate entries in the IP address table
Use new XENBUS CACHE interface rather than local pool code

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Remove much code duplication

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

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

Updated GNTTAB interface
Change Cache lifecycle to match ring lifecycle.
Ensure caches are destroyed when device transitions to D3 to prevent
assertion failure in xenbus.

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

Change Cache lifecycle to match ring lifecycle.
Revert commit 3714613096b1bb7b7a76e9d360106ea19208f243

>    Change Cache lifecycle to match ring lifecycle.
>    Ensure caches are destroyed when device transitions to D3 to prevent
>    assertion failure in xenbus.
>
>    Signed-off-by: Owen Smith <owen.smith@citrix.com>

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Revert commit 80ace57b353764c9165673e021c2a6cf7616a3bb

>    Use new XENBUS CACHE interface rather than local pool code
>
>    Signed-off-by: Paul Durrant <paul.durrant@citrix.com>

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Re-fix issues uncovered by previous reversions.

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

[CA-140184]

Revert previous commits that add use of XENBUS's CACHE interface to XENVIF (and then modify cache lifecycle to avoid a crash during hibernation).
The reversions undid a couple of other fixes which are re-applied by the third patch.

Approved-By: Ben.Chalmers@citrix.com
Treat a missing Aliases value as an empty one

There are certain cases when xennet's co-installer may not have run so
we end up trying to (safely) start PDOs without even an empty alias.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Merge pull request #35 from pauldu/xop-577

Treat a missing Aliases value as an empty one
Cope with unexpected initial backend states

If the OS is booted via iSCSI, then the backend will already be in the
Connected state when the xenvif driver loads.  The backend is stable
in this state, so __FrontendPrepare() eventually times out waiting for
the backend state to change.

Fix by leading the backend through the Closing and Closed states if we
find it initially in the Connected (or Closing) states.

Signed-off-by: Michael Brown <mbrown@fensystems.co.uk>
Merge pull request #37 from mcb30/reset2

Cope with unexpected initial backend states
Promote xenvif.sys to be a boot start driver on network boot

Signed-off-by: Michael Brown <mbrown@fensystems.co.uk>
Merge pull request #39 from mcb30/netboot

Promote xenvif.sys to be a boot start driver on network boot
Stop doing MIB table dumps under transitter ring lock

They are now done under frontend lock, which still protects against
state changes - which is all that is needed.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Limit MIB table dumps to at most once every 5 seconds

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Add more tracing and limit the size of the address table

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