#!/bin/sh /etc/rc.common . /lib/functions.sh START=22 USE_PROCD=1 vlan_inf_conf() { local name baseifname ifname local vlan8021p vlan8021q config_get name $1 name config_get baseifname $1 baseifname config_get ifname $1 ifname config_get vlan8021p $1 vlan8021p config_get vlan8021q $1 vlan8021q [ -n "$name" ] || return uci -q set network.$name=device uci -q set network.$name.type=8021q uci -q set network.$name.priority=$vlan8021p uci -q set network.$name.vid="$vlan8021q" uci -q set network.$name.ifname="$baseifname" uci -q set network.$name.name="$baseifname.$vlan8021q" } start_service() { config_load layer2_interface_vlan config_foreach vlan_inf_conf vlan_interface ubus call uci commit '{"config":"network"}' } service_triggers() { procd_add_reload_trigger layer2_interface_vlan }