#!/bin/sh

. /lib/functions.sh

generate_dot1x_client() {
    touch /etc/config/dot1x

	json_select switch
	json_select switch0
	json_get_keys keys ports
	json_select ports
	for i in $keys; do
		json_select "$i"
		json_get_var index "index"
		json_get_var num "num"
		json_get_var role "role"
		[ -z "$index" ] && index="$num"
		[ -n "$role" ] && {
			port_name="$role"
			[ "$role" = "lan" ] && port_name="$port_name$index"
			port_section="_$role$num"
			uci -q batch <<-EOF
				set dot1x.$port_section='port'
				set dot1x.$port_section.role='client'
				set dot1x.$port_section.enabled='0'
				set dot1x.$port_section.iface='$port_name'
			EOF
		}
		json_select ..
	done
}

conf_file_register_hook generate_dot1x_client /etc/config/dot1x