summaryrefslogtreecommitdiffstats
path: root/discover
diff options
context:
space:
mode:
Diffstat (limited to 'discover')
-rw-r--r--discover/device-handler.c8
-rw-r--r--discover/device-handler.h4
-rw-r--r--discover/pxe-parser.c6
3 files changed, 14 insertions, 4 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c
index af7918b..f8b7bf5 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -114,6 +114,12 @@ const struct discover_device *device_handler_get_device(
return handler->devices[index];
}
+struct network *device_handler_get_network(
+ const struct device_handler *handler)
+{
+ return handler->network;
+}
+
struct discover_boot_option *discover_boot_option_create(
struct discover_context *ctx,
struct discover_device *device)
@@ -788,8 +794,8 @@ struct discover_context *device_handler_discover_context_create(
struct discover_context *ctx;
ctx = talloc_zero(handler, struct discover_context);
+ ctx->handler = handler;
ctx->device = device;
- ctx->network = handler->network;
list_init(&ctx->boot_options);
return ctx;
diff --git a/discover/device-handler.h b/discover/device-handler.h
index fe8a3b0..874133d 100644
--- a/discover/device-handler.h
+++ b/discover/device-handler.h
@@ -54,12 +54,12 @@ struct discover_boot_option {
struct discover_context {
+ struct device_handler *handler;
struct parser *parser;
struct event *event;
struct discover_device *device;
struct list boot_options;
struct pb_url *conf_url;
- struct network *network;
void *test_data;
};
@@ -79,6 +79,8 @@ void device_handler_destroy(struct device_handler *devices);
int device_handler_get_device_count(const struct device_handler *handler);
const struct discover_device *device_handler_get_device(
const struct device_handler *handler, unsigned int index);
+struct network *device_handler_get_network(
+ const struct device_handler *handler);
struct discover_device *discover_device_create(struct device_handler *handler,
const char *uuid, const char *id);
diff --git a/discover/pxe-parser.c b/discover/pxe-parser.c
index 8237c4b..cd5f149 100644
--- a/discover/pxe-parser.c
+++ b/discover/pxe-parser.c
@@ -11,6 +11,7 @@
#include <file/file.h>
#include <i18n/i18n.h>
+#include "device-handler.h"
#include "parser.h"
#include "parser-conf.h"
#include "parser-utils.h"
@@ -108,8 +109,9 @@ static void pxe_process_sysappend(struct discover_context *ctx,
return;
if (val & 0x2) {
- uint8_t *mac = find_mac_by_name(ctx, ctx->network,
- event->device);
+ uint8_t *mac = find_mac_by_name(ctx,
+ device_handler_get_network(ctx->handler),
+ event->device);
str = pxe_sysappend_mac(ctx, mac);
if (str) {
pxe_append_string(opt, str);
OpenPOWER on IntegriCloud