'use strict';'require uci';'require form';'require network';network.registerPatternVirtual(/^l2tp-.+$/);return network.registerProtocol('l2tp',{getI18n:function(){return _('L2TP');},getIfname:function(){return this._ubus('l3_device')||'l2tp-%s'.format(this.sid);},getPackageName:function(){return'xl2tpd';},isFloating:function(){return true;},isVirtual:function(){return true;},getDevices:function(){return null;},containsDevice:function(ifname){return(network.getIfnameOf(ifname)==this.getIfname());},renderFormOptions:function(s){var dev=this.getL3Device()||this.getDevice(),o;o=s.taboption('general',form.Value,'server',_('L2TP Server'));o.datatype='or(host(1), hostport(1))';s.taboption('general',form.Value,'username',_('PAP/CHAP username'));o=s.taboption('general',form.Value,'password',_('PAP/CHAP password'));o.password=true;if(L.hasSystemFeature('ipv6')){o=s.taboption('advanced',form.ListValue,'ppp_ipv6',_('Obtain IPv6 address'),_('Enable IPv6 negotiation on the PPP link'));o.ucioption='ipv6';o.value('auto',_('Automatic'));o.value('0',_('Disabled'));o.value('1',_('Manual'));o.default='auto';}
o=s.taboption('advanced',form.Value,'mtu',_('Override MTU'));o.placeholder=dev?(dev.getMTU()||'1500'):'1500';o.datatype='max(9200)';}});