diff --git a/package/gluon-core/files/lib/gluon/label_mac.sh b/package/gluon-core/files/lib/gluon/label_mac.sh new file mode 100755 index 00000000..3479324b --- /dev/null +++ b/package/gluon-core/files/lib/gluon/label_mac.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +. /lib/functions/system.sh + +get_mac_label diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac index 18694936..f4cbfdab 100755 --- a/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac +++ b/package/gluon-core/luasrc/lib/gluon/upgrade/010-primary-mac @@ -54,6 +54,19 @@ local function interface(name) end end +local function label_mac() + return function() + local mac = util.exec('/lib/gluon/label_mac.sh') + + if mac == nil then return nil end + + mac = util.trim(mac) + if string.len(mac) ~= 17 then return nil end + + return mac + end +end + -- Entries are matched in the order they are listed local primary_addrs = { @@ -148,6 +161,10 @@ local primary_addrs = { 'dir-860l-b1', }}, }}, + -- label-mac-device default + {label_mac(), { + {}, -- matches everything + }}, -- phy0 default {phy(0), { {}, -- matches everything