<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/net/infiniband, 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?h=openslx</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/net/infiniband?h=openslx'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2023-09-13T19:23:46+00:00</updated>
<entry>
<title>[netdevice] Allocate private data for each network upper-layer driver</title>
<updated>2023-09-13T19:23:46+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2023-09-13T15:29:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=ae4e85bde97c9b216736a5087039f3309a628d24'/>
<id>urn:sha1:ae4e85bde97c9b216736a5087039f3309a628d24</id>
<content type='text'>
Allow network upper-layer drivers (such as LLDP, which attaches to
each network device in order to provide a corresponding LLDP settings
block) to specify a size for private data, which will be allocated as
part of the network device structure (as with the existing private
data allocated for the underlying device driver).

This will allow network upper-layer drivers to be simplified by
omitting memory allocation and freeing code.  If the upper-layer
driver requires a reference counter (e.g. for interface
initialisation), then it may use the network device's existing
reference counter, since this is now the reference counter for the
containing block of memory.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[xsigo] Avoid storing unused uninitialised fields in gateway address</title>
<updated>2022-02-16T13:29:53+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2022-02-16T13:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=252cff5e9a0b67a27e1837cb674491692b717fd0'/>
<id>urn:sha1:252cff5e9a0b67a27e1837cb674491692b717fd0</id>
<content type='text'>
As reported by Coverity, xsmp_rx_xve_modify() currently passes a
partially initialised struct ib_address_vector to xve_update_tca() and
thence to eoib_set_gateway(), which uses memcpy() to store the whole
structure including the (unused and unneeded) uninitialised fields.

Silence the Coverity warning by zeroing the whole structure.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[infiniband] Require drivers to specify the number of ports</title>
<updated>2021-01-27T01:15:35+00:00</updated>
<author>
<name>Christian Iversen</name>
</author>
<published>2021-01-26T23:43:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=b9de7e6eda04cecaff6735a60c7fe7f488fdccf1'/>
<id>urn:sha1:b9de7e6eda04cecaff6735a60c7fe7f488fdccf1</id>
<content type='text'>
Require drivers to report the total number of Infiniband ports.  This
is necessary to report the correct number of ports on devices with
dynamic port types.

For example, dual-port Mellanox cards configured for (eth, ib) would
be rejected by the subnet manager, because they report using "port 2,
out of 1".

Signed-off-by: Christian Iversen &lt;ci@iversenit.dk&gt;
</content>
</entry>
<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] Return status code from ib_create_mi()</title>
<updated>2017-03-22T09:18:23+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2017-03-22T08:57:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=c26c1fd07c51bb9c5e2c7829f77be4d6d0fcc806'/>
<id>urn:sha1:c26c1fd07c51bb9c5e2c7829f77be4d6d0fcc806</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[infiniband] Return status code from ib_create_cq() and ib_create_qp()</title>
<updated>2017-03-22T09:18:02+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2017-03-22T08:47:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=39ef530088859ccbbcf29bf6af2cf9f0307dc476'/>
<id>urn:sha1:39ef530088859ccbbcf29bf6af2cf9f0307dc476</id>
<content type='text'>
Any underlying errors arising during ib_create_cq() or ib_create_qp()
are lost since the functions simply return NULL on error.  This makes
debugging harder, since a debug-enabled build is required to discover
the root cause of the error.

Fix by returning a status code from these functions, thereby allowing
any underlying errors to be propagated.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[netdevice] Limit MTU by hardware maximum frame length</title>
<updated>2017-01-25T14:55:09+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2017-01-25T14:48:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=70fc25ad6e71a99b5802eb92b95c26407acbe990'/>
<id>urn:sha1:70fc25ad6e71a99b5802eb92b95c26407acbe990</id>
<content type='text'>
Separate out the concept of "hardware maximum supported frame length"
and "configured link MTU", and limit the latter according to the
former.

In networks where the DHCP-supplied link MTU is inconsistent with the
hardware or driver capabilities (e.g. a network using jumbo frames),
this will result in iPXE advertising a TCP MSS consistent with a size
that can actually be received.

Note that the term "MTU" is typically used to refer to the maximum
length excluding the link-layer headers; we adopt this usage.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[xsigo] Add support for Xsigo virtual Ethernet (XVE) EoIB devices</title>
<updated>2016-03-09T08:46:24+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-03-09T00:27:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=e44f6dcb8994a3c5c29b16aacd97ac095f4588c6'/>
<id>urn:sha1:e44f6dcb8994a3c5c29b16aacd97ac095f4588c6</id>
<content type='text'>
Add support for EoIB devices as implemented by Xsigo.  Based on the
public (but out-of-tree) Linux kernel drivers at

  https://oss.oracle.com/git/?p=linux-uek.git;a=log;h=v4.1.12-32.2.1

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