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

Reply via email to