diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces b/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
index 765f19aaac732a24f397473ab41057e56e0b4991..795e7938d18a863263052cd491a44136a7354bb9 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
@@ -57,6 +57,10 @@ elseif platform.match('ath79', 'generic', {
 }) then
 	-- Temporary solution to separate interfaces in bridged default setup
 	lan_ifname, wan_ifname = 'eth0', 'eth1'
+elseif platform.match('ath79', 'generic', {
+	'ubnt,unifiac-pro',
+}) then
+	lan_ifname, wan_ifname = 'eth0.2', 'eth0.1'
 elseif platform.match('lantiq') then
 	local switch_data = board_data.switch or {}
 	local switch0_data = switch_data.switch0 or {}
diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/115-swconfig b/package/gluon-core/luasrc/lib/gluon/upgrade/115-swconfig
new file mode 100755
index 0000000000000000000000000000000000000000..01cd3811071b24f9fe721d4b4d907bdb41c4f7de
--- /dev/null
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/115-swconfig
@@ -0,0 +1,28 @@
+#!/usr/bin/lua
+
+local platform = require 'gluon.platform'
+local uci = require('simple-uci').cursor()
+
+local switch_vlans = {
+	-- device identifier, lan ports, wan ports
+	["ubnt,unifiac-pro"] = {"2 0t", "3 0t"},
+}
+
+local board_name = platform.get_board_name()
+local assignments = switch_vlans[board_name]
+
+if not platform.match('ath79', 'generic') or not assignments then
+	return
+end
+
+uci:delete_all('network', 'switch_vlan')
+
+for vlan, ports in ipairs(assignments) do
+	uci:section("network", "switch_vlan", nil, {
+		device = "switch0",
+		vlan = vlan,
+		ports = ports,
+	})
+end
+
+uci:save('network')
diff --git a/package/gluon-setup-mode/luasrc/lib/gluon/upgrade/320-setup-ifname b/package/gluon-setup-mode/luasrc/lib/gluon/upgrade/320-setup-ifname
index 195663dd4ba91021b3edf5f85d0c0857df077e4e..3692fee8e58426dac8dad0e4143f0f37fb5f1767 100755
--- a/package/gluon-setup-mode/luasrc/lib/gluon/upgrade/320-setup-ifname
+++ b/package/gluon-setup-mode/luasrc/lib/gluon/upgrade/320-setup-ifname
@@ -6,6 +6,7 @@ local sysconfig = require 'gluon.sysconfig'
 if platform.is_outdoor_device() or
 	platform.match('ath79', 'generic', {
 		'ubnt,unifi-ap-pro',
+		'ubnt,unifiac-pro',
 	})
 then
 	sysconfig.setup_ifname = sysconfig.single_ifname or sysconfig.wan_ifname