From 9290539ca9c7b296891b1b386052c0fe308e9a62 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sat, 28 Nov 2020 11:43:47 +0100 Subject: base-files: allow setting device and bridge macs Add code for setting mac addresses inside board.json and rendering them out to uci. On switches we want to have a unique MAC on each port. With 48 port switches that would require 48 device sections in /etc/config/network. Doing so via board.json is easier. Signed-off-by: John Crispin --- package/base-files/files/lib/functions/uci-defaults.sh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'package/base-files/files/lib') diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh index 39bbeda24c..2f50cd6bfd 100755 --- a/package/base-files/files/lib/functions/uci-defaults.sh +++ b/package/base-files/files/lib/functions/uci-defaults.sh @@ -91,7 +91,23 @@ ucidef_set_interfaces_lan_wan() { } ucidef_set_bridge_device() { - json_add_string bridge "${1:switch0}" + json_select_object bridge + json_add_string name "${1:switch0}" + json_select .. +} + +ucidef_set_bridge_mac() { + json_select_object bridge + json_add_string macaddr "${1}" + json_select .. +} + +ucidef_set_network_device_mac() { + json_select_object "network-device" + json_select_object "${1}" + json_add_string macaddr "${2}" + json_select .. + json_select .. } _ucidef_add_switch_port() { -- cgit v1.2.3