mirror of
https://github.com/xcat2/xNBA.git
synced 2024-12-12 06:16:29 +00:00
[pxe] Add startpxe and stoppxe commands
These commands can be used to activate or deactivate the PXE API (on a specifiable network interface). This is currently of limited use, since most image formats will call shutdown() before booting the image, meaning that the underlying net device gets shut down during remove_devices() anyway.
This commit is contained in:
parent
76c915d5bd
commit
546cc62394
@ -81,6 +81,7 @@ SRCDIRS += arch/i386/drivers/net
|
||||
SRCDIRS += arch/i386/interface/pcbios
|
||||
SRCDIRS += arch/i386/interface/pxe
|
||||
SRCDIRS += arch/i386/interface/syslinux
|
||||
SRCDIRS += arch/i386/hci/commands
|
||||
|
||||
# The various xxx_loader.c files are #included into core/loader.c and
|
||||
# should not be compiled directly.
|
||||
|
33
src/arch/i386/hci/commands/pxe_cmd.c
Normal file
33
src/arch/i386/hci/commands/pxe_cmd.c
Normal file
@ -0,0 +1,33 @@
|
||||
#include <gpxe/netdevice.h>
|
||||
#include <gpxe/command.h>
|
||||
#include <hci/ifmgmt_cmd.h>
|
||||
#include <pxe_call.h>
|
||||
|
||||
FILE_LICENCE ( GPL2_OR_LATER );
|
||||
|
||||
static int startpxe_payload ( struct net_device *netdev ) {
|
||||
if ( netdev->state & NETDEV_OPEN )
|
||||
pxe_activate ( netdev );
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int startpxe_exec ( int argc, char **argv ) {
|
||||
return ifcommon_exec ( argc, argv, startpxe_payload,
|
||||
"Activate PXE on" );
|
||||
}
|
||||
|
||||
static int stoppxe_exec ( int argc __unused, char **argv __unused ) {
|
||||
pxe_deactivate();
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct command pxe_commands[] __command = {
|
||||
{
|
||||
.name = "startpxe",
|
||||
.exec = startpxe_exec,
|
||||
},
|
||||
{
|
||||
.name = "stoppxe",
|
||||
.exec = stoppxe_exec,
|
||||
},
|
||||
};
|
@ -105,6 +105,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||
#define LOGIN_CMD /* Login command */
|
||||
#undef TIME_CMD /* Time commands */
|
||||
#undef DIGEST_CMD /* Image crypto digest commands */
|
||||
#define PXE_CMD /* PXE commands */
|
||||
|
||||
/*
|
||||
* Obscure configuration options
|
||||
|
@ -204,6 +204,9 @@ REQUIRE_OBJECT ( time_cmd );
|
||||
#ifdef DIGEST_CMD
|
||||
REQUIRE_OBJECT ( digest_cmd );
|
||||
#endif
|
||||
#ifdef PXE_CMD
|
||||
REQUIRE_OBJECT ( pxe_cmd );
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Drag in miscellaneous objects
|
||||
|
Loading…
Reference in New Issue
Block a user