[pxe] Implement PXENV_UNDI_{GET,SET}_MCAST_ADDRESS
authorMichael Brown <mcb30@etherboot.org>
Sat, 27 Jun 2009 14:45:27 +0000 (15:45 +0100)
committerMichael Brown <mcb30@etherboot.org>
Sat, 27 Jun 2009 14:46:06 +0000 (15:46 +0100)
commitf186ada2d3ab7f4f03f3c3ac8e9bf3577fb00504
tree859f9a736f0d3ef12ea42b0d39d7baa56f347c7e
parent9580f9d5cd41b972354a7dfbf69538e07d971cc6
[pxe] Implement PXENV_UNDI_{GET,SET}_MCAST_ADDRESS

Symantec Ghost requires working multicast support.  gPXE configures
all (sufficiently supported) network adapters into "receive all
multicasts" mode, which means that PXENV_UNDI_SET_MCAST_ADDRESS is
actually a no-op, but the current implementation returns
PXENV_STATUS_UNSUPPORTED instead.

Fix by making PXENV_UNDI_SET_MCAST_ADDRESS return success.  For good
measure, also implement PXENV_UNDI_GET_MCAST_ADDRESS, since the
relevant functionality is now exposed by the net device core.

Note that this will silently fail if the gPXE driver for the NIC being
used fails to configure the NIC in "receive all multicasts" mode.
src/arch/i386/interface/pxe/pxe_undi.c