<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/net/infiniband/ib_srp.c, branch openslx</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/net/infiniband/ib_srp.c?h=openslx</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/net/infiniband/ib_srp.c?h=openslx'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2020-10-23T14:34:35+00:00</updated>
<entry>
<title>[infiniband] Allow SRP device to be described using an EFI device path</title>
<updated>2020-10-23T14:34:35+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2020-10-23T14:26:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=a2e44077cdb0713d90766e61165ca71fce902003'/>
<id>urn:sha1:a2e44077cdb0713d90766e61165ca71fce902003</id>
<content type='text'>
The UEFI specification provides a partial definition of an Infiniband
device path structure.  Use this structure to construct what may be a
plausible path containing at least some of the information required to
identify an SRP target device.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[infiniband] Eliminate variable-length stack allocation</title>
<updated>2020-02-16T21:42:35+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2020-02-16T21:25:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=6248ac396aaf9ccff7cda91080305ad2dc08d8cc'/>
<id>urn:sha1:6248ac396aaf9ccff7cda91080305ad2dc08d8cc</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[block] Describe all SAN devices via ACPI tables</title>
<updated>2017-03-28T16:12:48+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2017-03-27T15:20:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=7cfdd769aac76d605aa31146c69ba518b194bea7'/>
<id>urn:sha1:7cfdd769aac76d605aa31146c69ba518b194bea7</id>
<content type='text'>
Describe all SAN devices via ACPI tables such as the iBFT.  For tables
that can describe only a single device (i.e. the aBFT and sBFT), one
table is installed per device.  For multi-device tables (i.e. the
iBFT), all devices are described in a single table.

An underlying SAN device connection may be closed at the time that we
need to construct an ACPI table.  We therefore introduce the concept
of an "ACPI descriptor" which enables the SAN boot code to maintain an
opaque pointer to the underlying object, and an "ACPI model" which can
build tables from a list of such descriptors.  This separates the
lifecycles of ACPI descriptions from the lifecycles of the block
device interfaces, and allows for construction of the ACPI tables even
if the block device interface has been closed.

For a multipath SAN device, iPXE will wait until sufficient
information is available to describe all devices but will not wait for
all paths to connect successfully.  For example: with a multipath
iSCSI boot iPXE will wait until at least one path has become available
and name resolution has completed on all other paths.  We do this
since the iBFT has to include IP addresses rather than DNS names.  We
will commence booting without waiting for the inactive paths to either
become available or close; this avoids unnecessary boot delays.

Note that the Linux kernel will refuse to accept an iBFT with more
than two NIC or target structures.  We therefore describe only the
NICs that are actually required in order to reach the described
targets.  Any iBFT with at most two targets is therefore guaranteed to
describe at most two NICs.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[infiniband] Assign names to CMRC connections</title>
<updated>2016-03-08T15:51:19+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-03-08T15:34:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=174bf6b5698299678f2d928cae126353558a766d'/>
<id>urn:sha1:174bf6b5698299678f2d928cae126353558a766d</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[base16] Add buffer size parameter to base16_encode() and base16_decode()</title>
<updated>2015-04-24T13:41:32+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2015-04-24T13:34:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=9aa8090d069eb0b36769f33544faf0e7e429e844'/>
<id>urn:sha1:9aa8090d069eb0b36769f33544faf0e7e429e844</id>
<content type='text'>
The current API for Base16 (and Base64) encoding requires the caller
to always provide sufficient buffer space.  This prevents the use of
the generic encoding/decoding functionality in some situations, such
as in formatting the hex setting types.

Implement a generic hex_encode() (based on the existing
format_hex_setting()), implement base16_encode() and base16_decode()
in terms of the more generic hex_encode() and hex_decode(), and update
all callers to provide the additional buffer length parameter.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[infiniband] Match GID/GUID terminology as used in the IBA</title>
<updated>2010-09-15T18:25:05+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2010-09-15T18:25:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=52e54a8c69351ee1455f8fbf2a9cd5d27d42f7ab'/>
<id>urn:sha1:52e54a8c69351ee1455f8fbf2a9cd5d27d42f7ab</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[block] Replace gPXE block-device API with an iPXE asynchronous interface</title>
<updated>2010-09-14T19:37:15+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2010-09-03T15:11:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=220495f8bf2222e1dc1aa7db554d23997b545546'/>
<id>urn:sha1:220495f8bf2222e1dc1aa7db554d23997b545546</id>
<content type='text'>
The block device interface used in gPXE predates the invention of even
the old gPXE data-transfer interface, let alone the current iPXE
generic asynchronous interface mechanism.  Bring this old code up to
date, with the following benefits:

 o  Block device commands can be cancelled by the requestor.  The INT 13
    layer uses this to provide a global timeout on all INT 13 calls,
    with the result that an unexpected passive failure mode (such as
    an iSCSI target ACKing the request but never sending a response)
    will lead to a timeout that gets reported back to the INT 13 user,
    rather than simply freezing the system.

 o  INT 13,00 (reset drive) is now able to reset the underlying block
    device.  INT 13 users, such as DOS, that use INT 13,00 as a method
    for error recovery now have a chance of recovering.

 o  All block device commands are tagged, with a numerical tag that
    will show up in debugging output and in packet captures; this will
    allow easier interpretation of bug reports that include both
    sources of information.

 o  The extremely ugly hacks used to generate the boot firmware tables
    have been eradicated and replaced with a generic acpi_describe()
    method (exploiting the ability of iPXE interfaces to pass through
    methods to an underlying interface).  The ACPI tables are now
    built in a shared data block within .bss16, rather than each
    requiring dedicated space in .data16.

 o  The architecture-independent concept of a SAN device has been
    exposed to the iPXE core through the sanboot API, which provides
    calls to hook, unhook, boot, and describe SAN devices.  This
    allows for much more flexible usage patterns (such as hooking an
    empty SAN device and then running an OS installer via TFTP).

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[libc] Enable automated extraction of error usage reports</title>
<updated>2010-05-31T02:11:57+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2010-05-30T14:29:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=6c0e8c14be9546b49c097f5e6e8307bda3e7f5ac'/>
<id>urn:sha1:6c0e8c14be9546b49c097f5e6e8307bda3e7f5ac</id>
<content type='text'>
Add preprocessor magic to the error definitions to enable every error
usage to be tracked.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[infiniband] Use generic base16 functions for SRP</title>
<updated>2010-05-28T18:04:59+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2010-05-28T18:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=d6f79d6b6e7a4b7209cb5d7a7193bb2259306cd7'/>
<id>urn:sha1:d6f79d6b6e7a4b7209cb5d7a7193bb2259306cd7</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Rename gPXE to iPXE</title>
<updated>2010-04-19T22:43:39+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2010-04-19T19:16:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=8406115834d38bb743e01f35bfd36e835532415e'/>
<id>urn:sha1:8406115834d38bb743e01f35bfd36e835532415e</id>
<content type='text'>
Access to the gpxe.org and etherboot.org domains and associated
resources has been revoked by the registrant of the domain.  Work
around this problem by renaming project from gPXE to iPXE, and
updating URLs to match.

Also update README, LOG and COPYRIGHTS to remove obsolete information.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
