On 06/09/17 01:08, Allen, Benjamin S. wrote:
If you know the GUID, then you can trivially calculate the IPoIB MAC that will
be used by iPXE (and exposed as ${netX/mac}). Does this give you the
functionality that you need?
Yes this is pretty reasonable workaround, and is a pretty trivial change to
make in our codebase. I do wonder on large IB fabrics if the removal of the
middle bytes will cause any collisions.
From memory: this MAC construction scheme is a version of some kind of
Infiniband standard for constructing Ethernet-form MACs, simplified to
cover only the GUID schemes used by vendors for which iPXE has driver
support. In theory, it should be impossible to produce a collision
since each GUID-allocating vendor is already aware of this scheme. (In
practice, iPXE's model may be missing coverage for some vendors.)
Having thought about it some more, I've realised that iPXE's internal
model for a network device already includes a "hw_addr" field which is
separate from "ll_addr" (and allowed to be a different length), and that
for an IPoIB device this already contains the GUID. I've added support
for accessing this field in
http://git.ipxe.org/ipxe.git/commitdiff/8047baf
so you can now use ${netX/hwaddr} to obtain the GUID.
Michael
_______________________________________________
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel