package network

config package
	option title	'Network configuration'

config section
	option name	'interface'
	option title	'Network interface'
	option package	'network'
	list   depends	'proto=static, ipaddr, netmask'
	list   depends	'proto=static, ip6addr'
	list   depends	'proto=pppoe, username, password'
	list   depends  'proto=pppoa, username, password, encaps, vpi, vci'
	list   depends	'proto=ppp, device'
	list   depends	'proto=3g, device'
	list   depends	'proto=pptp, username, password, server'
	list   depends	'proto=dhcp'
	list   depends	'proto=none'
	option named	'true'
	option required	'true'

config variable
	option name	'ifname'
	option title	'Physical interface'
	option section	'network.interface'

config variable
	option name	'macaddr'
	option title	'Interface MAC address'
	option section	'network.interface'
	option datatype	'macaddr'

config variable
	option name	'mtu'
	option title	'MTU'
	option section	'network.interface'
	option datatype	'uint'

config variable
	option name	'ipaddr'
	option title	'IPv4 host address'
	option section	'network.interface'
	option datatype	'ip4addr'

config variable
	option name	'netmask'
	option title	'IPv4 network mask'
	option section	'network.interface'
	option datatype	'ip4addr'

config variable
	option name	'gateway'
	option title	'IPv4 gateway'
	option section	'network.interface'
	option datatype	'ip4addr'

config variable
	option name	'bcast'
	option title	'IPv4 broadcast address'
	option section	'network.interface'
	option datatype	'ip4addr'

config variable
	option name	'ip6addr'
	option title	'IPv6 address (CIDR)'
	option section	'network.interface'
	option datatype	'ip6addr'

config variable
	option name	'ip6gw'
	option title	'IPv6 gateway'
	option section	'network.interface'
	option datatype	'ip6addr'

config variable
	option name	'dns'
	option title	'DNS server (IPv4 or IPv6)'
	option section	'network.interface'
	option datatype	'ipaddr'
	option multival 'true'

config variable
	option name	'keepalive'
	option title	'keep-alive'
	option description	'Number of connection failures before reconnect'
	option section	'network.interface'
	option datatype	'string'
	list   depends	'proto=pppoe'
	list   depends	'proto=pptp'
	list   depends	'proto=ppp'
	list   depends	'proto=3g'
	list   depends  'proto=pppoa'

config variable
	option name	'demand'
	option title	'Dial on-demand'
	option description	'Number of seconds to wait before closing the connection due to inactivity'
	option section	'network.interface'
	option datatype	'uint'
	list   depends	'proto=pppoe'
	list   depends  'proto=pppoa'
	list   depends	'proto=pptp'
	list   depends	'proto=ppp'
	list   depends	'proto=3g'

config variable
	option name	'username'
	option title	'Username'
	option section	'network.interface'
	option datatype	'string'
	list   depends  'proto=pppoa'
	list   depends	'proto=pppoe'
	list   depends	'proto=pptp'
	list   depends	'proto=ppp'
	list   depends	'proto=3g'

config variable
	option name	'password'
	option title	'Password'
	option section	'network.interface'
	option datatype	'string'
	list   depends	'proto=pppoe'
	list   depends  'proto=pppoa'
	list   depends	'proto=pptp'
	list   depends	'proto=ppp'
	list   depends	'proto=3g'

config variable
	option name     'encaps'
	option title    'PPPoA encapsulation mode'
	option section  'network.interface'
	option type     'enum'
	list   depends  'proto=pppoa'

config enum
	option variable 'network.interface.encaps'
	option value    'vc'
	option title    'VC'

config enum
	option variable 'network.interface.encaps'
	option value    'llc'
	option title    'LLC'

config variable
	option name     'vpi'
	option title	'PPPoA VPI'
	option section  'network.interface'
	option datatype 'uint'
	list   depends  'proto=pppoa'

config variable
	option name     'vci'
	option title    'PPPoA VCI'
	option section  'network.interface'
	option datatype 'uint'
	list   depends  'proto=pppoa'

config variable
	option name	'server'
	option title	'PPTP server'
	option section	'network.interface'
	option datatype	'host'
	list   depends	'proto=pptp'

config variable
	option name	'device'
	option title	'Modem device'
	option section	'network.interface'
	option datatype	'device'
	list   depends	'proto=ppp'
	list   depends	'proto=3g'

config variable
	option name	'defaultroute'
	option title	'Replace default route'
	option section	'network.interface'
	option datatype	'boolean'
	list   depends	'proto=ppp'
	list   depends  'proto=pppoa'
        list   depends  'proto=pppoe'
	list   depends  'proto=pptp'
	list   depends	'proto=3g'

config variable
	option name	'peerdns'
	option title	'Use peer DNS'
	option section	'network.interface'
	option datatype	'boolean'
	list   depends	'proto=ppp'
	list   depends  'proto=pppoe'
	list   depends  'proto=pppoa'
	list   depends  'proto=pptp'
	list   depends	'proto=3g'

config variable
	option name	'ipv6'
	option title	'Enable IPv6 on PPP link'
	option section	'network.interface'
	option datatype	'boolean'
	list   depends	'proto=ppp'
	list   depends  'proto=pppoe'
	list   depends  'proto=pppoa'
	list   depends  'proto=pptp'
	list   depends	'proto=3g'

config variable
	option name	'connect'
	option title	'PPP connect script'
	option section	'network.interface'
	option datatype	'file'
	list   depends	'proto=ppp'
	list   depends  'proto=pppoe'
	list   depends	'proto=pppoa'
	list   depends  'proto=pptp'
	list   depends	'proto=3g'

config variable
	option name	'disconnect'
	option title	'PPP disconnect script'
	option section	'network.interface'
	option datatype	'file'
	list   depends	'proto=ppp'
	list   depends  'proto=pppoe'
	list   depends  'proto=pppoa'
	list   depends  'proto=pptp'
	list   depends	'proto=3g'

config variable
	option name	'pppd_options'
	option title	'Additional PPP daemon options'
	option section	'network.interface'
	option datatype	'string'
	list   depends	'proto=ppp'
	list   depends  'proto=pppoe'
	list   depends  'proto=pppoa'
	list   depends  'proto=pptp'
	list   depends	'proto=3g'

config variable
	option name	'maxwait'
	option title	'Setup wait time'
	option description	'Number of seconds to wait for the device to become ready'
	option section	'network.interface'
	option datatype	'uint'
	list   depends	'proto=3g'

config variable
	option name	'apn'
	option title	'Access point (APN)'
	option section	'network.interface'
	option datatype	'string'
	list   depends	'proto=3g'

config variable
	option name	'pincode'
	option title	'PIN code'
	option section	'network.interface'
	option datatype	'uint'
	list   depends	'proto=3g'

config variable
	option name	'service'
	option title	'Service type'
	option section	'network.interface'
	option type		'enum'
	list   depends	'proto=3g'

config enum
	option variable	'network.interface.service'
	option value	'umts'
	option title	'UMTS/GPRS'

config enum
	option variable	'network.interface.service'
	option value	'cdma'
	option title	'CDMA'

config enum
	option variable	'network.interface.service'
	option value	'evdo'
	option title	'EV-DO'

config variable
	option name	'proto'
	option title	'Protocol'
	option section	'network.interface'
	option type		'enum'
	option required	'true'

config enum
	option variable	'network.interface.proto'
	option value	'none'
	option title	'Disabled'

config enum
	option variable	'network.interface.proto'
	option value	'dhcp'
	option title	'Retrieve IP address via DHCP'
	option default	'true'

config enum
	option variable	'network.interface.proto'
	option value	'pptp'
	option title	'Interface is a PPTP tunnel endpoint'

config enum
	option variable	'network.interface.proto'
	option value	'static'
	option title	'Interface has static network configuration'

config enum
	option variable	'network.interface.proto'
	option value	'pppoe'
	option title	'Interface is a PPPoE connection'

config enum
	option variable	'network.interface.proto'
	option value	'pppoa'
	option title	'Interface is a PPPoA connection'

config enum
	option variable	'network.interface.proto'
	option value	'ppp'
	option title	'Interface is a PPP connection'

config enum
	option variable	'network.interface.proto'
	option value	'3g'
	option title	'3G UMTS/GPRS connection'

config variable
	option name	'type'
	option title	'Option type'
	option section	'network.interface'
	option type	'enum'

config enum
	option variable	'network.interface.type'
	option value	'bridge'
	option title	'This is a bridge interface'
	
config variable
	option name	'stp'
	option title	'Enable STP'
	option section	'network.interface'
	option datatype	'boolean'
	option depends	'type=bridge'



config section
	option name	'alias'
	option title	'Alias interface definition'
	option package	'network'
	list   depends	'proto=static, ipaddr, netmask'
	list   depends	'proto=static, ip6addr'
	option named	'true'

config variable
	option name	'interface'
	option title	'Parent interface'
	option section	'network.alias'
	option valueof  'network.interface'
	option required	'true'

config variable
	option name	'ipaddr'
	option title	'IPv4 host address'
	option section	'network.alias'
	option datatype	'ip4addr'

config variable
	option name	'netmask'
	option title	'IPv4 network mask'
	option section	'network.alias'
	option datatype	'ip4addr'

config variable
	option name	'gateway'
	option title	'IPv4 gateway'
	option section	'network.alias'
	option datatype	'ip4addr'

config variable
	option name	'bcast'
	option title	'IPv4 broadcast address'
	option section	'network.alias'
	option datatype	'ip4addr'

config variable
	option name	'ip6addr'
	option title	'IPv6 address (CIDR)'
	option section	'network.alias'
	option datatype	'ip6addr'

config variable
	option name	'ip6gw'
	option title	'IPv6 gateway'
	option section	'network.alias'
	option datatype	'ip6addr'

config variable
	option name	'dns'
	option title	'DNS server (IPv4 or IPv6)'
	option section	'network.alias'
	option datatype	'ipaddr'

config variable
	option name	'proto'
	option title	'Protocol'
	option section	'network.alias'
	option type		'enum'
	option required	'true'

config enum
	option variable	'network.alias.proto'
	option value	'static'
	option title	'Interface has static network configuration'



config section
	option name	'route'
	option title	'Static route definition'
	option package	'network'

config variable
	option name	'interface'
	option title	'Interface'
	option section	'network.route'
	option valueof  'network.interface'
	option required	'true'

config variable
	option name	'target'
	option title	'Target IPv4 host or network'
	option section	'network.route'
	option datatype	'ip4addr'
	option required	'true'

config variable
	option name	'netmask'
	option title	'Target IPv4 netmask'
	option section	'network.route'
	option datatype	'ip4addr'

config variable
	option name	'gateway'
	option title	'IPv4 gateway'
	option section	'network.route'
	option datatype	'ip4addr'

config variable
	option name	'metric'
	option title	'Metric'
	option section	'network.route6'
	option datatype	'uint'



config section
	option name	'route6'
	option title	'Static IPv6 route definition'
	option package	'network'

config variable
	option name	'interface'
	option title	'Interface'
	option section	'network.route6'
	option valueof  'network.interface'
	option required	'true'

config variable
	option name	'target'
	option title	'Target IPv6 host or network (CIDR)'
	option section	'network.route6'
	option datatype	'ip6addr'
	option required	'true'

config variable
	option name	'gateway'
	option title	'IPv6 gateway'
	option section	'network.route6'
	option datatype	'ip6addr'
	option required	'false'

config variable
	option name	'metric'
	option title	'Metric'
	option section	'network.route6'
	option datatype	'uint'



config section
	option name	'switch'
	option title	'Section switch'
	option package	'network'
	option named	'true'
	option dynamic	'true'
	option required	'true'
