+if has_pppoa then
+ encaps = s:taboption("general", ListValue, "encaps", translate("network_interface_encaps"))
+ encaps:depends("proto", "pppoa")
+ encaps:value("", translate("cbi_select"))
+ encaps:value("vc", "VC")
+ encaps:value("llc", "LLC")
+
+ vpi = s:taboption("general", Value, "vpi", "VPI")
+ vpi:depends("proto", "pppoa")
+
+ vci = s:taboption("general", Value, "vci", "VCI")
+ vci:depends("proto", "pppoa")
+end
+
+if has_pptp or has_pppd or has_pppoe or has_pppoa or has_3g then
+ device = s:taboption("general", Value, "device",
+ translate("network_interface_device"),
+ translate("network_interface_device_desc")
+ )
+ device:depends("proto", "ppp")
+ device:depends("proto", "3g")
+
+ defaultroute = s:taboption("general", Flag, "defaultroute",
+ translate("network_interface_defaultroute"),
+ translate("network_interface_defaultroute_desc")
+ )
+ defaultroute:depends("proto", "ppp")
+ defaultroute:depends("proto", "pppoa")
+ defaultroute:depends("proto", "pppoe")
+ defaultroute:depends("proto", "pptp")
+ defaultroute:depends("proto", "3g")
+ defaultroute.rmempty = false
+ function defaultroute.cfgvalue(...)
+ return ( AbstractValue.cfgvalue(...) or '1' )
+ end
+
+ peerdns = s:taboption("general", Flag, "peerdns",
+ translate("network_interface_peerdns"),
+ translate("network_interface_peerdns_desc")
+ )
+ peerdns:depends("proto", "ppp")
+ peerdns:depends("proto", "pppoa")
+ peerdns:depends("proto", "pppoe")
+ peerdns:depends("proto", "pptp")
+ peerdns:depends("proto", "3g")
+ peerdns.rmempty = false
+ function peerdns.cfgvalue(...)
+ return ( AbstractValue.cfgvalue(...) or '1' )
+ end
+
+ ipv6 = s:taboption("general", Flag, "ipv6", translate("network_interface_ipv6") )
+ ipv6:depends("proto", "ppp")
+ ipv6:depends("proto", "pppoa")
+ ipv6:depends("proto", "pppoe")
+ ipv6:depends("proto", "pptp")
+ ipv6:depends("proto", "3g")
+
+ connect = s:taboption("general", Value, "connect",
+ translate("network_interface_connect"),
+ translate("network_interface_connect_desc")
+ )
+ connect:depends("proto", "ppp")
+ connect:depends("proto", "pppoe")
+ connect:depends("proto", "pppoa")
+ connect:depends("proto", "pptp")
+ connect:depends("proto", "3g")
+
+ disconnect = s:taboption("general", Value, "disconnect",
+ translate("network_interface_disconnect"),
+ translate("network_interface_disconnect_desc")
+ )
+ disconnect:depends("proto", "ppp")
+ disconnect:depends("proto", "pppoe")
+ disconnect:depends("proto", "pppoa")
+ disconnect:depends("proto", "pptp")
+ disconnect:depends("proto", "3g")
+
+ pppd_options = s:taboption("general", Value, "pppd_options",
+ translate("network_interface_pppd_options"),
+ translate("network_interface_pppd_options_desc")
+ )
+ pppd_options:depends("proto", "ppp")
+ pppd_options:depends("proto", "pppoa")
+ pppd_options:depends("proto", "pppoe")
+ pppd_options:depends("proto", "pptp")
+ pppd_options:depends("proto", "3g")
+
+ maxwait = s:taboption("general", Value, "maxwait",
+ translate("network_interface_maxwait"),
+ translate("network_interface_maxwait_desc")
+ )
+ maxwait:depends("proto", "3g")
+end