]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[netdevice] Allow duplicate MAC addresses
authorMichael Brown <mcb30@ipxe.org>
Sat, 14 Jan 2023 00:31:54 +0000 (00:31 +0000)
committerMichael Brown <mcb30@ipxe.org>
Sun, 15 Jan 2023 00:42:52 +0000 (00:42 +0000)
commitc4c03e5be867a9b7be4dc48fe6576deca1dce8d8
tree58243f0e5ae2b1907f7291de19de9416b288a565
parent47af48012e2afaaf56108466fb967009670660bb
[netdevice] Allow duplicate MAC addresses

Many laptops now include the ability to specify a "system-specific MAC
address" (also known as "pass-through MAC"), which is supposed to be
used for both the onboard NIC and for any attached docking station or
other USB NIC.  This is intended to simplify interoperability with
software or hardware that relies on a MAC address to recognise an
individual machine: for example, a deployment server may associate the
MAC address with a particular operating system image to be deployed.
This therefore creates legitimate situations in which duplicate MAC
addresses may exist within the same system.

As described in commit 98d09a1 ("[netdevice] Avoid registering
duplicate network devices"), the Xen netfront driver relies on the
rejection of duplicate MAC addresses in order to inhibit registration
of the emulated PCI devices that a Xen PV-HVM guest will create to
shadow each of the paravirtual network devices.

Move the code that rejects duplicate MAC addresses from the network
device core to the Xen netfront driver, to allow for the existence of
duplicate MAC addresses in non-Xen setups.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/net/ecm.c
src/drivers/net/netfront.c
src/drivers/net/netfront.h
src/include/ipxe/netdevice.h
src/net/netdevice.c