What happened to 'ether' and 'hwaddr' in ifconfig output when lagg is used?

I have HPE Microserver Gen10 with BCM5720 dual-port NIC. And I want to use WoL to boot Gen10 from poweroff.

I configured static link aggregation as below:

Code:
root@gen10:~ # ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether b8:83:03:46:05:3c
        media: Ethernet autoselect (1000baseT <full-duplex,master>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
bge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether b8:83:03:46:05:3c
        hwaddr b8:83:03:46:05:3d
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000
        groups: lo
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether b8:83:03:46:05:3c
        inet 192.168.2.10 netmask 0xffffff00 broadcast 192.168.2.255
        laggproto loadbalance lagghash l3,l4
        laggport: bge0 flags=4<ACTIVE>
        laggport: bge1 flags=4<ACTIVE>
        groups: lagg
        media: Ethernet autoselect
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

Why can I use 'hwaddr b8:83:03:46:05:3d' of bge1 as WoL address and then wake system, but not 'ether b8:83:03:46:05:3c' of lagg0 and bge0 to wake system?
 
I use LAGG over fiber interfaces.

But for machines that work with WOL you will usually see the info under ifconfig option WOL_MAGIC

Code:
em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>
    ether 00:00:00:xx:89:g5
    inet 68.00.00.00 netmask 0xfffff800 broadcast 68.00.00.00
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
 
I see my em1 interface also offers WOL.
Code:
em1: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>
    ether 00:00:00:aa:bb:1b
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    media: Ethernet autoselect
    status: no carrier
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

But would a copper based LAGG interface pass through a WOL packet ...... I don't know.
 
I see my em1 interface also offers WOL.
Code:
em1: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=481249b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LRO,WOL_MAGIC,VLAN_HWFILTER,NOMAP>
    ether 00:00:00:aa:bb:1b
    inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
    media: Ethernet autoselect
    status: no carrier
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

But would a copper based LAGG interface pass through a WOL packet ...... I don't know.
What is the full ifconfig output of your machine?
I don't see the 'hwaddr' on your em0 and em1.

Besides, according to this post https://forums.freebsd.org/threads/wake-on-lan-of-bge-nic-driver-is-supported.89859/, my bge(4) seems not to support WoL. But I can still use it to boot my machine.
 
The bge driver doesn't care of the WOL options (because there is no code for that), so you can't view or manipulate them. But, this doesn't imply your card cannot wake the machine. This card has the capability to do so (like all network cards nowadays).

Practically, it's one or a few bits that are set in the nvram of the card. Boot on another OS with a WOL-aware driver and deactivate the thing and that card won't react to WOL anymore.
 
Practically, it's one or a few bits that are set in the nvram of the card. Boot on another OS with a WOL-aware driver and deactivate the thing and that card won't react to WOL anymore.
usually you will also find WoL-options for all NICs in the BIOS/UEFI
 
Back
Top