* luci/libs/uvl: move most schemes to their corresponding packages
[project/luci.git] / modules / admin-core / root / lib / uci / schema / default / network
diff --git a/modules/admin-core/root/lib/uci/schema/default/network b/modules/admin-core/root/lib/uci/schema/default/network
new file mode 100644 (file)
index 0000000..57d02a6
--- /dev/null
@@ -0,0 +1,277 @@
+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=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 descriptions     'Number of connection failures before reconnect'
+       option section  'network.interface'
+       option datatype 'uint'
+       list depends    proto=pppoe
+       list depends    proto=pptp
+
+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=pptp
+
+config variable
+       option name     'username'
+       option title    'Username'
+       option section  'network.interface'
+       option datatype 'string'
+       list depends    proto=pppoe
+       list depends    proto=pptp
+
+config variable
+       option name     'password'
+       option title    'Password'
+       option section  'network.interface'
+       option datatype 'string'
+       list depends    proto=pppoe
+       list depends    proto=pptp
+
+config variable
+       option name     'server'
+       option title    'PPTP server'
+       option section  'network.interface'
+       option datatype 'ipaddr'
+       list depends    proto=pptp
+
+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    'Retrieve IP address via PPPoE'
+
+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 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'
+       option required true
+
+
+
+config section
+       option name     'switch'
+       option title    'Section switch'
+       option package  'network'
+       option named    true
+       option dynamic  true
+       option required true