summaryrefslogtreecommitdiffstats
path: root/src/interface/pxe/pxe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interface/pxe/pxe.c')
-rw-r--r--src/interface/pxe/pxe.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/interface/pxe/pxe.c b/src/interface/pxe/pxe.c
index 8aa7df0d..5e67758b 100644
--- a/src/interface/pxe/pxe.c
+++ b/src/interface/pxe/pxe.c
@@ -22,12 +22,24 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include "dev.h"
+#include <gpxe/netdevice.h>
#include "pxe.h"
-#warning "pxe_netdev should hold a persistent reference to the net device"
struct net_device *pxe_netdev = NULL;
+/**
+ * Set network device as current PXE network device
+ *
+ * @v netdev Network device, or NULL
+ */
+void pxe_set_netdev ( struct net_device *netdev ) {
+ if ( pxe_netdev )
+ netdev_put ( pxe_netdev );
+ pxe_netdev = NULL;
+ if ( netdev )
+ pxe_netdev = netdev_get ( netdev );
+}
+
#if 0
/* Global pointer to currently installed PXE stack */