Skip to content
  • Thomas Haller's avatar
    device: extend MAC address handling including randomization for ethernet and wifi · 8eed6712
    Thomas Haller authored
    Extend the "ethernet.cloned-mac-address" and "wifi.cloned-mac-address"
    settings. Instead of specifying an explicit MAC address, the additional
    special values "permanent", "preserve", "random", "random-bia", "stable" and
    "stable-bia" are supported.
    
    "permanent" means to use the permanent hardware address. Previously that
    was the default if no explict cloned-mac-address was set. The default is
    thus still "permanent", but it can be overwritten by global
    configuration.
    
    "preserve" means not to configure the MAC address when activating the
    device. That was actually the default behavior before introducing MAC
    address handling with commit 1b49f941.
    
    "random" and "random-bia" use a randomized MAC address for each
    connection. "stable" and "stable-bia" use a generated, stable
    address based on some token. The "bia" suffix says to generate a
    burned-in address. The stable method by default uses as token the
    connection UUID, but the token can be explicitly choosen via
    "stable:<TOKEN>" and "stable-bia:<TOKEN>".
    
    On a D-Bus level, the "cloned-mac-address" is a bytestring and thus
    cannot express the new forms. It is replaced by the new
    "assigned-mac-address" field. For the GObject property, libnm's API,
    nmcli, keyfile, etc. the old name "cloned-mac-address" is still used.
    Deprecating the old field seems more complicated then just extending
    the use of the existing "cloned-mac-address" field, although the name
    doesn't match well with the extended meaning.
    
    There is some overlap with the "wifi.mac-address-randomization" setting.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=705545
    https://bugzilla.gnome.org/show_bug.cgi?id=708820
    https://bugzilla.gnome.org/show_bug.cgi?id=758301
    8eed6712