david/ipxe
Archived
1
0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src
Michael Brown 8b2942a7db [xen] Cope with unexpected initial backend states
Under some circumstances (e.g. if iPXE itself is booted via iSCSI, or
after an unclean reboot), the backend may not be in the expected
InitWait state when iPXE starts up.

There is no generic reset mechanism for Xenbus devices.  Recent
versions of xen-netback will gracefully perform all of the required
steps if the frontend sets its state to Initialising.  Older versions
(such as that found in XenServer 6.2.0) require the frontend to
transition through Closed before reaching Initialising.

Add a reset mechanism for netfront devices which does the following:

 - read current backend state

 - if backend state is anything other than InitWait, then set the
   frontend state to Closed and wait for the backend to also reach
   Closed

 - set the frontend state to Initialising and wait for the backend to
   reach InitWait.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-08-14 00:14:51 +01:00
..
arch [xen] Use version 1 grant tables by default 2014-08-13 19:21:42 +01:00
bin Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
config [cmdline] Add "profstat" command to display profiling statistics 2014-04-27 23:14:47 +01:00
core [build] Expose build timestamp, build name, and product names 2014-06-24 15:32:35 +01:00
crypto [crypto] Fix debug message 2014-07-12 14:24:40 +01:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [xen] Cope with unexpected initial backend states 2014-08-14 00:14:51 +01:00
hci [readline] Ensure cursor is visible when prompting for input 2014-08-06 15:11:38 +01:00
image [efi] Move abstract device path and handle functions to efi_utils.c 2014-08-06 14:27:45 +01:00
include [xen] Cope with unexpected initial backend states 2014-08-14 00:14:51 +01:00
interface [xen] Cope with unexpected initial backend states 2014-08-14 00:14:51 +01:00
libgcc [build] Mark __intel_new_proc_init with __libgcc rather than cdecl 2009-08-03 15:56:10 +01:00
net [netdevice] Avoid registering duplicate network devices 2014-07-30 18:22:09 +01:00
tests [crypto] Add support for iPAddress subject alternative names 2014-07-11 16:55:14 +01:00
usr [lotest] Discard packets arriving on the incorrect network device 2014-07-29 15:20:49 +01:00
util [build] Merge util/geniso and util/genliso 2014-05-14 16:00:58 +01:00
.gitignore [build] Add support for local configuration files 2010-03-26 19:07:22 +00:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00
Makefile [xen] Add basic support for PV-HVM domains 2014-07-29 15:57:44 +01:00
Makefile.housekeeping [build] Fix erroneous object name in version object 2014-06-26 16:43:59 +01:00