summaryrefslogtreecommitdiffstats
path: root/discover/network.c
diff options
context:
space:
mode:
authorSamuel Mendoza-Jonas <sam.mj@au1.ibm.com>2014-12-03 15:08:23 +1100
committerJeremy Kerr <jk@ozlabs.org>2014-12-03 12:12:47 +0800
commit9c33c54f7b431074a7d0daddce34140044aaadf6 (patch)
treef726dca93146b8218f4c5711a49b4eb1fe49c12a /discover/network.c
parentba1633025d93d7b41bda9bd32fa1d2337c7c4365 (diff)
downloadtalos-petitboot-9c33c54f7b431074a7d0daddce34140044aaadf6.tar.gz
talos-petitboot-9c33c54f7b431074a7d0daddce34140044aaadf6.zip
discover/pxe: Format IPAPPEND mac addresses correctly
The SYSAPPEND/IPAPPEND option 2 in PXE configs requires the MAC address of the booting interface to be appended to the boot options. Previously we formatted this as "BOOTIF=01:02:03:04:05:06", but syslinux/pxelinux implementation use this format: "BOOTIF=01-01-02-03-04-05-06", where the leading '01' represents the hardware type. The relevant part of the pxelinux doc is at: http://www.syslinux.org/wiki/index.php/SYSLINUX#SYSAPPEND_bitmask Signed-off-by: Samuel Mendoza-Jonas <sam.mj@au1.ibm.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'discover/network.c')
-rw-r--r--discover/network.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/discover/network.c b/discover/network.c
index c9460ac..3946694 100644
--- a/discover/network.c
+++ b/discover/network.c
@@ -109,6 +109,19 @@ static struct interface *find_interface_by_name(struct network *network,
return NULL;
}
+uint8_t *find_mac_by_name(void *ctx, struct network *network,
+ const char *name)
+{
+ struct interface *interface;
+
+ interface = find_interface_by_name(network, name);
+ if (!interface)
+ return NULL;
+
+ return talloc_memdup(ctx, &interface->hwaddr,
+ sizeof(uint8_t) * HWADDR_SIZE);
+}
+
static int network_init_netlink(struct network *network)
{
struct sockaddr_nl addr;
OpenPOWER on IntegriCloud