Оказывается, это неправильное понимание настроек интерфейса ядра для wake-on-lan. Из руководства пользователя ethtool :
Sets Wake-on-LAN options. Not all devices support this. The argument to this option is a string of characters specifying which options to enable. p Wake on PHY activity u Wake on unicast messages m Wake on multicast messages b Wake on broadcast messages a Wake on ARP g Wake on MagicPacket™ s Enable SecureOn™ password for MagicPacket™ d Disable (wake on nothing). This option clears all previous options.
Я предполагал, что одноадресные или широковещательные флаги будут ограничивать источник магического пакета, то есть:
- ug: активировать только при получении одноадресного WoL-пакета
- bg: активировать только при получении широковещательного пакета WoL
Однако флаги одноадресной или широковещательной передачи соответствуют любым одноадресным или широковещательным пакетам. Что на самом деле происходит:
- ug: разбудить, если был получен одноадресный пакет или если был получен пакет WoL (одноадресный или широковещательный; не имеет значения, если совпадает MAC)
- bg: пробуждение, если был принят широковещательный пакет или получен пакет WoL (одноадресная или широковещательная; не имеет значения, если совпадает MAC)
Конечно, обычное одноадресное предупреждение применяется к флагам одноадресной (u) и WoL (g): одноадресные пакеты могут быть получены только в том случае, если MAC-адрес цели все еще удерживается таблицей ARP.