<?xml version="1.0" encoding="utf-8" ?>
<configSchema name="SecGate" version="dfl.2.00.00">
	
	<include schema="SecBase" version="dfl.2.00.00" />
	<include schema="Loader" version="dfl.2.00.00" />
	
  
	<class name="ProxyARP">
		<property name="ProxyARPAllInterfaces" type="boolean">
			<default value="false" />
		</property>
		<property name="ProxyARPInterfaces">
			<reference class="InterfaceBase" condition="eval(ProxyARPAllowed) &amp;&amp; Name != 'core' &amp;&amp; Name != 'any'" />
			<maxOccurs value="unbounded" />
			<minOccurs value="0" />
      
			<condition expr="ProxyARPAllInterfaces==false" />
		</property>
	</class>
  
	<class name="Log">
		<property name="LogEnabled" type="boolean">
			<default value="false" />
		</property>
		<property name="LogSeverity" type="string">
			<enumeration value="Debug" />
			<enumeration value="Info" />
			<enumeration value="Notice" />
			<enumeration value="Warning" />
			<enumeration value="Error" />
			<enumeration value="Critical" />
			<enumeration value="Alert" />
			<enumeration value="Emergency" />
			<default value="Notice" />
			<condition expr="LogEnabled==true" />
		</property>
		<property name="LogDestination" type="string">
			<enumeration value="AllReceivers" />
			<enumeration value="SpecifiedReceivers" />
			<default value="AllReceivers" />
			<condition expr="LogEnabled==true" />
		</property>
		<property name="LogReceivers">
			<reference class="LogReceiverBase" />
			<maxOccurs value="unbounded" />
			<condition expr="LogEnabled==true&amp;&amp;LogDestination==SpecifiedReceivers" />		
		</property>
	</class>
  
	<class name="SecurityGateway" extends="Node,SchemaContext">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
    <property name="GlobalVersion" type="integer">
			<min value="1"/>
			<default value="1"/>
		</property>
		<child class="SystemFolder" instantiate="static" />
		<child class="ObjectFolder" instantiate="static" />
		<child class="RuleFolder" instantiate="static" />
		<child class="InterfaceFolder" instantiate="static" />
		<child class="RoutingFolder" instantiate="static" />
		<child class="IDSFolder" instantiate="static" />
		<child class="UserAuthFolder" instantiate="static" />
		<child class="TrafficShapingFolder" instantiate="static" />
		<child class="ZoneDefenseFolder" instantiate="static" />
		<child class="Unit" instantiate="static" />
	</class>
	<viewTemplate name="WebUI.MiscClientsFolder"> 
        <column name="Type" /> 
        <column name="Comments" />
	</viewTemplate>	
  
	<class name="SystemFolder" extends="Node">
		<staticName value="System"/>
		<child class="DateTime" instantiate="static" />
		<child class="DNS" instantiate="static" />
		<child class="RemoteMgmtFolder" instantiate="static"/>
		<child class="LogFolder" instantiate="static"/>
		<child class="DHCPFolder" instantiate="static"/>
    <child class="MiscClientsFolder" instantiate="static" />
		<child class="AdvancedSettingsFolder" instantiate="static" />
		<description value="View and modify system parameters, such as date and time settings, logging and remote management." />
	</class>
  
	<class name="DateTime" extends="Node">
		<showInTree />
		<property name="TimeZone" type="integer">
			<enumeration value="-43200" displayValue="(GMT-12:00)" description="Eniwetok, Kwajalein" />
			<enumeration value="-39600" displayValue="(GMT-11:00)" description="Midway Island, Samoa" />
			<enumeration value="-36000" displayValue="(GMT-10:00)" description="Hawaii" />
			<enumeration value="-32400" displayValue="(GMT-09:00)" description="Alaska" />
			<enumeration value="-28800" displayValue="(GMT-08:00)" description="Pacific Time (US &amp; Canada)" />
			<enumeration value="-25200" displayValue="(GMT-07:00)" description="Mountain Time (US &amp; Canada), Arizona" />
			<enumeration value="-21600" displayValue="(GMT-06:00)" description="Central Time (US &amp; Canada), Mexico City" />
			<enumeration value="-18000" displayValue="(GMT-05:00)" description="Eastern Time (US &amp; Canada), Bogota, Lima, Quito" />
			<enumeration value="-14400" displayValue="(GMT-04:00)" description="Atlantic Time (US &amp; Canada), Caracas, La Paz" />
			<enumeration value="-12600" displayValue="(GMT-03:30)" description="Newfoundland" />
			<enumeration value="-10800" displayValue="(GMT-03:00)" description="Brasilia, Buenos Aires, Georgetown" />
			<enumeration value="-7200" displayValue="(GMT-02:00)" description="Mid-Atlantic" />
			<enumeration value="-3600" displayValue="(GMT-01:00)" description="Azores, Cape Verde Is." />
			<enumeration value="0" displayValue="(GMT)" description="Dublin, Edinburgh, Lisbon, London, Casablanca, Monrovia" />
			<enumeration value="3600" displayValue="(GMT+01:00)" description="Central European Time (CET)" />
			<enumeration value="7200" displayValue="(GMT+02:00)" description="Eastern European Time (EET)" />
			<enumeration value="10800" displayValue="(GMT+03:00)" description="Moscow, St.Petersburg, Baghdad, Kuwait, Riyadh" />
			<enumeration value="12600" displayValue="(GMT+03:30)" description="Tehran" />
			<enumeration value="14400" displayValue="(GMT+04:00)" description="Abu Dhabi, Baku, Muscat, Tbilist" />
			<enumeration value="16200" displayValue="(GMT+04:30)" description="Kabul" />
			<enumeration value="18000" displayValue="(GMT+05:00)" description="EKaterinburg, Islamabad, Karachi, Tashikent" />
			<enumeration value="19800" displayValue="(GMT+05:30)" description="New Delhi" />
			<enumeration value="21600" displayValue="(GMT+06:00)" description="Astana, Almaty, Colombo, Dhaka" />
			<enumeration value="25200" displayValue="(GMT+07:00)" description="Bangkok, Hanoi, Jakarta" />
			<enumeration value="28800" displayValue="(GMT+08:00)" description="Beijing, Hong Kong, Singapore, Taipei" />
			<enumeration value="32400" displayValue="(GMT+09:00)" description="Seoul, Tokoyo, Yakutsk" />
			<enumeration value="34200" displayValue="(GMT+09:30)" description="Adelaide, Darwin" />
			<enumeration value="36000" displayValue="(GMT+10:00)" description="Canberra, Guam, Port Moresby, Vladivostok" />
			<enumeration value="39600" displayValue="(GMT+11:00)" description="Magadan, Solomon Islands" />
			<enumeration value="43200" displayValue="(GMT+12:00)" description="Fiji, Kamchatka, Marshall Islands, Wellington" />
			<default value="3600" />
		</property>
		<property name="DSTEnabled" type="boolean">
			<default value="true" />
		</property>
		<property name="DSTOffset" type="integer">
			<min value="0" />
			<default value="60" />
			<condition expr="DSTEnabled==on" />
		</property>
		<property name="DSTStartMonth" type="integer">
			<enumeration value="1" displayValue="January" />
			<enumeration value="2" displayValue="February" />
			<enumeration value="3" displayValue="March" />
			<enumeration value="4" displayValue="April" />
			<enumeration value="5" displayValue="May" />
			<enumeration value="6" displayValue="June" />
			<enumeration value="7" displayValue="July" />
			<enumeration value="8" displayValue="August" />
			<enumeration value="9" displayValue="September" />
			<enumeration value="10" displayValue="October" />
			<enumeration value="11" displayValue="November" />
			<enumeration value="12" displayValue="December" />
			<default value="4" />
			<condition expr="DSTEnabled==on" />
		</property>
		<property name="DSTStartDay" type="integer">
			<enumeration value="1" />
			<enumeration value="2" />
			<enumeration value="3" />
			<enumeration value="4" />
			<enumeration value="5" />
			<enumeration value="6" />
			<enumeration value="7" />
			<enumeration value="8" />
			<enumeration value="9" />
			<enumeration value="10" />
			<enumeration value="11" />
			<enumeration value="12" />
			<enumeration value="13" />
			<enumeration value="14" />
			<enumeration value="15" />
			<enumeration value="16" />
			<enumeration value="17" />
			<enumeration value="18" />
			<enumeration value="19" />
			<enumeration value="20" />
			<enumeration value="21" />
			<enumeration value="22" />
			<enumeration value="23" />
			<enumeration value="24" />
			<enumeration value="25" />
			<enumeration value="26" />
			<enumeration value="27" />
			<enumeration value="28" />
			<enumeration value="29" />
			<enumeration value="30" />
			<enumeration value="31" />
			<default value="1" />
			<condition expr="DSTEnabled==on" />
		</property>
		<property name="DSTEndMonth" type="integer">
			<enumeration value="1" displayValue="January" />
			<enumeration value="2" displayValue="February" />
			<enumeration value="3" displayValue="March" />
			<enumeration value="4" displayValue="April" />
			<enumeration value="5" displayValue="May" />
			<enumeration value="6" displayValue="June" />
			<enumeration value="7" displayValue="July" />
			<enumeration value="8" displayValue="August" />
			<enumeration value="9" displayValue="September" />
			<enumeration value="10" displayValue="October" />
			<enumeration value="11" displayValue="November" />
			<enumeration value="12" displayValue="December" />
			<default value="10" />
			<condition expr="DSTEnabled==on" />
		</property>
		<property name="DSTEndDay" type="integer">
			<enumeration value="1" />
			<enumeration value="2" />
			<enumeration value="3" />
			<enumeration value="4" />
			<enumeration value="5" />
			<enumeration value="6" />
			<enumeration value="7" />
			<enumeration value="8" />
			<enumeration value="9" />
			<enumeration value="10" />
			<enumeration value="11" />
			<enumeration value="12" />
			<enumeration value="13" />
			<enumeration value="14" />
			<enumeration value="15" />
			<enumeration value="16" />
			<enumeration value="17" />
			<enumeration value="18" />
			<enumeration value="19" />
			<enumeration value="20" />
			<enumeration value="21" />
			<enumeration value="22" />
			<enumeration value="23" />
			<enumeration value="24" />
			<enumeration value="25" />
			<enumeration value="26" />
			<enumeration value="27" />
			<enumeration value="28" />
			<enumeration value="29" />
			<enumeration value="30" />
			<enumeration value="31" />
			<default value="1" />
			<condition expr="DSTEnabled==on" />
		</property>
		<property name="TimeSyncEnable" type="boolean">
			<default value="false" />
		</property>
		<property name="TimeSyncServerType" type="string">
			<enumeration value="SNTP" displayValue="SNTP" description="Simple Network Time Protocol" />
			<enumeration value="UDPTime" displayValue="UDP Time" description="UDP Time Protocol" />
			<default value="SNTP" />
			<condition expr="TimeSyncEnable==on" />
		</property>
		<property name="TimeSyncServer1">
			<reference class="IP4Address" condition="Address.eval(ishost) || Address.eval(IsDNS)" />
			<condition expr="TimeSyncEnable==on" />
      <addByRef />
		</property>
		<property name="TimeSyncServer2">
			<reference class="IP4Address" condition="Address.eval(ishost) || Address.eval(IsDNS)" />
			<allowNull />
			<condition expr="TimeSyncEnable==on" />
		  <addByRef />
    </property>
		<property name="TimeSyncServer3">
			<reference class="IP4Address" condition="Address.eval(ishost) || Address.eval(IsDNS)" />
			<allowNull />
			<condition expr="TimeSyncEnable==on" />
		  <addByRef />
    </property>
		<property name="TimeSyncInterval" type="integer">
      <min value="60" />
      <max value="604800" />
      <default value="86400" />
			<condition expr="TimeSyncEnable==on" />
		</property>
    <property name="TimeSyncMaxAdjust" type="integer">
      <min value="1" />
      <max value="9999999" />
      <default value="36000" />
			<condition expr="TimeSyncEnable==on" />
    </property>
    <property name="TimeSyncGroupIntervalSize" type="integer">
			<min value="0" />
			<max value="60" />
			<default value="10" />
      <condition expr="TimeSyncEnable==on" />
    </property>
		<description value="Set the date, time and time zone information for this system." />
	</class>
	
  
	<class name="DNS" extends="Node">
		<showInTree />
		<property name="DNSServer1">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="DNSServer2">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="DNSServer3">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
    <description value="Configure the DNS (Domain Name System) client settings." />
	</class>
	
  
	<class name="RemoteMgmtFolder" extends="Node">
		<staticName value="RemoteMgmt"/>
		<property name="NetConBiDirTimeout" type="integer">
			<min value="30" />
      <max value="7200" />
			<default value="30" />
		</property>
		<property name="WebUIBeforeRules" type="boolean">
			<default value="true" />
		</property>
		<property name="WWWSrv_HTTPPort" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="80" />
		</property>
		<property name="WWWSrv_HTTPSPort" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="443" />
		</property>
		<property name="HTTPSCertificate">
			<reference class="Certificate" condition="Type==Local"/>
			<allowNull />
		</property>
		<property name="NetconBeforeRules" type="boolean">
			<default value="true" />
		</property>
		<property name="SNMPBeforeRules" type="boolean">
			<default value="true" />
		</property>
		<property name="SNMPRequestLimit" type="integer">
      <min value="10" />
			<max value="10000" />
			<default value="100" />
		</property>
    <property name="SNMPSysContact" type="string">
      <maxLength value="32"/>
      <default value="N/A" />
    </property>
    <property name="SNMPSysName" type="string">
      <maxLength value="32"/>
      <default value="N/A" />
    </property>
    <property name="SNMPSysLocation" type="string">
      <maxLength value="32"/>
      <default value="N/A" />
    </property>
    <property name="SNMPIfDescription" type="string">
			<enumeration value="Name" description="The name of the interface" />
			<enumeration value="Hardware" description="Hardware info -- bus, slot, etc..." />
      <enumeration value="Comment" description="Comment field from configuration" />
      <enumeration value="NameHw" description="Interface name and hardware info" />
			<enumeration value="HwName" description="Hardware info and interface name" />
			<enumeration value="NameCmnt" description="Interface name and comment field" />
      <enumeration value="CmntName" description="Comment field and interface name" />
			<enumeration value="HwCmnt" description="Hardware info and comment field" />
			<enumeration value="CmntHw" description="Comment field and hardware info" />
      <enumeration value="NameHwCmnt" description="Iface name, hw info, comment" />
			<enumeration value="HwNameCmnt" description="Hw info, iface name, comment" />
			<enumeration value="NameCmntHw" description="Iface name, comment, hw info" />
      <enumeration value="HwCmntName" description="Hw info, comment, iface name" />
			<enumeration value="CmntNameHw" description="Comment, iface name, hw info" />
			<enumeration value="CmntHwName" description="Comment, hw info, iface name" />
      <default value="Name" />
		</property>
    <property name="SNMPIfAlias" type="string">
			<enumeration value="Name" description="The name of the interface" />
			<enumeration value="Hardware" description="Hardware info -- bus, slot, etc..." />
      <enumeration value="Comment" description="Comment field from configuration" />
      <enumeration value="NameHw" description="Interface name and hardware info" />
			<enumeration value="HwName" description="Hardware info and interface name" />
			<enumeration value="NameCmnt" description="Interface name and comment field" />
      <enumeration value="CmntName" description="Comment field and interface name" />
			<enumeration value="HwCmnt" description="Hardware info and comment field" />
			<enumeration value="CmntHw" description="Comment field and hardware info" />
      <enumeration value="NameHwCmnt" description="Iface name, hw info, comment" />
			<enumeration value="HwNameCmnt" description="Hw info, iface name, comment" />
			<enumeration value="NameCmntHw" description="Iface name, comment, hw info" />
      <enumeration value="HwCmntName" description="Hw info, comment, iface name" />
			<enumeration value="CmntNameHw" description="Comment, iface name, hw info" />
			<enumeration value="CmntHwName" description="Comment, hw info, iface name" />
      <default value="Hardware" />
		</property>
    <child class="RemoteMgmtHTTP" maxOccurs="unbounded" />
		<child class="RemoteMgmtSNMP" maxOccurs="unbounded" />
		<description value="Setup and configure methods and permissions for remote management of this system." />
	</class>
	
	<viewTemplate name="WebUI.RemoteMgmtFolder"> 
		<column name="Type" /> 
		<column name="Mode" /> 
		<column name="Interface" /> 
		<column name="Network" />	
		<column name="Comments" />
	</viewTemplate>	
	
  
	<class name="RemoteMgmtBase" extends="Node">
		<property name="Interface">
			<reference class="InterfaceBase" condition="Name != 'core'" />
		</property>
		<property name="Network">
			<reference class="IP4" condition="!eval(isUA)"/>      
      <addByRef />
		</property>    
	</class>
	<class name="RemoteMgmtHTTP" extends="RemoteMgmtBase">
		<property name="AccessLevel" type="string">
			<enumeration value="Admin" displayValue="Admin" description="Administrative access" />
			<enumeration value="Audit" displayValue="Audit" description="Auditing access" />
			<default value="Admin" />
		</property>
		<property name="LocalUserDatabase">
			<reference class="LocalUserDatabase" />
		</property>
    <property name="HTTP" type="boolean">
			<default value="false" />
		</property>
		<property name="HTTPPort" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="80" />
			<condition expr="HTTP==true" />
		</property>
		<property name="HTTPS" type="boolean">
			<default value="false" />
		</property>
		<property name="HTTPSPort" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="443" />
			<condition expr="HTTPS==true" />
		</property>
	</class>
  <class name="RemoteMgmtSNMP" extends="RemoteMgmtBase">
		<property name="SNMPGet" type="boolean">
			<default value="false" />
		</property>
		<property name="SNMPGetCommunity" type="string">
			<maxLength value="64" />
			<condition expr="SNMPGet==true" />
		</property>
		<property name="SNMPSet" type="boolean">
			<default value="false" />
		</property>
		<property name="SNMPSetCommunity" type="string">
			<maxLength value="64" />
			<condition expr="SNMPSet==true" />
		</property>		
	</class>
	
  
	<class name="LogFolder" extends="Node">
		<staticName value="Logging"/>
		<property name="LogSendPerSecLimit" type="integer">
			<min value="0" />			
			<default value="2000" />
		</property>
		<property name="UsageLogInterval" type="integer">
			<min value="60" />
			<max value="86400" />
			<default value="3600" />
		</property>
		<child class="LogReceiverSyslog" maxOccurs="unbounded" />
		<child class="LogReceiverSMTP" maxOccurs="unbounded" />
		<child class="LogReceiverMemory" maxOccurs="1">
    
    
		</child>
		<child class="LogReceiverGroup" maxOccurs="unbounded" />
	    <description value="Add, remove and configure the servers that are to receive log and event information from this system." />
	</class>
	
	<viewTemplate name="WebUI.LogFolder">
        <column name="Name" />
        <column name="Type" />
        <column name="IPAddress" />
        <column name="Port" />
        <column name="Comments" />
	</viewTemplate>
	
  
	<class name="LogReceiverBase" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
	</class>
	
  
	<class name="LogReceiver" extends="LogReceiverBase">
	</class>
  
	<class name="LogReceiverSyslog" extends="LogReceiver">
		<property name="IPAddress">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
		</property>
		<property name="Port" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="514" />
		</property>
		<property name="Facility" type="string">
			<enumeration value="local0" />
			<enumeration value="local1" />
			<enumeration value="local2" />
			<enumeration value="local3" />
			<enumeration value="local4" />
			<enumeration value="local5" />
			<enumeration value="local6" />
			<enumeration value="local7" />
			<default value="local0" />
		</property>
	    <description value="A syslog receiver is used to receive log events from the system in the standard syslog format." />
	</class>
  
	<class name="LogReceiverMemory" extends="LogReceiver">
		<description value="A memory log receiver is used to receive and keep log events in system RAM." />
	</class>
  
  <class name="LogReceiverSMTP" extends="LogReceiver">
    <property name="IPAddress">
      <reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
    </property>
    <property name="Port" type="integer">
      <min value="0" />
      <max value="65535" />
      <default value="25" />
    </property>
    <property name="Receiver1" type="string">
      <maxLength value="256" />
      <restrictChars value="email" />
    </property>
    <property name="Receiver2" type="string">
      <maxLength value="256" />
      <allowNull />
      <restrictChars value="email" />
    </property>
    <property name="Receiver3" type="string">
      <maxLength value="256" />
      <allowNull />
      <restrictChars value="email" />
    </property>
    <property name="Sender" type="string">
      <restrictChars value="email" />
      <maxLength value="256" />
    </property>
    <property name="Identity" type="string">
      <maxLength value="128" />
      <default value="hostmaster" />
    </property>
    <property name="XMailer" type="string">
      <maxLength value="128" />
      <default value="cfwmailer" />
      <allowNull />
    </property>
    <property name="Subject" type="string">
      <maxLength value="64" />
      <default value="Log event from D-Link DFL Firewall" />
    </property>
    <property name="HoldTime" type="integer">
      <min value="0" />
      <max value="86400" />
      <default value="120" />
    </property>
    <property name="MinRepeatDelay" type="integer">
      <min value="0" />
      <max value="86400" />
      <default value="600" />
    </property>
    <property name="LogThreshold" type="integer">
      <min value="0" />
      <max value="1000" />
      <default value="2" />
    </property>
    <description value="An SMTP event receiver is used for receiving e-mails for IDS/IDP events."/>
  </class>
  
	<class name="LogReceiverGroup" extends="LogReceiverBase">
		<property name="Members">
			<reference class="LogReceiver" />
			<maxOccurs value="unbounded" />
		</property>
	    <description value="A Log Receiver Group is used for combining several log receivers for simplified logging." />
	</class>
  
	<class name="LocalUserDatabaseFolder" extends="Node">
		<staticName value="LocalUserDatabases"/>
		<child class="LocalUserDatabase" maxOccurs="unbounded" />
    <description value="Manage the local user databases and user accounts used for authentication purposes." />
	</class>
	
	<viewTemplate name="WebUI.LocalUserDatabaseFolder"> 
        <column name="Name" /> 
        <column name="Comments" />
	</viewTemplate>
	<viewTemplate name="WebUI.ComboBox.LocalUserDatabaseFolder"> 
        <column name="Name" /> 
        <column name="Comments" />
	</viewTemplate>
	
  
	<class name="LocalUserDatabase" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<child class="User" maxOccurs="unbounded" />
		<description value="A local user database contains user accounts used for authentication purposes." />
	</class>
	
	<viewTemplate name="WebUI.LocalUserDatabase"> 
        <column name="Name" /> 
        <column name="Groups" />
        <column name="IPPool" /> 
        <column name="AutoAddRouteNet" />
        <column name="Comments" />
	</viewTemplate>
	
  
	<class name="DHCPFolder" extends="Node">
		<staticName value="DHCP"/>
    
		<child class="DHCPServerFolder" instantiate="static"/>
		<child class="DHCPRelayFolder" instantiate="static"/>
    
	  <description value="Configure the DHCP (Dynamic Host Control Protocol) client, server and relay settings." />
	</class>
  
  
	
	<viewTemplate name="WebUI.DHCPClientFolder"> 
        <column name="Name" /> 
        <column name="Comments" />
	</viewTemplate>	
  
	
  
	<class name="DHCPServerFolder" extends="Node">
		<staticName value="DHCPServers"/>
		<property name="AutoSaveLeasePolicy" type="string">
			<enumeration value="Disabled" description="Never" />
			<enumeration value="ReconfShut" description="At reconfigure and shutdown" />
			<enumeration value="ReconfShutTimer" description="At reconfigure, shutdown and periodically" />
			<default value="ReconfShut" />
		</property>
		<property name="AutoSaveLeaseInterval" type="integer">
			<min value="3600" />
			<default value="86400" />
		</property>
		<child class="DHCPServer" maxOccurs="unbounded" />
		<description value="Add, remove and configure the DHCP servers in the system." />
	</class>
	
	<viewTemplate name="WebUI.DHCPServerFolder"> 
        <column name="Name" /> 
        <column name="Interface" /> 
        <column name="IPAddressPool" /> 
        <column name="Netmask" />
        <column name="Log" />
        <column name="Comments" />
	</viewTemplate>	
	
  
	<class name="DHCPServer" extends="Node,Log">
    <showInTree value="never" />
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="Interface">
			<reference class="InterfaceBase" condition="eval(DHCPAllowed) &amp;&amp; Name != 'core'" />
		</property>
		<property name="IPAddressPool">
			<reference class="IP4" condition="!eval(isUA)" />
		  <addByRef />
    </property>
    
		<property name="Netmask">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
		</property>
		<property name="DefaultGateway">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
			<allowNull />
		</property>
		<property name="Domain" type="string">
			<allowNull />
		</property>
		<property name="LeaseTime" type="integer">
			<min value="0" />
			<max value="999999" />
			<default value="86400" />
		</property>
		<property name="DNS1">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
			<allowNull />
		</property>
		<property name="DNS2">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
			<allowNull />
		</property>
		<property name="NBNS1">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
			<allowNull />
		</property>
		<property name="NBNS2">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
			<allowNull />
		</property>
		<property name="TFTPServer">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
			<allowNull />
		</property>
		<property name="BootFile" type="string">
			<allowNull />
		</property>
		<property name="NextServer">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
			<allowNull />
		</property>
		<child class="DHCPServerCustomOption" maxOccur="unbounded" />
		<description value="A DHCP Server determines a set of IP addresses and host configuration parameters to hand out to DHCP clients attached to a given interface." />
	</class>
	
  
	<class name="DHCPServerCustomOption" extends="Node">
		<property name="Code" type="integer">
      <enumeration value="4" description="Timeserver Addresses" />
      <enumeration value="5" description="Name Server Addresses" />
      <enumeration value="7" description="Log Server Addresses" />
      <enumeration value="8" description="Quotes Server Addresses" />
      <enumeration value="9" description="LPR Server Addresses" />
      <enumeration value="10" description="Impress Server Addresses" />
      <enumeration value="11" description="RLP Server Addresses" />
      <enumeration value="12" description="Hostname" />
      <enumeration value="13" description="Size of boot file in 512 byte chunks" />
      <enumeration value="14" description="Merit Dump File" />
      <enumeration value="16" description="Swap Server Address" />
      <enumeration value="17" description="Path name for root disk" />
      <enumeration value="18" description="Path name for more BOOTP info" />
      <enumeration value="19" description="IP Forwarding On/Off" />
      <enumeration value="20" description="Source Routing On/Off" />
      <enumeration value="21" description="Routing Policy Filters" />
      <enumeration value="22" description="Max Datagram Reassembly Size" />
      <enumeration value="23" description="Default IP TTL" />
      <enumeration value="24" description="Path MTU Aging Timeout" />
      <enumeration value="25" description="Path MTU  Plateau Table" />
      <enumeration value="26" description="Interface MTU Size" />
      <enumeration value="27" description="MTU Subnet" />
      <enumeration value="28" description="Broadcast Address" />
      <enumeration value="29" description="Mask Discovery" />
      <enumeration value="30" description="Mask Supplier" />
      <enumeration value="31" description="Router Discovery" />
      <enumeration value="32" description="Router Solicitation Address" />
      <enumeration value="33" description="Static Routing Table" />
      <enumeration value="34" description="Trailer Encapsulation" />
      <enumeration value="35" description="ARP Cache Timeout" />
      <enumeration value="36" description="Ethernet Encapsulation" />
      <enumeration value="37" description="Default TCP TTL" />
      <enumeration value="38" description="Keepalive Time" />
      <enumeration value="39" description="Keepalive Data" />
      <enumeration value="40" description="NIS Domain" />
      <enumeration value="41" description="NIS Server Addresses" />
      <enumeration value="42" description="NTP Server Addresses" />
      <enumeration value="43" description="Vendor Specific Information" />
      <enumeration value="45" description="NETBIOS Distribution Srv" />
      <enumeration value="46" description="NETBIOS Node Type" />
      <enumeration value="47" description="NETBIOS Scope" />
      <enumeration value="48" description="X Window Font Server" />
      <enumeration value="49" description="X Window Display Manager" />
      <enumeration value="50" description="Requested IP Address" />
      <enumeration value="52" description="Overload" />
      <enumeration value="53" description="DHCP Msg Type" />
      <enumeration value="54" description="DHCP Server Id" />
      <enumeration value="55" description="Parameter List" />
      <enumeration value="56" description="DHCP Error Message" />
      <enumeration value="57" description="DHCP Max Msg Size" />
      <enumeration value="58" description="DHCP Renewal (T1) Time" />
      <enumeration value="59" description="DHCP Rebinding (T2) Time" />
      <enumeration value="60" description="Class Id" />
      <enumeration value="61" description="Client Id" />
      <enumeration value="62" description="Netware/IP Domain Name" />
      <enumeration value="64" description="NIS+ v3 Client Domain Name" />
      <enumeration value="65" description="NIS+ v3 Server Addresses" />
      <enumeration value="66" description="TFTP Server Name" />
      <enumeration value="67" description="Boot File Name" />
      <enumeration value="68" description="Home Agent Addresses" />
      <enumeration value="69" description="SMTP Server Addresses" />
      <enumeration value="70" description="POP3 Server Addresses" />
      <enumeration value="71" description="NNTP Server Addresses" />
      <enumeration value="72" description="WWW Server Addresses" />
      <enumeration value="73" description="Finger Server Addresses" />
      <enumeration value="74" description="IRC Server Addresses" />
      <enumeration value="75" description="StreetTalk Server Addresses" />
      <enumeration value="76" description="STDA Server Addresses" />
      <enumeration value="85" description="NDS Servers" />
      <enumeration value="98" description="User-Auth" />
      <enumeration value="116" description="DHCP Auto-Configuration" />
      <enumeration value="117" description="Name Service Search" />
      <enumeration value="118" description="Subnet Selection Option" />
		</property>
		<property name="Type" type="string">
			<enumeration value="UINT8" description="1 byte" />
			<enumeration value="UINT8LIST" description="1 byte list" />
			<enumeration value="UINT16" description="2 bytes" />
			<enumeration value="UINT16LIST" description="2 bytes list" />
			<enumeration value="UINT32" description="4 bytes" />
			<enumeration value="UINT32LIST" description="4 bytes list" />
			<enumeration value="IP4" description="IP address" />
			<enumeration value="IP4LIST" description="IP address list" />
			<enumeration value="STRING" description="Character data" />
			<enumeration value="BINARY" description="Hexadecimal data" />
			<default value="UINT8" />
    </property>  
		<property name="Param" type="string">
			<allowNull />
		</property>
    <description value="Extend the DHCP Server functionality by adding custom options that will be handed out to the DHCP clients." />
	</class>
	
  
	<class name="DHCPRelayFolder" extends="Node">
		<staticName value="DHCPRelays"/>
		<property name="MaxTransactions" type="integer">
			<min value="0"/>
			<default value="32"/>
		</property>
		<property name="TransactionTimeout" type="integer">
			<min value="0"/>
			<default value="10"/>
		</property>
		<property name="MaxPPMPerIface" type="integer">
			<min value="0"/>
			<default value="500"/>
		</property>
		<property name="MaxHops" type="integer">
			<min value="0"/>
			<default value="5"/>
		</property>
		<property name="MaxLeaseTime" type="integer">
			<min value="0"/>
			<default value="10000"/>
		</property>
		<property name="MaxAutoRoutes" type="integer">
			<min value="0"/>
			<default value="256"/>
		</property>
		<property name="AutoSaveRelayPolicy" type="string">
			<enumeration value="Disabled" description="Never" />
			<enumeration value="ReconfShut" description="At reconfigure and shutdown" />
			<enumeration value="ReconfShutTimer" description="At reconfigure, shutdown and periodically" />
			<default value="ReconfShut" />
		</property>
		<property name="AutoSaveRelayInterval" type="integer">
			<min value="3600" />
			<default value="86400" />
		</property>
		<child class="DHCPRelay" maxOccurs="unbounded" />
		<description value="Add, remove and configure DHCP relays for this system." />
	</class>
		
	<viewTemplate name="WebUI.DHCPRelayFolder"> 
        <column name="Name" /> 
        <column name="Action" /> 
        <column name="SourceInterface" /> 
        <column name="TargetDHCPServer" />
        <column name="Comments" />
	</viewTemplate>
			
  
	<class name="DHCPRelay" extends="Node,Log">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="Action" type="string">
			<enumeration value="Ignore" description="Ignore the packet" />
			<enumeration value="Relay" description="Full DHCP relay" />
			<enumeration value="BOOTPForward" description="Forwarding of BOOTP packets" />
			<default value="Ignore" />
		</property>
		<property name="SourceInterface">
			<reference class="InterfaceBase" condition="eval(DHCPAllowed) &amp;&amp; Name != 'core'" />
			<allowNull />
		</property>
		<property name="TargetDHCPServer">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<condition expr="Action==Relay||Action==BOOTPForward" />
      <addByRef />
		</property>
		<property name="IPOfferFilter">
			<reference class="IP4" condition="!eval(isUA)" />
			<condition expr="Action==Relay||Action==BOOTPForward" />
		  <addByRef />
    </property>
		<property name="AddRoute" type="boolean">
			<default value="false" />
			<condition expr="Action==Relay" />
		</property>
		<property name="AddRouteLocalIP">
			<reference class="IP4Address" condition="Address.eval(ishost)" /> 
			<allowNull />
			<condition expr="Action==Relay&amp;&amp;AddRoute==true" />
		  <addByRef />
    </property>
		<property name="AddRouteGatewayIP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
			<condition expr="Action==Relay&amp;&amp;AddRoute==true" />
		  <addByRef />
    </property>
		<property name="PBRTable">
			<reference class="VirtualRouter" />
			<allowNull />
			<condition expr="Action==Relay&amp;&amp;AddRoute==true" />
		</property>
		<property name="MaxRelaysPerInterface" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="AgentIP" type="string">
			<enumeration value="Send" />
			<enumeration value="Recv" />
			<default value="Recv" />
		</property>
		<property name="AllowNULLOffers" type="boolean">
			<default value="false" />
		</property>
		<property name="ProxyARPAllInterfaces" type="boolean">
			<default value="false" />
			<condition expr="Action==Relay&amp;&amp;AddRoute==true" />
		</property>
		<property name="ProxyARPInterfaces">
			<reference class="InterfaceBase" condition="eval(ProxyARPAllowed) &amp;&amp; Name != 'core' &amp;&amp; Name != 'any'" />
			<maxOccurs value="unbounded" />
			<minOccurs value="0" />
      
			<condition expr="Action==Relay&amp;&amp;AddRoute==true&amp;&amp;ProxyARPAllInterfaces==false" />
		</property>
		<description value="Use an DHCP Relay to dynamically alter the routing table according to relayed DHCP leases." />
	</class>
  
  
	<class name="MiscClientsFolder" extends="Node">
		<staticName value="MiscClients"/>
		<child class="DynDnsClientDyndnsOrg" maxOccurs="1"/>
		<child class="DynDnsClientDynsCx" maxOccurs="1"/>
		<child class="DynDnsClientCjbNet" maxOccurs="1"/>
		<child class="LoginClientTelia" maxOccurs="1"/>
		<child class="HTTPPoster" maxOccurs="1"/>
		<child class="LoginClientBigPond" maxOccurs="1"/>
		<child class="DynDnsClientPeanutHull" maxOccurs="unbounded"/> 
		<description value="Miscellaneous network clients for DynDNS and similar services." />
	</class>
  
	<class name="HTTPPoster" extends="Node">
		<property name="URL1" type="string">
			<allowNull />
		</property>
		<property name="URL2" type="string">
			<allowNull />
		</property>
		<property name="URL3" type="string">
			<allowNull />
		</property>
		<property name="RepDelay" type="integer">
			<min value="60" />
			<default value="1200" />
		</property>
	    <description value="Use the HTTP poster for dynamic DNS or automatic logon to services using web-based authentication." />
	</class>
	
  
	<class name="DynDnsClientDyndnsOrg" extends="Node">
		<property name="Username" type="string">
		</property>
		<property name="Password" type="string">
			<allowNull />
		</property>
		<property name="DNSName" type="string">
		</property>
		<description value="Configure the parameters used to connect to the Dyndns.org DynDNS service." />
	</class>
  
	<class name="DynDnsClientDynsCx" extends="Node">
		<property name="Username" type="string">
		</property>
		<property name="Password" type="string">
			<allowNull />
		</property>
		<property name="DNSName" type="string">
		</property>
		<description value="Configure the parameters used to connect to the Dyns.cx DynDNS service." />
	</class>
		
  
	<class name="DynDnsClientCjbNet" extends="Node">
		<property name="Username" type="string">
		</property>
		<property name="Password" type="string">
			<allowNull />
		</property>
		<description value="Configure the parameters used to connect to the Cjb.net DynDNS service." />
	</class>
	
  
	<class name="DynDnsClientPeanutHull" extends="Node">
		<property name="Username" type="string">
		</property>
		<property name="Password" type="string">
			<allowNull />
		</property>
		<property name="DNSNames" type="string">
		</property>
		<description value="Configure the parameters used to connect to the Peanut Hull DynDNS service." />
	</class>
  
	<class name="LoginClientTelia" extends="Node">
		<property name="Username" type="string">
		</property>
		<property name="Password" type="string">
			<allowNull />
		</property>
		<description value="Configure the parameters used to provide automatic logon to Telia internet service." />
	</class>
  
	<class name="LoginClientBigPond" extends="Node">
		<property name="Username" type="string">
		</property>
		<property name="Password" type="string">
			<allowNull />
		</property>
		<description value="Configure the parameters used to provide automatic logon to BigPond internet service." />
	</class>
  
	<class name="AdvancedSettingsFolder" extends="Node">
		<showInTree />
		<staticName value="AdvancedSettings" />
		<child class="IPSettings" instantiate="static" />
		<child class="TCPSettings" instantiate="static" />
		<child class="ICMPSettings" instantiate="static" />
		<child class="StateSettings" instantiate="static" />
		<child class="ConnTimeoutSettings" instantiate="static" />
		<child class="LengthLimSettings" instantiate="static" />
		<child class="FragSettings" instantiate="static" />
		<child class="LocalReassSettings" instantiate="static" />
		<child class="SSLSettings" instantiate="static" />
		<description value="Modify advanced settings for this system." />
	</class>
  
	<class name="IPSettings" extends="Node">
		<showInTree />
		<property name="LogCheckSumErrors" type="boolean">
			<default value="true" />
		</property>
		<property name="LogNonIP4" type="boolean">
			<default value="true" />
		</property>
		<property name="LogReceivedTTL0" type="boolean">
			<default value="true" />
		</property>
		<property name="Block0000Src" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="Drop" />
		</property>
		<property name="Block0Net" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="Block127Net" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="BlockMulticastSrc" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="TTLMin" type="integer">
			<min value="0" />
			<max value="255" />
			<default value="3" />
		</property>
		<property name="TTLOnLow" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="DefaultTTL" type="integer">
			<min value="32" />
			<max value="255" />
			<default value="255" />
		</property>
		<property name="LayerSizeConsistency" type="string">
			<enumeration value="ValidateSilent" description="Validate and pass on"/>
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<default value="ValidateLogBad" />
		</property>
		<property name="SecuRemoteUDPEncapCompat" type="boolean">
			<default value="false" />
		</property>
		<property name="IPOptionSizes" type="string">
			<enumeration value="Ignore" description="Do not validate"/>
			<enumeration value="ValidateSilent" description="Validate and pass on"/>
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<default value="ValidateLogBad" />
		</property>
		<property name="IPOPT_SR" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="ValidateSilent" description="Validate and pass on"/>
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="IPOPT_TS" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="ValidateSilent" description="Validate and pass on"/>
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="IPOPT_RTRALT" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="ValidateSilent" description="Validate and pass on"/>
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="ValidateLogBad" />
		</property>
		<property name="IPOPT_OTHER" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="DirectedBroadcasts" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="IPRF" type="string">
			<enumeration value="Ignore" description="Pass the packet on"/>
			<enumeration value="Log" description="Log the packet"/>
			<enumeration value="StripSilent" description="Strip and pass on"/>
			<enumeration value="StripLog"description="Strip, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="StripDFOnSmall" type="integer">
			<min value="64" />
			<max value="65535" />
			<default value="65535" />
		</property>
		<description value="Settings related to the IP protocol." />
	</class>
  
	<class name="TCPSettings" extends="Node">
		<showInTree />
		<property name="TCPOptionSizes" type="string">
			<enumeration value="Ignore" description="Do not validate"/>
			<enumeration value="ValidateSilent" description="Validate and pass on"/>
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<default value="ValidateLogBad" />
		</property>
		<property name="TCPMSSMin" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="100" />
		</property>
		<property name="TCPMSSOnLow" type="string">
			<enumeration value="Ignore" description="Ignore"/>
			<enumeration value="Log" description="Log"/>
			<enumeration value="Adjust" description="Adjust to comply"/>
			<enumeration value="AdjustLog" description="Adjust to comply and log"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="TCPMSSMax" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="1460" />
		</property>
		<property name="TCPMSSVPNMax" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="1400" />
		</property>
		<property name="TCPMSSOnHigh" type="string">
			<enumeration value="Ignore" description="Ignore"/>
			<enumeration value="Log" description="Log"/>
			<enumeration value="Adjust" description="Adjust to comply"/>
			<enumeration value="AdjustLog" description="Adjust to comply and log"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="Adjust" />			
		</property>
		<property name="TCPMSSLogLevel" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="7000" />
		</property>
		<property name="TCPMSSAutoClamping" type="boolean">
			<default value="true" />
		</property>
		<property name="TCPZeroUnusedACK" type="boolean">
			<default value="true" />
		</property>
		<property name="TCPZeroUnusedURG" type="boolean">
			<default value="true" />
		</property>
		<property name="TCPOPT_WSOPT" type="string">
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="StripSilent" description="Validate, strip and pass on"/>
			<enumeration value="StripLogBad" description="Validate, log if bad, strip and pass on"/>
			<enumeration value="StripLog" description="Validate, log, strip and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="ValidateLogBad" />
		</property>
		<property name="TCPOPT_SACK" type="string">
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="StripSilent" description="Validate, strip and pass on"/>
			<enumeration value="StripLogBad" description="Validate, log if bad, strip and pass on"/>
			<enumeration value="StripLog" description="Validate, log, strip and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="ValidateLogBad" />
		</property>
		<property name="TCPOPT_TSOPT" type="string">
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="StripSilent" description="Validate, strip and pass on"/>
			<enumeration value="StripLogBad" description="Validate, log if bad, strip and pass on"/>
			<enumeration value="StripLog" description="Validate, log, strip and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="ValidateLogBad" />
		</property>
		<property name="TCPOPT_ALTCHKREQ" type="string">
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="StripSilent" description="Validate, strip and pass on"/>
			<enumeration value="StripLogBad" description="Validate, log if bad, strip and pass on"/>
			<enumeration value="StripLog" description="Validate, log, strip and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="StripLog" />
		</property>
		<property name="TCPOPT_ALTCHKDATA" type="string">
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="StripSilent" description="Validate, strip and pass on"/>
			<enumeration value="StripLogBad" description="Validate, log if bad, strip and pass on"/>
			<enumeration value="StripLog" description="Validate, log, strip and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="StripLog" />
		</property>
		<property name="TCPOPT_CC" type="string">
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="StripSilent" description="Validate, strip and pass on"/>
			<enumeration value="StripLogBad" description="Validate, log if bad, strip and pass on"/>
			<enumeration value="StripLog" description="Validate, log, strip and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="StripLogBad" />
		</property>
		<property name="TCPOPT_OTHER" type="string">
			<enumeration value="ValidateLogBad" description="Validate and pass on, log if bad"/>
			<enumeration value="ValidateLog" description="Validate, log and pass on"/>
			<enumeration value="StripSilent" description="Validate, strip and pass on"/>
			<enumeration value="StripLogBad" description="Validate, log if bad, strip and pass on"/>
			<enumeration value="StripLog" description="Validate, log, strip and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="StripLog" />
		</property>
		<property name="TCPSynUrg" type="string">
			<enumeration value="Ignore" description="Pass the packet on"/>
			<enumeration value="Log" description="Log the packet"/>
			<enumeration value="StripSilent" description="Strip and pass on"/>
			<enumeration value="StripLog" description="Strip, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="TCPSynPsh" type="string">
			<enumeration value="Ignore" description="Pass the packet on"/>
			<enumeration value="Log" description="Log the packet"/>
			<enumeration value="StripSilent" description="Strip and pass on"/>
			<enumeration value="StripLog" description="Strip, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="StripSilent" />
		</property>
		<property name="TCPSynRst" type="string">
			<enumeration value="Ignore" description="Pass the packet on"/>
			<enumeration value="Log" description="Log the packet"/>
			<enumeration value="StripSilent" description="Strip and pass on"/>
			<enumeration value="StripLog" description="Strip, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="TCPSynFin" type="string">
			<enumeration value="Ignore" description="Pass the packet on"/>
			<enumeration value="Log" description="Log the packet"/>
			<enumeration value="StripSilent" description="Strip and pass on"/>
			<enumeration value="StripLog" description="Strip, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="TCPFinUrg" type="string">
			<enumeration value="Ignore" description="Pass the packet on"/>
			<enumeration value="Log" description="Log the packet"/>
			<enumeration value="StripSilent" description="Strip and pass on"/>
			<enumeration value="StripLog" description="Strip, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="TCPUrg" type="string">
			<enumeration value="Ignore" description="Pass the packet on"/>
			<enumeration value="Log" description="Log the packet"/>
			<enumeration value="StripSilent" description="Strip and pass on"/>
			<enumeration value="StripLog" description="Strip, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="StripLog" />
		</property>
		<property name="TCPECN" type="string">
			<enumeration value="Ignore" description="Pass the packet on"/>
			<enumeration value="Log" description="Log the packet"/>
			<enumeration value="StripSilent" description="Strip and pass on"/>
			<enumeration value="StripLog" description="Strip, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="StripLog" />
		</property>
		<property name="TCPRF" type="string">
			<enumeration value="Ignore" description="Pass the packet on"/>
			<enumeration value="Log" description="Log the packet"/>
			<enumeration value="StripSilent" description="Strip and pass on"/>
			<enumeration value="StripLog" description="Strip, log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="StripLog" />
		</property>
		<property name="TCPNULL" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<description value="Settings related to the TCP protocol." />
	</class>
  
	<class name="ICMPSettings" extends="Node">
		<showInTree/>
		<property name="ICMPSendPerSecLimit" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="500" />
		</property>
		<property name="SilentlyDropStateICMPErrors" type="boolean">
			<default value="true" />
		</property>
		<description value="Settings related to the ICMP protocol." />
	</class>
  
	<class name="StateSettings" extends="Node">
		<showInTree/>
		<property name="ConnReplace" type="string">
			<enumeration value="Drop" description="Drop the connection attempt silently"/>
			<enumeration value="DropLog" description="Drop and log the connection attempt" />
			<enumeration value="Reject" description="Reject the connection attempt"/>
			<enumeration value="RejectLog" description="Reject and log the connection attempt"/>
			<enumeration value="Replace" description="Replace the oldest connection"/>
			<enumeration value="ReplaceLog" description="Replace the oldest connection and log the event"/>
			<default value="ReplaceLog" />
		</property>
		<property name="LogOpenFails" type="boolean">
			<default value="true" />
		</property>
		<property name="LogReverseOpens" type="boolean">
			<default value="true" />
		</property>
		<property name="LogStateViolations" type="boolean">
			<default value="true" />
		</property>
		<property name="LogConnections" type="string">
			<enumeration value="NoLog" description="Do not log"/>
			<enumeration value="Log" description="Log in short form"/>
			<enumeration value="LogOC" description="Log opening and closing packets"/>
			<enumeration value="LogOCAll" description="Log all opening and closing packets"/>
			<enumeration value="LogAll" description="Log all packets"/>
			<default value="Log" />
		</property>
		<description value="Parameters for the state engine in the system." />
	</class>
  
	<class name="ConnTimeoutSettings" extends="Node">
		<showInTree/>
		<property name="ConnLife_TCP_SYN" type="integer">
			<min value="0" />
			<max value="999999" />
			<default value="60" />
		</property>
		<property name="ConnLife_TCP" type="integer">
			<min value="0" />
			<max value="999999" />
			<default value="262144" />
		</property>
		<property name="ConnLife_TCP_FIN" type="integer">
			<min value="0" />
			<max value="999999" />
			<default value="80" />
		</property>
		<property name="ConnLife_UDP" type="integer">
			<min value="0" />
			<max value="999999" />
			<default value="130" />
		</property>
		<property name="ConnLife_Ping" type="integer">
			<min value="0" />
			<max value="999999" />
			<default value="8" />
		</property>
		<property name="ConnLife_Other" type="integer">
			<min value="0" />
			<max value="999999" />
			<default value="130" />
		</property>
		<description value="Timeout settings for various protocols." />
	</class>
  
	<class name="LengthLimSettings" extends="Node">
		<showInTree/>
		<property name="MaxTCPLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="1480" />
		</property>
		<property name="MaxUDPLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="60000" />
		</property>
		<property name="MaxICMPLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="10000" />
		</property>
		<property name="MaxGRELen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="2000" />
		</property>
		<property name="MaxESPLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="2000" />
		</property>
		<property name="MaxAHLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="2000" />
		</property>
		<property name="MaxSKIPLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="2000" />
		</property>
		<property name="MaxOSPFLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="1480" />
		</property>
		<property name="MaxIPIPLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="2000" />
		</property>
		<property name="MaxIPCompLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="2000" />
		</property>
		<property name="MaxL2TPLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="2000" />
		</property>
		<property name="MaxOtherSubIPLen" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="1480" />
		</property>
		<property name="LogOversizedPackets" type="boolean">
			<default value="true" />
		</property>
		<description value="Length limitations for various protocols." />
	</class>
  
	<class name="FragSettings" extends="Node">
		<showInTree/>
		<property name="PseudoReass_MaxConcurrent" type="integer">
			<min value="0" />
			<max value="999999" />
			<default value="1024" />
		</property>
		<property name="IllegalFrags" type="string">
			<enumeration value="Drop" description="Drop the illegal fragment"/>
			<enumeration value="DropLog" description="Drop and log the illegal fragment"/>
			<enumeration value="DropPacket" description="Drop the entire packet"/>
			<enumeration value="DropLogPacket" description="Drop and log the entire packet"/>
			<enumeration value="DropLogAll" description="Drop and log the entire packet and all subsequent frags"/>
			<default value="DropLog" />
		</property>
		<property name="DuplicateFragData" type="string">
			<enumeration value="None" description="Nowhere"/>
			<enumeration value="Check2" description="in 2-four byte samples (total 8)"/>
			<enumeration value="Check4" description="in 4-four byte samples (total 16)"/>
			<enumeration value="Check8" description="in 8-four byte samples (total 32)"/>
			<enumeration value="Check16" description="in 16-four byte samples (total 64)"/>
			<enumeration value="Check32" description="in 32-four byte samples (total 128)"/>
			<enumeration value="Check64" description="in 64-four byte samples (total 256)"/>
			<enumeration value="Check128" description="in 128-four byte samples (total 512)"/>
			<enumeration value="Check256" description="in 256-four byte samples (total 1024)"/>
			<enumeration value="Check512" description="in 512-four byte samples (total 2048)"/>
			<default value="Check8" />
		</property>
		<property name="FragReassemblyFail" type="string">
			<enumeration value="NoLog" description="Do not log"/>
			<enumeration value="LogSuspect" description="Log &quot;suspect&quot; failures; affected by illegal frags"/>
			<enumeration value="LogSuspectSubseq" description="Log &quot;suspect&quot; failures and all subsequent frags"/>
			<enumeration value="LogAll" description="Log normal failures"/>
			<enumeration value="LogAllSubseq" description="Log normal failures including subsequent frags"/>
			<default value="LogSuspectSubseq" />
		</property>
		<property name="DroppedFrags" type="string">
			<enumeration value="NoLog" description="Do not log"/>
			<enumeration value="LogSuspect" description="Log if reassembly suspect"/>
			<enumeration value="LogAll" description="Log if suspect or if Rules say to log"/>
			<default value="LogSuspect" />
		</property>
		<property name="DuplicateFrags" type="string">
			<enumeration value="NoLog" description="Do not log"/>
			<enumeration value="LogSuspect" description="Log if reassembly suspect"/>
			<enumeration value="LogAll" description="Log all"/>
			<default value="LogSuspect" />
		</property>
		<property name="FragmentedICMP" type="string">
			<enumeration value="Ignore" description="Ignore and pass on"/>
			<enumeration value="Log" description="Log and pass on"/>
			<enumeration value="Drop" description="Drop the entire packet"/>
			<enumeration value="DropLog" description="Drop and log the packet"/>
			<default value="DropLog" />
		</property>
		<property name="MinimumFragLength" type="integer">
			<min value="0" />
			<max value="10000" />
			<default value="8" />
		</property>
		<property name="ReassTimeout" type="integer">
			<min value="0" />
			<max value="600" />
			<default value="65" />
		</property>
		<property name="ReassTimeLimit" type="integer">
			<min value="0" />
			<max value="600" />
			<default value="90" />
		</property>
		<property name="ReassDoneLinger" type="integer">
			<min value="0" />
			<max value="120" />
			<default value="20" />
		</property>
		<property name="ReassIllegalLinger" type="integer">
			<min value="0" />
			<max value="600" />
			<default value="60" />
		</property>
		<description value="Settings related to fragmented packets." />
	</class>
  
	<class name="LocalReassSettings" extends="Node">
		<showInTree/>
		<property name="LocalReass_MaxConcurrent" type="integer">
			<min value="0" />
			<max value="65536" />
			<default value="256" />
		</property>
		<property name="LocalReass_MaxSize" type="integer">
			<min value="0" />
			<max value="60000" />
			<default value="10000" />
		</property>
		<property name="LocalReass_NumLarge" type="integer">
			<min value="0" />
			<max value="2048" />
			<default value="32" />
		</property>
		<description value="Parameters use for local fragment reassembly." />
	</class>
  
	<class name="SSLSettings" extends="Node">
		<showInTree/>
		<property name="SSL_ProcessingPriority" type="string">
			<enumeration value="VeryHigh" description=" (about 50% )"/>
			<enumeration value="High" description=" (about 25% )"/>
			<enumeration value="Normal" description=" (about 17% )"/>
			<enumeration value="Low" description=" (about 10% )"/>
			<enumeration value="VeryLow" description=" (about 5% )"/>
			<default value="Normal" />
		</property>
		<property name="TLS_RSA_WITH_3DES_168_SHA1" type="boolean">
			<default value="true" />
		</property>
		<property name="TLS_RSA_WITH_RC4_128_SHA1" type="boolean">
			<default value="true" />
		</property>
		<property name="TLS_RSA_WITH_RC4_128_MD5" type="boolean">
			<default value="true" />
		</property>
		<property name="TLS_RSA_EXPORT1024_WITH_RC4_56_SHA1" type="boolean">
			<default value="true" />
		</property>
		<property name="TLS_RSA_EXPORT512_WITH_RC4_40_MD5" type="boolean">
			<default value="false" />
		</property>
		<property name="TLS_RSA_EXPORT512_WITH_RC2_40_MD5" type="boolean">
			<default value="false" />
		</property>
		<property name="TLS_RSA_EXPORT_WITH_NULL_SHA1" type="boolean">
			<default value="false" />
		</property>
		<property name="TLS_RSA_EXPORT_WITH_NULL_MD5" type="boolean">
			<default value="false" />
		</property>
		<description value="Settings related to SSL (Secure Sockets Layer)." />
	</class>
  
  
	<class name="ObjectFolder" extends="Node">
		<staticName value="Objects"/>
		<child class="AddressBook" instantiate="static"/>
		<child class="ALGFolder" instantiate="static"/>
    <child class="ServiceFolder" instantiate="static"/>
		<child class="ProtocolFolder" instantiate="static"/>
		<child class="ScheduleProfileFolder" instantiate="static"/>
		<child class="CertificateFolder" instantiate="static"/>
		<child class="VPNObjectFolder" instantiate="static"/>
    <description value="The object section contains symbolic names for objects commonly used in other parts of the system configuration." />
	</class>
  
	<class name="InterfaceFolder" extends="Node">
    <staticName value="Interfaces"/>
    <child class="EthernetFolder" instantiate="static"/>
    
    <child class="VLANFolder" instantiate="static"/>
    <child class="IPSecTunnelFolder" instantiate="static"/>
    <child class="PPPoETunnelFolder" instantiate="static"/>
    <child class="L2TPServerFolder" instantiate="static"/>
    <child class="L2TPClientFolder" instantiate="static"/>
    <child class="InterfaceGroupFolder" instantiate="static"/>
    <child class="ARPTableFolder" instantiate="static"/>
    <child class="Interface" instantiate="static">
      <staticValue property="Name" value="any"/>
      <staticValue property="Flags" value="HiddenList"/>
    <staticValue property="Tag" value="any"/>
    </child>
    <child class="Interface" instantiate="static">
      <staticValue property="Name" value="core"/>
      <staticValue property="Flags" value="HiddenList"/>
      <staticValue property="Tag" value="core"/>
    </child>
    <description value="Interfaces are physical or logical endpoints (such as virtual LAN interfaces or VPN tunnels) for network traffic." />
  </class>
	
  
	<class name="EthernetFolder" extends="Node">
		<staticName value="Ethernet"/>
		<child class="Ethernet" maxOccurs="unbounded" />
	    <description value="Configure the settings for the Ethernet adapters in the system." />
	</class>
	
	<viewTemplate name="WebUI.EthernetFolder"> 
        <column name="Name" /> 
        <column name="IP" />
        <column name="Network" />
        <column name="DefaultGateway" />
        <column name="DHCPEnabled" />
        <column name="Comments" />
	</viewTemplate>	
	<viewTemplate name="WebUI.ComboBox.EthernetFolder"> 
        <column name="Name" /> 
        <column name="Comments" />
	</viewTemplate>	
  
	<class name="InterfaceBase" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
	</class>
	<viewTemplate name="WebUI.ComboBox.Interface"> 
        <column name="Name" /> 
        <column name="Comments" />
	</viewTemplate>	
  
  <class name="Interface" extends="InterfaceBase">
    <property name="MemberOfRoutingTable" type="string">
      <enumeration value="All" />
      <enumeration value="Specific" />
      <default value="All" />
    </property>
    <property name="RoutingTable">
      <reference class="RoutingTable" />
      <condition expr="MemberOfRoutingTable==Specific" />
    </property>
    <property name="MTU" type="integer">
      <min value="128" />
      <max value="65535" />
      <default value="1500" />
    </property>
  </class>
  
	<class name="Ethernet" extends="Interface">
		<property name="IP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
		  <addByRef />
    </property>
    <property name="Network">
      <reference class="IP4" condition="!eval(isUA)"  />
      <addByRef />
    </property>
    <property name="DefaultGateway">
      <reference class="IP4Address" condition="Address.eval(ishost)" />
      <allowNull />
      <addByRef />
    </property>
		<property name="Broadcast">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <allowNull />
      <addByRef />
		</property>
    <property name="Metric" type="integer">
      <default value="100" />
    </property>
		<property name="DHCPEnabled" type="boolean">
			<default value="false"/>
		</property>
		<property name="DHCPDNS1">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
			<condition expr="DHCPEnabled==true" />
		</property>
		<property name="DHCPDNS2">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
			<condition expr="DHCPEnabled==true" />
		</property>
		<property name="EthernetPCIDevice">
			<reference class="EthernetPCIDevice" coupling="weak" />
		</property>
    <property name="AutoSwitchRoute" type="boolean">
      <default value="false" />
    </property>
    <property name="AutoInterfaceNetworkRoute" type="boolean">
      <default value="true" />
      <condition expr="AutoSwitchRoute==false" />
    </property>
    <property name="AutoDefaultGatewayRoute" type="boolean">
      <default value="true" />      
    </property>
	  <description value="An Ethernet interface represents a logical endpoint for Ethernet traffic." />
	</class>
	
  
	
	
  
	
	
  
	<class name="VLANFolder" extends="Node">
		<staticName value="VLAN"/>
		<property name="UnknownVLANTags" type="string">
			<enumeration value="Drop" />
			<enumeration value="DropLog" />
			<default value="DropLog" />
		</property>
		<child class="VLAN" maxOccurs="unbounded" />
	    <description value="Add, remove and configures IEEE 802.1Q based Virtual LAN interfaces." />
	</class>
	<viewTemplate name="WebUI.VLANFolder"> 
        <column name="Name" /> 
        <column name="Ethernet" /> 
        <column name="VLANID" />
        <column name="IP" />
        <column name="Network" />
        <column name="DefaultGateway" />
        <column name="Comments" />
	</viewTemplate>	
  
	<class name="VLAN" extends="Interface">
		<property name="Ethernet">
			<reference class="Ethernet" />
		</property>
		<property name="VLANID" type="integer">
			<min value="0" />
			<max value="4095" />
			<default value="0" />
		</property>
		<property name="IP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
    <property name="Network">
      <reference class="IP4" condition="!eval(isUA)"  />
      <addByRef />
    </property>
    <property name="DefaultGateway">
      <reference class="IP4Address" condition="Address.eval(ishost)" />
      <allowNull />
      <addByRef />
    </property>
		<property name="Broadcast">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
    <property name="Metric" type="integer">
      <default value="100" />
      <min value="1" />
      <max value="65535" />
    </property>
    <property name="AutoSwitchRoute" type="boolean">
      <default value="false" />
    </property>
    <property name="AutoInterfaceNetworkRoute" type="boolean">
      <default value="true" />
      <condition expr="AutoSwitchRoute==false" />
    </property>
    <property name="AutoDefaultGatewayRoute" type="boolean">
      <default value="true" />      
    </property>
		<description value="Use a VLAN to define a virtual interface compatible with the IEEE 802.1Q Virtual LAN standard." />
	</class>
  
	<class name="IPSecTunnelFolder" extends="Node">
		<staticName value="IPsec"/>					
		
		<property name="IKESendInitialContact" type="boolean">
			<default value="true"/>
		</property>
		<property name="IKESendCRLs" type="boolean">
			<default value="true"/>
		</property>
		<property name="IKECRLValidityTime" type="integer">
			<min value="0" />
			<default value="86400"/>
		</property>
		<property name="IKEMaxCAPath" type="integer">
			<min value="0" />
			<default value="15"/>
		</property>
		<property name="IPsecCertCacheMaxCerts" type="integer">
			<min value="0" />
			<default value="1024"/>
		</property>
		<property name="IPsecBeforeRules" type="boolean">
			<default value="true"/>
		</property>
		<property name="IPsecGWNameCacheTime" type="integer">
			<min value="0" />
			<default value="14400"/>
		</property>
		<child class="IPSecTunnel" maxOccurs="unbounded" />
	    <description value="Manage the IPsec tunnel interfaces used for establishing IPsec VPN connections to and from this system." />
	</class>
	
	<viewTemplate name="WebUI.IPSecTunnelFolder">
		<column name="Name" />
		<column name="LocalNetwork" />
		<column name="RemoteNetwork" />
		<column name="RemoteEndpoint" />
		<column name="AuthMethod" />
		<column name="Comments" />
	</viewTemplate>	
	
  
	<class name="IPSecTunnel" extends="Interface">
		<property name="LocalNetwork">
			<reference class="IP4" condition="!eval(isUA)" />
      <addByRef />
		</property>
		<property name="RemoteNetwork">
			<reference class="IP4" condition="!eval(isUA)" />
      <addByRef />
		</property>
		<property name="RemoteEndpoint">
			<reference class="IP4" condition="!eval(isUA)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="IKEAlgorithms">
			<reference class="IKEAlgorithms" />
		</property>
		<property name="IPSecAlgorithms">
			<reference class="IPSecAlgorithms" />
		</property>
		<property name="IKELifeTimeSeconds" type="integer">
			<min value="0" />
			<default value="28800"/>			
		</property>
		<property name="IPSecLifeTimeSeconds" type="integer">
			<min value="0" />
			<default value="3600"/>			
		</property>
		<property name="IPSecLifeTimeKilobytes" type="integer">
			<min value="0" />
			<default value="0"/>			
		</property>
		<property name="EncapsulationMode" type="string">
			<enumeration value="Tunnel" description="Tunnel encapsulation" />
			<enumeration value="Transport" description="Transport encapsulation" />
			<enumeration value="Both" description="Tunnel and Transport encapsulation" />
			<default value="Tunnel" />
		</property>
		<property name="AuthMethod" type="string">
			<enumeration value="Certificate" />
			<enumeration value="PSK" />
			<default value="PSK" />
		</property>
		<property name="PSK">
			<reference class="PSK" />
			<condition expr="AuthMethod=='PSK'" />
		</property>
		<property name="GatewayCertificate">
			<reference class="Certificate" condition="Type==Local"/>
			<condition expr="AuthMethod==Certificate" />
		</property>
		<property name="RootCertificates">
			<reference class="Certificate"/>
			<maxOccurs value="unbounded" />
			<condition expr="AuthMethod==Certificate" />
		</property>
		<property name="IDList">
			<reference class="IDList" />
			<allowNull />
			<condition expr="AuthMethod==Certificate" />
		</property>
		<property name="XAuth" type="string">
			<enumeration value="Off" />
			<enumeration value="RequiredForInbound" />
			<enumeration value="PassToPeerGateway" />
			<default value="Off" />
		</property>
		<property name="XAuthUsername" type="string">
			<condition expr="XAuth==PassToPeerGateway" />
		</property>
		<property name="XAuthPassword" type="string">
			<condition expr="XAuth==PassToPeerGateway" />
		</property>
		<property name="DHCPOverIPSec" type="boolean">
			<default value="false" />
		</property>
		<property name="AddRouteToRemoteNet" type="boolean">
			<default value="false" />
		</property>
		<property name="PlaintextMTU" type="integer">
			<min value="0" />
			<default value="1424" />
		</property>
		<property name="OriginatorIPType" type="string">
			<enumeration value="LocalInterface" />
			<enumeration value="Manual" />
			<default value="LocalInterface" />
		</property>
		<property name="OriginatorIP">
			<reference class="IP4" condition="eval(ishost)" />
			<condition expr="OriginatorIPType=='Manual'" />
      <addByRef />
		</property>
		<property name="IPType" type="string">
			<enumeration value="LocalInterface" />
			<enumeration value="Manual" />
			<default value="LocalInterface" />
		</property>
		<property name="IP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<condition expr="IPType==Manual" />
      <addByRef />
		</property>
		<property name="IKEMode" type="string">
			<enumeration value="Main" />
			<enumeration value="Aggressive" />
			<default value="Main" />
		</property>
		<property name="DHGroup" type="integer">
			<enumeration value="1" description="modp 768-bit" />
			<enumeration value="2" description="modp 1024-bit" />
			<enumeration value="5" description="modp 1536-bit" />
			<default value="2" />
		</property>
		<property name="PFS" type="string">
			<enumeration value="None" />
			<enumeration value="PFS" />
			<default value="None" />
		</property>
		<property name="PFSDHGroup" type="integer">
			<enumeration value="1" description="modp 768-bit" />
			<enumeration value="2" description="modp 1024-bit" />
			<enumeration value="5" description="modp 1536-bit" />
			<default value="2" />
			<condition expr="PFS=='PFS'" />
		</property>
		<property name="SetupSAPer" type="string">
			<enumeration value="Net" />
			<enumeration value="Host" />
			<enumeration value="Port" />
			<default value="Net" />
		</property>
		<property name="DontVerifyPadding" type="boolean">
			<default value="false" />
		</property>
		<property name="NATTraversal" type="string">
			<enumeration value="Off" />
			<enumeration value="OnIfNeeded" />
			<enumeration value="AlwaysOn" />
			<default value="OnIfNeeded" />
		</property>
		<property name="KeepAlive" type="string">
			<enumeration value="Disabled" />
			<enumeration value="Auto" />
			<enumeration value="Manual" />
			<default value="Disabled" />
		</property>
		<property name="KeepAliveSourceIP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<condition expr="KeepAlive==Manual" />
      <addByRef />
		</property>
		<property name="KeepAliveDestinationIP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<condition expr="KeepAlive==Manual" />
      <addByRef />
		</property>
    <property name="Metric" type="integer">
      <default value="90" />
      <min value="1" />
      <max value="65535" />
    </property>
    <property name="AutoInterfaceNetworkRoute" type="boolean">
      <default value="true" />
      
    </property>    
	  <description value="An IPsec tunnel item is used to define IPsec endpoint and will appear as a logical interface in the system." />
	</class>
	
	
  
	<class name="PPPoETunnelFolder" extends="Node">
    <staticName value="PPPoE"/>
    <child class="PPPoETunnel" maxOccurs="unbounded" />
      <description value="Setup PPP (Point-to-Point Protocol) tunnels over Ethernet interfaces." />
  </class>
	
	<viewTemplate name="WebUI.PPPoETunnelFolder">
		<column name="Name" />
		<column name="EthernetInterface" />
		<column name="Network" />
		<column name="ServiceName" />
		<column name="Username" />
		<column name="DialOnDemand" />
		<column name="Comments" />
	</viewTemplate>	
	
  
	<class name="PPPoETunnel" extends="Interface">
		<property name="EthernetInterface">
			<reference class="Ethernet" />
		</property>
		<property name="IP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<addByRef />
			<allowNull />  
		</property>
		<property name="Network">
			<reference class="IP4" condition="!eval(isUA)" />
      <condition expr="AutoInterfaceNetworkRoute==true" />
      <addByRef />
		</property>
		<property name="DNS1">
      <reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
		</property>
		<property name="DNS2">
      <reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
		</property>
		<property name="Username" type="string">
			<condition expr="PPPAuthNoAuth==false||PPPAuthPAP==true||PPPAuthCHAP==true||PPPAuthMSCHAP==true||PPPAuthMSCHAPv2==true" />
		</property>
		<property name="Password" type="string">
			<condition expr="PPPAuthNoAuth==false||PPPAuthPAP==true||PPPAuthCHAP==true||PPPAuthMSCHAP==true||PPPAuthMSCHAPv2==true" />
		</property>
		<property name="ServiceName" type="string">
			<allowNull />
		</property>
		<property name="PPPAuthNoAuth" type="boolean">
			<default value="false" />
		</property>
		<property name="PPPAuthPAP" type="boolean">
			<default value="true" />
		</property>
		<property name="PPPAuthCHAP" type="boolean">
			<default value="true" />
		</property>
		<property name="PPPAuthMSCHAP" type="boolean">
			<default value="true" />
		</property>
		<property name="PPPAuthMSCHAPv2" type="boolean">
			<default value="true" />
		</property>
		<property name="DialOnDemand" type="boolean">
			<default value="false" />
		</property>
		<property name="ActivitySensing" type="string">
			<enumeration value="Outbound" />
			<enumeration value="Inbound" />
			<enumeration value="BiDirectional" />
			<default value="BiDirectional" />
			<condition expr="DialOnDemand==true" />
		</property>
		<property name="IdleTimeout" type="integer">
			<default value="3600" />
			<min value="0" />
			<condition expr="DialOnDemand==true" />
		</property>
    <property name="Metric" type="integer">
      <default value="90" />
      <min value="1" />
      <max value="65535" />
    </property>
    <property name="AutoInterfaceNetworkRoute" type="boolean">
      <default value="true" />
    </property>
		<description value="A PPPoE interface is a PPP (point-to-point protocol) tunnel over an existing physical Ethernet interface. Its IP address is dynamically assigned." />
	</class>
	
  
	<class name="L2TPServerFolder" extends="Node">
		<staticName value="L2TPServers"/>
		<property name="L2TPBeforeRules" type="boolean">
			<default value="true" />
		</property>
		<property name="PPTPBeforeRules" type="boolean">
			<default value="true" />
		</property>
		<child class="L2TPServer" maxOccurs="unbounded" />
    <description value="Add, remove and configure L2TP/PPTP interfaces used for terminating L2TP/PPTP-based VPN tunnels." />
	</class>
	<viewTemplate name="WebUI.L2TPServerFolder">
		<column name="Name" />
		<column name="TunnelProtocol" />
		<column name="IP" />
		<column name="Interface" />
		<column name="IPPool" />
		<column name="UseUserAuth" />
		<column name="Comments" />
	</viewTemplate>		
  
	<class name="L2TPServer" extends="Interface,ProxyARP">
		<property name="IP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
		</property>
		<property name="TunnelProtocol" type="string">
			<enumeration value="PPTP" description="Point-to-Point Tunneling Protocol" />
			<enumeration value="L2TP" description="Layer 2 Tunneling Protocol" />
			<default value="PPTP" />
		</property>
		<property name="Interface">
			<reference class="InterfaceBase" condition="eval(L2TPServerInterface) &amp;&amp; Name != 'core'" />
		</property>
		<property name="ServerIP">
			<reference class="IP4" condition="eval(ishost)" />
      <addByRef />
		</property>
		<property name="UseUserAuth" type="boolean">
			<default value="true" />
		</property>
		<property name="MPPENone" type="boolean">
			<default value="true" />
			<condition expr="UseUserAuth==true" />
		</property>
		<property name="MPPERC440" type="boolean">
			<default value="true" />
			<condition expr="UseUserAuth==true" />
		</property>
		<property name="MPPERC456" type="boolean">
			<default value="true" />
			<condition expr="UseUserAuth==true" />
		</property>
		<property name="MPPERC4128" type="boolean">
			<default value="true" />
			<condition expr="UseUserAuth==true" />
		</property>
		<property name="IPPool">
			<reference class="IP4" condition="!eval(isUA)" />
      <addByRef />
		</property>
		<property name="DNS1">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="DNS2">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="NBNS1">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="NBNS2">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="AllowedRoutes">
			<reference class="IP4" condition="!eval(isUA)" />
      <addByRef />
		</property>
	  <description value="A PPTP/L2TP server interface terminates PPP (Point to Point Protocol) tunnels set up over existing IP networks." />
	</class>
	
  
	<class name="L2TPClientFolder" extends="Node">
		<staticName value="PPPClients"/>
		<child class="L2TPClient" maxOccurs="unbounded" />
    <description value="L2TP/PPTP (Layer 2 Tunneling Protocol/Point-to-Point Tunneling Protocol) interfaces are used for terminating L2TP/PPTP-based VPN tunnels." />
	</class>
	<viewTemplate name="WebUI.L2TPClientFolder">
		<column name="Name" />
		<column name="TunnelProtocol" />
		<column name="RemoteEndpoint" />
		<column name="RemoteNetwork" />
		<column name="Username" />
		<column name="DialOnDemand" />
		<column name="Comments" />
	</viewTemplate>		
  
	<class name="L2TPClient" extends="Interface">
    <staticName value="PPPClient"/>
		<property name="IP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
			<allowNull />  
		</property>
		<property name="Network">
			<reference class="IP4" condition="!eval(isUA)" />
      <condition expr="AutoInterfaceNetworkRoute==true" />
      <addByRef />
		</property>
		<property name="RemoteEndpoint">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
		</property>
		<property name="TunnelProtocol" type="string">
			<enumeration value="PPTP" description="Point-to-Point Tunneling Protocol" />
			<enumeration value="L2TP" description="Layer 2 Tunneling Protocol" />
			<default value="PPTP" />
		</property>
		<property name="OriginatorIPType" type="string">
			<enumeration value="LocalInterface" />
			<enumeration value="Manual" />
			<default value="LocalInterface" />
		</property>
		<property name="OriginatorIP">
			<reference class="IP4" condition="eval(ishost)" />
			<condition expr="OriginatorIPType=='Manual'" />
      <addByRef />
		</property>
		<property name="DNS1">
      <reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
		</property>
		<property name="DNS2">
      <reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
		</property>
		<property name="Username" type="string">
			<condition expr="PPPAuthNoAuth==false||PPPAuthPAP==true||PPPAuthCHAP==true||PPPAuthMSCHAP==true||PPPAuthMSCHAPv2==true" />
		</property>
		<property name="Password" type="string">
			<condition expr="PPPAuthNoAuth==false||PPPAuthPAP==true||PPPAuthCHAP==true||PPPAuthMSCHAP==true||PPPAuthMSCHAPv2==true" />
		</property>
		<property name="PPPAuthNoAuth" type="boolean">
			<default value="false" />
		</property>
		<property name="PPPAuthPAP" type="boolean">
			<default value="true" />
		</property>
		<property name="PPPAuthCHAP" type="boolean">
			<default value="true" />
		</property>
		<property name="PPPAuthMSCHAP" type="boolean">
			<default value="true" />
		</property>
		<property name="PPPAuthMSCHAPv2" type="boolean">
			<default value="true" />
		</property>
		<property name="MPPENone" type="boolean">
			<default value="true" />
		</property>
		<property name="MPPERC440" type="boolean">
			<default value="true" />
			<condition expr="PPPAuthMSCHAP==true||PPPAuthMSCHAPv2==true" />
		</property>
		<property name="MPPERC456" type="boolean">
			<default value="true" />
			<condition expr="PPPAuthMSCHAP==true||PPPAuthMSCHAPv2==true" />
		</property>
		<property name="MPPERC4128" type="boolean">
			<default value="true" />
			<condition expr="PPPAuthMSCHAP==true||PPPAuthMSCHAPv2==true" />
		</property>
		<property name="DialOnDemand" type="boolean">
			<default value="false" />
		</property>
		<property name="ActivitySensing" type="string">
			<enumeration value="Outbound" />
			<enumeration value="Inbound" />
			<enumeration value="BiDirectional" />
			<default value="BiDirectional" />
			<condition expr="DialOnDemand==true" />
		</property>
		<property name="IdleTimeout" type="integer">
			<default value="3600" />
			<min value="0" />
			<condition expr="DialOnDemand==true" />
		</property>
    <property name="Metric" type="integer">
      <default value="90" />
      <min value="1" />
      <max value="65535" />
    </property>
    <property name="AutoInterfaceNetworkRoute" type="boolean">
      <default value="true" />
    </property>
	  <description value="A PPTP/L2TP client interface is a PPP (Point-to-Point Protocol) tunnel over an existing IP network. Its IP address and DNS servers are dynamically assigned." />
	</class>
	
  
	<class name="InterfaceGroupFolder" extends="Node">
		<staticName value="InterfaceGroups"/>
		<child class="InterfaceGroup" maxOccurs="unbounded" />
	    <description value="Use interface groups to combine several interfaces for simplified policy management." />
	</class>
	<viewTemplate name="WebUI.InterfaceGroupFolder">
		<column name="Name" />
		<column name="Members" />
		<column name="Comments" />
	</viewTemplate>
	<viewTemplate name="WebUI.ComboBox.InterfaceGroup">
		<column name="Name" />
		<column name="Members" />
		<column name="Comments" />
	</viewTemplate>
  
  
	<class name="InterfaceGroup" extends="InterfaceBase">
		<property name="Equivalent" type="boolean">
			<default value="false" />
		</property>
		<property name="Members">
			<reference class="Interface" />
			<maxOccurs value="unbounded" />
		</property>
		<description value="Use an interface group to combine several interfaces for a simplified security policy." />
	</class>
	
  
	<class name="ARPTableFolder" extends="Node">
		<staticName value="ARP"/>
		<property name="ARPMatchEnetSender" type="string">
			<enumeration value="Ignore" />
			<enumeration value="Log" />
			<enumeration value="Drop" />
			<enumeration value="DropLog" />
			<default value="DropLog" />
		</property>
		<property name="ARPQueryNoSenderIP" type="string">
			<enumeration value="Accept" />
			<enumeration value="Log" />
			<enumeration value="Drop" />
			<enumeration value="DropLog" />
			<default value="DropLog" />
		</property>
		<property name="ARPSenderIP" type="string">
			<enumeration value="AcceptAny" />
			<enumeration value="Validate" />
			<default value="Validate" />
		</property>
		<property name="UnsolicitedARPReplies" type="string">
			<enumeration value="Accept" />
			<enumeration value="AcceptLog" />
			<enumeration value="Drop" />
			<enumeration value="DropLog" />
			<default value="DropLog" />
		</property>
		<property name="ARPRequests" type="string">
			<enumeration value="Accept" />
			<enumeration value="Drop" />
			<default value="Drop" />
		</property>
		<property name="ARPChanges" type="string">
			<enumeration value="Accept" />
			<enumeration value="AcceptLog" />
			<enumeration value="Drop" />
			<enumeration value="DropLog" />
			<default value="AcceptLog" />
		</property>
		<property name="StaticARPChanges" type="string">
			<enumeration value="Drop" />
			<enumeration value="DropLog" />
			<default value="DropLog" />
		</property>
		<property name="ARPExpire" type="integer">
			<min value="0" />
			<default value="900" />
		</property>
		<property name="ARPExpireUnknown" type="integer">
			<min value="0" />
			<default value="3" />
		</property>
		<property name="ARPMulticast" type="string">
			<enumeration value="Accept" />
			<enumeration value="Log" />
			<enumeration value="Drop" />
			<enumeration value="DropLog" />
			<default value="DropLog" />
		</property>
		<property name="ARPBroadcast" type="string">
			<enumeration value="Accept" />
			<enumeration value="Log" />
			<enumeration value="Drop" />
			<enumeration value="DropLog" />
			<default value="DropLog" />
		</property>
		<property name="ARPCacheSize" type="integer">
			<min value="0" />
			<default value="4096" />
		</property>
		<property name="ARPHashSize" type="integer">
			<min value="0" />
			<default value="512" />
		</property>
		<property name="ARPHashSizeVLAN" type="integer">
			<min value="0" />
			<default value="64" />
		</property>  
		<child class="ARP" maxOccurs="unbounded" />
	    <description value="Add, remove and configure static and published ARP entries." />
	</class>
	<viewTemplate name="WebUI.ARPTableFolder">         
		<column name="Mode" />
		<column name="Interface" />
		<column name="IP" />
		<column name="MACAddress" />
		<column name="Comments" />
	</viewTemplate>	
  
	<class name="ARP" extends="Node">
		<property name="Mode" type="string">
			<enumeration value="Static" />
			<enumeration value="Publish" />
			<enumeration value="XPublish" />
			<default value="Publish" />
		</property>
		<property name="Interface">
			<reference class="InterfaceBase" condition="eval(ARPAllowed) &amp;&amp; Name != 'core'" />
		</property>
		<property name="IP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
		</property>
		<property name="MACAddress">
			<reference class="EthernetAddress" />
      <addByRef />
      <condition expr="Mode!='Publish'" />
		</property>
		<description value="Use an ARP entry to publish additional IP addresses and/or MAC addresses on a specified interface." />
	</class>
  
	<class name="RoutingFolder" extends="Node">
		<staticName value="Routing"/>
		<property name="RouteFailOver_IfacePollInterval" type="integer">
			<min value="0" />
			<default value="500" />
		</property>
		<property name="RouteFailOver_ARPPollInterval" type="integer">
			<min value="0" />
			<default value="1000" />
		</property>
		<property name="RouteFailOver_PingPollInterval" type="integer">
			<min value="0" />
			<default value="1000" />
		</property>
		<property name="RouteFailOver_GraceTime" type="integer">
			<min value="0" />
			<default value="30" />
		</property>
		<property name="RouteFailOver_ConsecFails" type="integer">
			<min value="0" />
			<default value="5" />
		</property>
		<property name="RouteFailOver_ConsecSuccess" type="integer">
			<min value="0" />
			<default value="5" />
		</property>
    <property name="Transp_CAMToL3CDestLearning" type="boolean">
			<default value="true" />
		</property>
    <property name="Transp_DecrementTTL" type="boolean">
			<default value="false" />
		</property>
    <property name="Transp_CAMSize" type="integer">
			<min value="16" />
			<max value="8388608" />
			<default value="8192" />
		</property>
    <property name="Transp_L3CSize" type="integer">
			<min value="64" />
			<max value="1048576" />
			<default value="8192" />
		</property>
    <child class="MainRoutingTable" instantiate="static"/>
    <child class="VirtualRouterFolder" instantiate="static"/>
    <child class="VirtualRoutingRuleFolder" instantiate="static"/>
    <child class="DynamicRoutingRuleFolder" instantiate="static"/>
    <child class="OSPFFolder" instantiate="static"/>
    <description value="Configure the routing capabilities of the system, including dynamic and policy-based routing." />
  </class>
  
	<class name="RoutingTable" extends="Node">
	</class>
  <viewTemplate name="WebUI.ComboBox.RoutingTables"> 
        <column name="Name" /> 
        <column name="Comments" />
	</viewTemplate>	
  
	<class name="MainRoutingTable" extends="RoutingTable">
		<staticName value="Routes"/>
		<child class="Route" maxOccurs="unbounded" />
		<child class="SwitchRoute" maxOccurs="unbounded" />
		<description value="The main routing table of the system." />
	</class>
	<viewTemplate name="WebUI.MainRoutingTable"> 
        <column name="Type" /> 
        <column name="Interface" /> 
        <column name="Network" /> 
        <column name="Gateway" />
        <column name="LocalIP" />
        <column name="Metric" />
        <column name="RouteMonitor" />
        <column name="Comments" />
	</viewTemplate>
	
  
	<class name="BasicRoute" extends="Node,ProxyARP">
		<property name="Network">
			<reference class="IP4" condition="!eval(isUA)" />
			<addByRef />
		</property>
		<property name="Metric" type="integer">
			<min value="0" />
			<default value="0" />
			<allowNull />
		</property>
	</class>
  
	<class name="Route" extends="BasicRoute">
		<property name="Interface">
			<reference class="Interface" condition="Name != 'any'" />
		</property>		
		<property name="Gateway">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="LocalIP">
			<reference class="IP4" condition="eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>		
		<property name="RouteMonitor" type="boolean">
			<default value="false" />
		</property>
		<property name="MonitorLinkStatus" type="boolean">
			<default value="false" />
			<condition expr="RouteMonitor==true" />
		</property>
		<property name="MonitorGateway" type="boolean">
			<default value="false" />
			<condition expr="RouteMonitor==true" />
		</property>
		<property name="MonitorGatewayManualARP" type="boolean">
			<default value="false" />
			<condition expr="RouteMonitor==true&amp;&amp;MonitorGateway==true" />
		</property>
		<property name="MonitorGatewayARPInterval" type="integer">
			<min value="10" />
			<default value="1000" />
			<condition expr="RouteMonitor==true&amp;&amp;MonitorGateway==true&amp;&amp;MonitorGatewayManualARP==true" />
		</property>
		<description value="A route defines what interface and gateway to use in order to reach a specified network." />
	</class>
  
	<class name="SwitchRoute" extends="BasicRoute">
		<property name="Interface"> 
			<reference class="InterfaceBase" condition="Name != 'core' &amp;&amp; Name != 'any'" />
		</property>
		<description value="A switch route defines which interfaces the specified network can be reached on. Proxy ARP defines between which intefaces ARP is allowed." />
	</class>
	
  
	<class name="VirtualRouterFolder" extends="Node">
		<staticName value="VirtualRouters"/>
		<child class="VirtualRouter" maxOccurs="unbounded" />
		<description value="Configure the policy-based routing tables of the system." />
	</class>
	
	<viewTemplate name="WebUI.VirtualRouterFolder"> 
        <column name="Name" /> 
        <column name="Ordering" /> 
        <column name="RemoveInterfaceIPRoutes" />
        <column name="Comments" />
	</viewTemplate>	
	
	<viewTemplate name="WebUI.ComboBox.VirtualRouterFolder"> 
        <column name="Name" /> 
        <column name="Comments" />
	</viewTemplate>	
	<viewTemplate name="WebUI.ComboBox.VirtualRouter"> 
        <column name="Name" /> 
        <column name="Comments" />
	</viewTemplate>	
  
	<class name="VirtualRouter" extends="RoutingTable">
		<property name="Name" type="string">
			<maxLength value="64" />
			<unique value="local" />
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="Ordering" type="string">
			<enumeration value="Default" />
			<enumeration value="First" />
			<enumeration value="Only" />
			<default value="Only" />
		</property>
		<property name="RemoveInterfaceIPRoutes" type="boolean">
			<default value="false" />
		</property>
		<child class="VirtualRoute" maxOccurs="unbounded" />
	    <description value="A policy-based routing table is used to define an alternate routing table." />
	</class>
	
	<viewTemplate name="WebUI.VirtualRouter"> 
        <column name="Interface" /> 
        <column name="Network" /> 
        <column name="Gateway" />
        <column name="LocalIP" />
        <column name="Metric" />
        <column name="Comments" />
	</viewTemplate>
	
  
	<class name="VirtualRoute" extends="Route">
		<description value="A route defines what interface and gateway to use in order to reach a specified network." />
	</class>
	
  
	<class name="VirtualRoutingRuleFolder" extends="Node">
		<staticName value="VirtualRoutingRules"/>
		<child class="VirtualRoutingRule" maxOccurs="unbounded" />
		<description value="Configure a policy for what policy-based routing tables are to be used for what network traffic." />
	</class>
	
	<viewTemplate name="WebUI.VirtualRoutingRuleFolder"> 
        <column name="Name" />
        <column name="SourceInterface" /> 
        <column name="SourceNetwork" />
        <column name="DestinationInterface" /> 
        <column name="DestinationNetwork" />
        <column name="Service" />
        <column name="Comments" />
	</viewTemplate>	
	
  
	<class name="VirtualRoutingRule" extends="Node,Log">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="VRForward">
			<reference class="RoutingTable" />
		</property>
		<property name="VRReturn">
			<reference class="RoutingTable" />
		</property>
		<property name="SourceInterface">
			<reference class="InterfaceBase" condition="Name != 'core'" />
		</property>
		<property name="DestinationInterface">
			<reference class="InterfaceBase" />
		</property>
		<property name="SourceNetwork">
			<reference class="IP4" condition="!eval(isUA)" />
      <addByRef />
		</property>
		<property name="DestinationNetwork">
			<reference class="IP4" condition="!eval(isUA)" />
      <addByRef />
		</property>
		<property name="Service">
			<reference class="Service" />
		</property>
		<property name="Schedule">
			<reference class="ScheduleProfile" />
			<allowNull />
		</property>
	    <description value="A Policy-based Routing Rule forces the use of policy-based routing tables in the forward and/or return direction of traffic on a connection. The 'ordering' parameter of the policy-based routing table determines if the router is consulted before or after the main routing table." />
	</class>
  
	<class name="DynamicRoutingRuleFolder" extends="Node">
		<staticName value="DynamicRoutingRules"/>
		<child class="DynamicRoutingRule" maxOccurs="unbounded" />
    <description value="Dynamic Routing Policy defines filters to select statically configured routes or OSPF learned routes to be handled by the action rules." />
	</class>
	
	<viewTemplate name="WebUI.DynamicRoutingRuleFolder"> 
        <column name="Name" /> 
        <column name="From" />
        <column name="OSPFProcess" /> 
        <column name="RoutingTable" />
        <column name="Comments" />
	</viewTemplate>	
	
  
	<class name="DynamicRoutingRule" extends="Node,Log">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="From" type="string">
			<enumeration value="OSPF" />
			<enumeration value="RTable" />
			<default value="OSPF" />
		</property>
		<property name="OSPFProcess">
			<reference class="OSPFProcess" />
			<maxOccurs value="unbounded" />
			<condition expr="From==OSPF" />
		</property>
		<property name="RoutingTable">
			<reference class="RoutingTable" />
			<maxOccurs value="unbounded" />
			<condition expr="From==RTable" />
		</property>
		<property name="DestinationInterface">
			<reference class="InterfaceBase" condition="Name != 'core' &amp;&amp; Name != 'any'" />
			<allowNull />
		</property>
		<property name="DestinationNetworkExactly">
			<reference class="IP4" condition="!eval(isUA)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="DestinationNetworkIn">
			<reference class="IP4" condition="!eval(isUA)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="NextHop">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="MetricFrom" type="integer">
			<min value="1" />
			<max value="65536" />
			<allowNull />
		</property>
		<property name="MetricTo" type="integer">
			<min value="1" />
			<max value="65536" />
			<allowNull />
		</property>
		<property name="RouterID">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
			<condition expr="From==OSPF" />
      <addByRef />
		</property>
		<property name="OSPFRouteType" type="integer">
			<enumeration value="1" />
			<enumeration value="2" />
			<allowNull />
			<condition expr="From==OSPF" />
		</property>
		<property name="OSPFTagFrom" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="From==OSPF" />
		</property>
		<property name="OSPFTagTo" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="From==OSPF" />
		</property>
		<child class="DynamicRoutingRuleExportOSPFFolder" instantiate="removableStatic" />
		<child class="DynamicRoutingRuleAddRouteFolder" instantiate="removableStatic" />
	    <description value="A Dynamic Routing Policy rule creates a filter to catch statically configured or OSPF learned routes. The matched routes can be controlled by the action rules to be either exported to OSPF processes or to be added to one or more routing tables." />
	</class>
	<viewTemplate name="WebUI.DynamicRoutingRule">
		<column name="Name" />
		<column name="From" />
		<column name="RoutingTable" />
		<column name="DestinationInterface" />
		<column name="DestinationNetworkExactly" />
		<column name="DestinationNetworkIn" />
		<column name="Comments" />
	</viewTemplate>
	
  
	<class name="DynamicRoutingRuleExportOSPFFolder" extends="Node">
		<staticName value="OSPFActions" />
		<child class="DynamicRoutingRuleExportOSPF" maxOccurs="unbounded" />
		<description value="Setup OSPF actions to manipulate and export routes to a OSPF Router Process." />    		
	</class>
	
	<viewTemplate name="WebUI.DynamicRoutingRuleExportOSPFFolder">
		<column name="ExportToProcess" />
		<column name="SetTag" />
		<column name="SetRouteType" />
		<column name="OffsetMetric" />
		<column name="Comments" />
	</viewTemplate>
	
  
	<class name="DynamicRoutingRuleExportOSPF" extends="Node">
		<property name="ExportToProcess">
			<reference class="OSPFProcess" />
		</property>
		<property name="SetTag" type="integer">
			<allowNull />
		</property>
		<property name="SetRouteType" type="integer">
			<enumeration value="1" />
			<enumeration value="2" />
			<allowNull />
		</property>
		<property name="OffsetMetric" type="integer">
			<allowNull />
		</property>
		<property name="LimitMetricFrom" type="integer">
			<min value="1" />
			<max value="65536" />
			<allowNull />
		</property>
		<property name="LimitMetricTo" type="integer">
			<min value="1" />
			<max value="65536" />
			<allowNull />
		</property>
		<property name="SetForward">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
	  <description value="An OSPF action is used to manipulate and export new or changed routes to an OSPF Router Process." />
	</class>
	
  
	<class name="DynamicRoutingRuleAddRouteFolder" extends="Node">
		<staticName value="RoutingActions" />
		<child class="DynamicRoutingRuleAddRoute" maxOccurs="unbounded" />
		<description value="Configure routing actions to manipulate and insert routes to one or more local routing tables." />
	</class>
	
	<viewTemplate name="WebUI.DynamicRoutingRuleAddRouteFolder">
		<column name="Destination" />
		<column name="OffsetMetric" />
		<column name="OffsetMetricType2" />
		<column name="LimitMetricFrom" />
		<column name="LimitMetricTo" />
		<column name="Comments" />
	</viewTemplate>	
  
	<class name="DynamicRoutingRuleAddRoute" extends="Node,ProxyARP">
		<property name="Destination">
			<reference class="RoutingTable" />
			<maxOccurs value="unbounded" />
		</property>
		<property name="OverrideStatic" type="boolean">
			<default value="false" />
		</property>
		<property name="OverwriteDefault" type="boolean">
			<default value="false" />
		</property>
		<property name="OffsetMetric" type="integer">
			<allowNull />
		</property>
		<property name="OffsetMetricType2" type="integer">
			<allowNull />
		</property>
		<property name="LimitMetricFrom" type="integer">
			<min value="1" />
			<max value="65536" />
			<allowNull />
		</property>
		<property name="LimitMetricTo" type="integer">
			<min value="1" />
			<max value="65536" />
			<allowNull />
		</property>
    <description value="A routing action is used to manipulate and insert new or changed routes to one or more local routing tables." />
	</class>
  
	<class name="OSPFFolder" extends="Node">
		<staticName value="OSPF"/>
		<child class="OSPFProcess" maxOccurs="unbounded" />
    <description value="Add, remove and configure OSPF Router Processes." />
	</class>
	<viewTemplate name="WebUI.OSPFFolder">
		<column name="Name" />
		<column name="RouterID" />
		<column name="Comments" />
	</viewTemplate>
  
	<class name="OSPFProcess" extends="Node,Log">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="RouterID">
		  <reference class="IP4Address" condition="Address.eval(ishost)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="RFC1583" type="boolean">
			<default value="false" />
		</property>
		<property name="SPFHoldTime" type="integer">
			<min value="0" />
			<default value="10" />
		</property>
		<property name="SPFDelayTime" type="integer">
			<min value="0" />
			<default value="5" />
		</property>
		<property name="LSAGroupPacing" type="integer">
			<min value="0" />
			<max value="1800" />
			<default value="10" />
		</property>
		<property name="RoutesHoldtime" type="integer">
			<min value="0" />
			<default value="45" />
		</property>
		<property name="RefBandwidthValue" type="integer">
			<min value="0" />
			<default value="1" />
		</property>
		<property name="RefBandwidthUnit" type="string">
			<enumeration value="bps" />
			<enumeration value="Kbps" />
			<enumeration value="Mbps" />
			<enumeration value="Gbps" />
			<default value="Gbps" />
		</property>
		<property name="MemoryMaxUsage" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="DebugPacket" type="string">
			<enumeration value="Off" />
			<enumeration value="Low" />
			<enumeration value="Medium" />
			<enumeration value="High" />
			<default value="Off" />
		</property>
		<property name="DebugHello" type="string">
			<enumeration value="Off" />
			<enumeration value="Low" />
			<enumeration value="Medium" />
			<enumeration value="High" />
			<default value="Off" />
		</property>
		<property name="DebugDDesc" type="string">
			<enumeration value="Off" />
			<enumeration value="Low" />
			<enumeration value="Medium" />
			<enumeration value="High" />
			<default value="Off" />
		</property>
		<property name="DebugExchange" type="string">
			<enumeration value="Off" />
			<enumeration value="Low" />
			<enumeration value="Medium" />
			<enumeration value="High" />
			<default value="Off" />
		</property>
		<property name="DebugLSA" type="string">
			<enumeration value="Off" />
			<enumeration value="Low" />
			<enumeration value="Medium" />
			<enumeration value="High" />
			<default value="Off" />
		</property>
		<property name="DebugSPF" type="string">
			<enumeration value="Off" />
			<enumeration value="Low" />
			<enumeration value="Medium" />
			<enumeration value="High" />
			<default value="Off" />
		</property>
		<property name="DebugRoute" type="string">
			<enumeration value="Off" />
			<enumeration value="Low" />
			<enumeration value="Medium" />
			<enumeration value="High" />
			<default value="Off" />
		</property>
		<property name="AuthType" type="string">
			<enumeration value="Null" />
			<enumeration value="Passphrase" />
			<enumeration value="MD5Digest" />
			<default value="Null" />
		</property>
		<property name="AuthPassphrase" type="string">
  		<maxLength value="64" />
			<allowNull />
			<condition expr="AuthType==Passphrase" />
		</property>
		<property name="AuthMD5ID" type="integer">
			<min value="0" />
			<condition expr="AuthType==MD5Digest" />
		</property>
		<property name="AuthMD5Key" type="string">
			<allowNull />
			<condition expr="AuthType==MD5Digest" />
		</property>
		<child class="OSPFArea" minOccurs="1" maxOccurs="unbounded" />
	    <description value="An OSPF Router Process defines a group of routers exchanging routing information via the 'Open Shortest Path First' routing protocol." />
	</class>
  <viewTemplate name="WebUI.OSPFProcess">
		<column name="Name" />
		<column name="Comments" />
	</viewTemplate>
	
  
	<class name="OSPFArea" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="local"/>
		</property>
  	<property name="AreaID">
		  <reference class="IP4Address" condition="Address.eval(ishost)"/>
      <unique value="local" />
      <addByRef />
		</property>
		<property name="Stub" type="boolean">
			<default value="false" />
		</property>
		<property name="StubSummarize" type="boolean">
			<default value="true" />
			<condition expr="Stub==true" />
		</property>
		<property name="StubMetric" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Stub==true&amp;&amp;StubSummarize==true" />
		</property>
		<property name="FilterExternal">
			<reference class="IP4" condition="!eval(isUA)" />
			<allowNull />
      <addByRef />
		</property>
		<property name="FilterInterArea">
			<reference class="IP4" condition="!eval(isUA)" />
			<allowNull />
      <addByRef />
		</property>
	
		<child class="OSPFInterfaceFolder" instantiate="removableStatic" />
		<child class="OSPFNeighborFolder" instantiate="removableStatic" />
		<child class="OSPFAggregateFolder" instantiate="removableStatic" />
		<child class="OSPFVLinkFolder" instantiate="removableStatic"/>
	</class>
  
	<class name="OSPFInterfaceFolder" extends="Node">
		<staticName value="OSPFInterfaces"/>
		<child class="OSPFInterface" minOccurs="1" maxOccurs="unbounded" />
		<description value="Define the interfaces that should become a member of the OSPF router process." />
	</class>
	<viewTemplate name="WebUI.OSPFInterfaceFolder">
		<column name="Interface" />
		<column name="Type" />
		<column name="Comments" />
	</viewTemplate>		
	<viewTemplate name="WebUI.ComboBox.OSPFInterfaceFolder"> 
    <column name="Interface" />
		<column name="Comments" />
	</viewTemplate>	
  
	<class name="OSPFInterface" extends="Node">
	  <dnProperty property="Interface"/>  
		<property name="Interface">
			<reference class="Interface" condition="Name != 'core' &amp;&amp; Name != 'any'" />
		</property>
		<property name="Type" type="string">
			<enumeration value="Auto" />
			<enumeration value="Broadcast" />
			<enumeration value="Point-to-point" />
			<enumeration value="Point-to-multipoint" />
			<default value="Auto" />
		</property>
		<property name="MetricType" type="string">
			<enumeration value="MetricValue" />
			<enumeration value="Bandwidth" />
			<default value="MetricValue" />
		</property>
		<property name="Metric" type="integer">
			<min value="1" />
			<condition expr="MetricType==MetricValue" />
		</property>
		<property name="BandwidthValue" type="integer">
			<min value="1" />
			<condition expr="MetricType==Bandwidth" />
		</property>
		<property name="BandwidthUnit" type="string">
			<enumeration value="bps" />
			<enumeration value="Kbps" />
			<enumeration value="Mbps" />
			<enumeration value="Gbps" />
			<default value="Mbps" />
			<condition expr="MetricType==Bandwidth" />
		</property>
		<property name="UseDefaultAuth" type="boolean">
			<default value="true" />
		</property>
		<property name="AuthType" type="string">
			<enumeration value="Null" />
			<enumeration value="Passphrase" />
			<enumeration value="MD5Digest" />
			<default value="Null" />
			<condition expr="UseDefaultAuth==false" />
		</property>
		<property name="AuthPassphrase" type="string">
  		<maxLength value="64" />
			<allowNull />
			<condition expr="UseDefaultAuth==false&amp;&amp;AuthType==Passphrase" />
		</property>
		<property name="AuthMD5ID" type="integer">
			<min value="0" />
			<condition expr="UseDefaultAuth==false&amp;&amp;AuthType==MD5Digest" />
		</property>
		<property name="AuthMD5Key" type="string">
			<condition expr="UseDefaultAuth==false&amp;&amp;AuthType==MD5Digest" />
			<allowNull />
		</property>
		<property name="HelloInterval" type="integer">
			<min value="0" />
      <default value="10" />
			<allowNull />
		</property>
		<property name="RtrDeadInterval" type="integer">
			<min value="0" />
      <default value="40" />
			<allowNull />
		</property>
		<property name="RxmtInterval" type="integer">
			<min value="0" />
      <default value="5" />
			<allowNull />
		</property>
		<property name="RtrPrio" type="integer">
			<min value="0" />
			<max value="255" />
      <default value="1" />
			<allowNull />
		</property>
		<property name="InfTransDelay" type="integer">
			<min value="0" />
      <default value="1" />
			<allowNull />
		</property>
		<property name="WaitInterval" type="integer">
			<min value="0" />
      <default value="40" />
			<allowNull />
		</property>
		<property name="Passive" type="boolean">
			<default value="false" />
			<allowNull />
		</property>
		<property name="IgnoreMTU" type="boolean">
			<default value="false" />
			<allowNull />
		</property>
    <description value="Select and define the properties of an interface that should be made a member of the Router Process." />
	</class>
  
	<class name="OSPFNeighborFolder" extends="Node">
		<staticName value="OSPFNeighbors"/>
		<child class="OSPFNeighbor" maxOccurs="unbounded" />
		<description value="Configures the OSPF neighbors for non broadcast interfaces." />
	</class>
	<viewTemplate name="WebUI.OSPFNeighborFolder">
		<column name="Interface" />
		<column name="IPAddress" />
		<column name="Metric" />
	</viewTemplate>	
  
	<class name="OSPFNeighbor" extends="Node">
		<property name="Interface">
			<reference class="OSPFInterface" scope="../../../" condition="Type=='Point-to-point' || Type=='Point-to-multipoint'" />
		</property>
		<property name="IPAddress">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
		</property>
		<property name="Metric" type="integer">
			<min value="1" />
			<allowNull />
		</property>
    <description value="For point-to-point and point-to-multipoint networks, specify the ip addresses of directly connected routers." />
	</class>
	
  
	<class name="OSPFAggregateFolder" extends="Node">
		<staticName value="OSPFAggregates"/>
		<child class="OSPFAggregate" maxOccurs="unbounded" />
		<description value="Manages contiguous networks to replace any number of smaller networks to be either advertised or hidden." />
	</class>
	
	<viewTemplate name="WebUI.OSPFAggregateFolder">
		<column name="Network" />
		<column name="Advertise" />
		<column name="Comments" />
	</viewTemplate>	
	
  
	<class name="OSPFAggregate" extends="Node">
		<property name="Network">
			<reference class="IP4Address" condition="!eval(isUA)" />
      <addByRef />
		</property>
		<property name="Advertise" type="boolean">
			<default value="true" />
		</property>
	  <description value="An aggregate is used to replace any number of smaller networks belonging to the local (intra) area with one contiguous network which may then be advertised or hidden." />
	</class>
	
  
	<class name="OSPFVLinkFolder" extends="Node">
		<staticName value="OSPFVLinks"/>
		<child class="OSPFVLink" maxOccurs="unbounded" />
		<description value="Setup virtual links to connect non backbone areas with the backbone." />
	</class>
	<viewTemplate name="WebUI.OSPFVLinkFolder">
		<column name="Name" />
		<column name="RouterID" />
		<column name="Comments" />
	</viewTemplate>	
  
	<class name="OSPFVLink" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="local"/>
		</property>
		<property name="RouterID">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
		</property>
		<property name="UseDefaultAuth" type="boolean">
			<default value="true" />
		</property>
		<property name="AuthType" type="string">
			<enumeration value="Null" />
			<enumeration value="Passphrase" />
			<enumeration value="MD5Digest" />
			<default value="Null" />
			<condition expr="UseDefaultAuth==false" />
		</property>
		<property name="AuthPassphrase" type="string">
  		<maxLength value="64" />
			<allowNull />
			<condition expr="UseDefaultAuth==false&amp;&amp;AuthType==Passphrase" />
		</property>
		<property name="AuthMD5ID" type="integer">
			<min value="0" />
			<condition expr="UseDefaultAuth==false&amp;&amp;AuthType==MD5Digest" />
		</property>
		<property name="AuthMD5Key" type="string">
			<condition expr="UseDefaultAuth==false&amp;&amp;AuthType==MD5Digest" />
			<allowNull />
		</property>
    <description value="An area that does not have a direct connection to the backbone must have at least one area border router with a virtual link to a backbone router, or to another router with a link to the backbone." />
	</class>
  
	<class name="RuleFolder" extends="Node">
		<staticName value="Rules"/>
    
		<child class="IPRuleFolder" instantiate="static"/>
		<child class="AccessFolder" instantiate="static"/>
		<description value="Manage the various network traffic rules, such as Ethernet and IP rules, in the system." />
	</class>
  
	
  
	
  
	<class name="IPRuleFolder" extends="Node">
		<staticName value="IPRules"/>
		<child class="IPRule" maxOccurs="unbounded" />
		<child class="IPRuleSubFolder" maxOccurs="unbounded" />
		<description value="IP Rules are used to filter IP-based network traffic. In addition, they provide means for address translation as well as Server Load Balancing." />
	</class>
	<viewTemplate name="WebUI.IPRuleFolder">
		<column name="Name" />
		<column name="Action" />
		<column name="SourceInterface" />
		<column name="SourceNetwork" />
		<column name="DestinationInterface" />
		<column name="DestinationNetwork" />
		<column name="Service" />
	</viewTemplate>
  
	<class name="IPRuleSubFolder" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<child class="IPRule" maxOccurs="unbounded" />
		<child class="IPRuleSubFolder" maxOccurs="unbounded" />
		<description value="An IP Rule folder can be used to group IP Rules into logical groups for better overview and simplified management." />
	</class>
  
	<class name="IPRule" extends="Node,Log">
		<property name="Name" type="string">
			<maxLength value="64"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="Action" type="string">
			<enumeration value="Drop" description="Drop the packet silently" />
			<enumeration value="Reject" description="Drop the packet and respond with an ICMP error or TCP reset" />
			<enumeration value="FwdFast" description="Stateless packet forwarding" />
			<enumeration value="Allow" description="Stateful connection creation" />
			<enumeration value="SAT" description="Static Address Translation" />
			<enumeration value="SLB_SAT" description="Server Load Balancing using Static Address Translation" />
			<enumeration value="NAT" description="Dynamic Address Translation (hide)" />
			<default value="Drop" />
		</property>
		<property name="SourceInterface">
			<reference class="InterfaceBase" condition="Name != 'core'" />
		</property>
		<property name="SourceNetwork"> 
			<reference class="IP4" />
      <addByRef />
		</property>
		<property name="DestinationInterface">
			<reference class="InterfaceBase" />
		</property>
		<property name="DestinationNetwork"> 
			<reference class="IP4" />
      <addByRef />
		</property>
		<property name="Service">
			<reference class="Service" />
		</property>
		<property name="Schedule">	
			<reference class="ScheduleProfile" />
			<allowNull />
		</property>
		<property name="NATAction" type="string">
			<enumeration value="UseInterfaceAddress" />
			<enumeration value="SpecifySenderAddress" />
			<default value="UseInterfaceAddress" />
			<condition expr="Action==NAT" />
		</property>
		<property name="NATSenderAddress">
			<reference class="IP4" condition="eval(ishost)" />
			<condition expr="Action==NAT&amp;&amp;NATAction==SpecifySenderAddress" />
      <addByRef />
		</property>
		<property name="SATTranslate" type="string">
			<enumeration value="SourceIP" />
			<enumeration value="DestinationIP" />
			<default value="DestinationIP" />
			<condition expr="Action==SAT" />
		</property>
		<property name="SATTranslateToIP">
			<reference class="IP4" condition="eval(ishost)" />
			<condition expr="Action==SAT" />
      <addByRef />
		</property>
		<property name="SATTranslateToPort" type="integer">
			<min value="0" />
			<max value="65535" />
			<allowNull />
			<condition expr="Action==SAT" />
		</property>
		<property name="SATAllToOne" type="boolean">
			<default value="false" />
			<condition expr="Action==SAT&amp;&amp;SATTranslate==DestinationIP" />
		</property>
		<property name="SLBStickiness" type="string">
			<enumeration value="None" />
			<enumeration value="IP" />
			<enumeration value="Net" />
			<default value="None" />
			<condition expr="Action=='SLB_SAT'" />
		</property>
		<property name="SLBIdleTimeOut" type="integer">
			<default value="30" />
			<min value="1" />
			<condition expr="Action=='SLB_SAT'&amp;&amp;(SLBStickiness=='IP'||SLBStickiness=='Net')" />
		</property>
		<property name="SLBMaxSlots" type="integer">
			<default value="2048" />
			<min value="0" />
			<condition expr="Action=='SLB_SAT'&amp;&amp;(SLBStickiness=='IP'||SLBStickiness=='Net')" />
		</property>
		<property name="SLBNetSize" type="integer">
			<default value="24" />
			<min value="1" />
			<max value="31" />
			<condition expr="Action=='SLB_SAT'&amp;&amp;SLBStickiness==Net" />
		</property>
		<property name="SLBMonitorPing" type="boolean">
			<default value="false" />
			<condition expr="Action=='SLB_SAT'" />
		</property>
		<property name="SLBMonitorTCP" type="boolean">
			<default value="false" />
			<condition expr="Action=='SLB_SAT'" />
		</property>
		<property name="SLBPingUseSharedIP" type="boolean">
			<default value="true" />
			<condition expr="Action=='SLB_SAT' &amp;&amp; SLBMonitorPing==true" />
		</property>
		<property name="SLBTCPUseSharedIP" type="boolean">
			<default value="true" />
			<condition expr="Action=='SLB_SAT' &amp;&amp; SLBMonitorTCP==true" />
		</property>
		<property name="SLBPingInterval" type="integer">
			<default value="10000" />
			<min value="1" />
			<condition expr="Action=='SLB_SAT'&amp;&amp;SLBMonitorPing==true" />
		</property>
		<property name="SLBPingMaxLoss" type="integer">
			<default value="5" />
			<min value="0" />
			<condition expr="Action=='SLB_SAT'&amp;&amp;SLBMonitorPing==true" />
		</property>
		<property name="SLBTCPInterval" type="integer">
			<default value="10000" />
			<min value="1" />
			<condition expr="Action=='SLB_SAT'&amp;&amp;SLBMonitorTCP==true" />
		</property>
		<property name="SLBTCPMaxLoss" type="integer">
			<default value="5" />
			<min value="0" />
			<condition expr="Action=='SLB_SAT'&amp;&amp;SLBMonitorTCP==true" />
		</property>
		<property name="SLBTCPPorts" type="integerRange">
			<min value="0" />
			<max value="65535" />
			<maxOccurs value="unbounded" />
			<minOccurs value="1" />
			<condition expr="Action=='SLB_SAT'&amp;&amp;SLBMonitorTCP==true" />
		</property>
		<property name="SLBDistribution" type="string">
			<enumeration value="RoundRobin" />
			<enumeration value="ConnectionRate" />
			<default value="RoundRobin" />
			<condition expr="Action=='SLB_SAT'" />
		</property>
		<property name="SLBWindowTime" type="integer">
			<default value="10" />
			<min value="0" />
			<condition expr="Action=='SLB_SAT'&amp;&amp;SLBDistribution=='ConnectionRate'" />
		</property>
    
		<property name="SLBAddresses">
			<reference class="IP4" condition="eval(isHostList)" />
			<maxOccurs value="unbounded" />
			<minOccurs value="1" />
			<condition expr="Action=='SLB_SAT'" />
		</property>
    <description value="An IP rule specifies what action to perform on network traffic that matches the specified filter criteria." />
  </class>
	
  
	<class name="ThresholdRuleFolder" extends="Node">
		<staticName value="ThresholdRules"/>
		<description value="Define threshold values and actions that the system will take when reaching those thresholds." />
	</class>
	<viewTemplate name="WebUI.ThresholdRuleFolder">
		<column name="Name" />
		<column name="SourceInterface" />
		<column name="SourceNetwork" />
		<column name="DestinationInterface" />
		<column name="DestinationNetwork" />
		<column name="Service" />
	</viewTemplate>
	
	<class name="ThresholdFolder" extends="ThresholdRuleFolder">
		<staticName value="Thresholds" />
		<child class="Threshold" maxOccurs="unbounded" />
		<description value="Define threshold values and actions that the system will take when reaching those thresholds." />
	</class>
	<viewTemplate name="WebUI.ThresholdFolder">
		<column name="Name" />
		<column name="SourceInterface" />
		<column name="SourceNetwork" />
		<column name="DestinationInterface" />
		<column name="DestinationNetwork" />
		<column name="Service" />
		<column name="Action" />
	</viewTemplate>
  
	<class name="ThresholdRule" extends="Node,Log">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="SourceInterface">
			<reference class="InterfaceBase" condition="Name != 'core'" />
		</property>
		<property name="SourceNetwork"> 
			<reference class="IP4" />
      <addByRef />
		</property>
		<property name="DestinationInterface">
			<reference class="InterfaceBase" />
		</property>
		<property name="DestinationNetwork"> 
			<reference class="IP4" />
      <addByRef />
		</property>
		<property name="Service">
			<reference class="Service" />
		</property>
		<property name="Schedule">	
			<reference class="ScheduleProfile" />
			<allowNull />
		</property>
		<child class="ThresholdRuleAction" maxOccurs="unbounded" />
		<description value="A Threshold Rule defines a filter for matching specific network traffic. When the filter criteria is met, the Threshold Rule Actions are evaluated and possible actions taken." />
	</class>
	
  <class name="Threshold" extends="ThresholdRule">
    <property name="Action" type="string">
      <enumeration value="ZoneDefense" description="Activate ZoneDefense" />
      <enumeration value="Audit" description="Allow new connections and log." />
      <default value="ZoneDefense" />
    </property>
		<property name="ConnSourceIPRate" type="integer">
			<min value="0" />
			<allowNull />
			<default value="1000" />
		</property>
		<property name="ConnFilterRate" type="integer">
			<min value="0" />
			<allowNull />
			<default value="1000" />
		</property>
		<description value="Threshold defines a rule matching specific network traffic. When the rule criteria is met, the thresholds are evaluated and possible actions taken." />
	</class>
	
	<class name="ThresholdRuleAction" extends="Node,ActionLog">
		<property name="Action" type="string">
			<enumeration value="Protect" description="Drop new connections" />
			
			<enumeration value="ZoneDefense" description="Activate ZoneDefense" />
			<enumeration value="Audit" description="Allow new connections and log." />
			<default value="Protect" />
		</property>
		<property name="GroupBy" type="string">
			<enumeration value="SourceIP" />
			<enumeration value="Filter" />
			<default value="SourceIP" />
		</property>
		<property name="ConnRate" type="integer">
			<min value="0" />
			<default value="1000" />
		</property>
		<description value="A Threshold Rule Action specifies what thresholds to measure, and what action to take if those thresholds are reached." />
	</class>
  
	<class name="AccessFolder" extends="Node">
		<staticName value="Access"/>
		<child class="Access" maxOccurs="unbounded" />
		<description value="Add, remove and modify IP spoofing filters, that regulates which IP addresses the system will accept as sender addresses." />
	</class>
	<viewTemplate name="WebUI.AccessFolder">
		<column name="Name" />
		<column name="Action" />
		<column name="Interface" />
		<column name="Network" />
		<column name="Comments" />
	</viewTemplate>
	<class name="ActionLog">
		<property name="LogEnabled" type="string">
			<enumeration value="True" displayValue="True" description="Enable these log settings" />
			<enumeration value="False" displayValue="False" description="Disable logging" />
			<enumeration value="Filter" displayValue="Filter Log" description="Use the default logger of the rule" />
			<default value="Filter" />
		</property>
		<property name="LogSeverity" type="string">
			<enumeration value="Debug" />
			<enumeration value="Info" />
			<enumeration value="Notice" />
			<enumeration value="Warning" />
			<enumeration value="Error" />
			<enumeration value="Critical" />
			<enumeration value="Alert" />
			<enumeration value="Emergency" />
			<default value="Notice" />
			<condition expr="LogEnabled=='True'" />
		</property>
		<property name="LogDestination" type="string">
			<enumeration value="AllReceivers" />
			<enumeration value="SpecifiedReceivers" />
			<default value="AllReceivers" />
			<condition expr="LogEnabled=='True'" />
		</property>
		<property name="LogReceivers">
			<reference class="LogReceiverBase" />
			<maxOccurs value="unbounded" />
			<condition expr="LogEnabled=='True'&amp;&amp;LogDestination=='SpecifiedReceivers'" />
		</property>
	</class>
	
  
	<class name="Access" extends="Node,Log">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="Action" type="string">
			<enumeration value="Drop" />
			<enumeration value="Accept" />
			<enumeration value="Except" />
			<default value="Drop" />
		</property>
		<property name="Interface">
			<reference class="InterfaceBase" condition="Name != 'core'" />
		</property>
		<property name="Network">
			<reference class="IP4" condition="!eval(isUA)" />
      <addByRef />
		</property>
	    <description value="Use an access rule to allow or block specific source IP addresses on a specific interface." />
	</class>
	
  
	<class name="IDSFolder" extends="Node">
		<staticName value="IDS"/>
		<child class="IDSFactorySignatureFolder" instantiate="static"/>
    
		<child class="IDSRuleFolder" instantiate="static"/>
		<child class="IDSUpdateSettings" instantiate="static"/>
	    <description value="Configure the Intrusion Detection and Intrusion Prevention capabilities of the system." />
	</class>
  
	<class name="IDSFactorySignatureFolder" extends="Node">
		<nonSyncable />
		<staticName value="IDSFactorySignatures"/>
		<child class="IDSFactorySignatureGroup" maxOccurs="unbounded" />
		<child class="IDSFactorySignatureGroupWildcard" maxOccurs="unbounded" />
		<description value="View the preset Intrusion Detection Signature groups" />
	</class>
	<viewTemplate name="WebUI.IDSFactorySignatureFolder">
		<column name="Name" />
		<column name="Comments" />
	</viewTemplate>
  
	<class name="IDSSignatureGroup" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
		</property>
	</class>
	<viewTemplate name="WebUI.IDSSignatureGroup">
		<column name="Name" />
		<column name="IDSSeverity" />
		<column name="Comments" />
	</viewTemplate>
	<viewTemplate name="WebUI.ComboBox.IDSSignatureGroup">
		<column name="Name" />
		<column name="Comments" />
	</viewTemplate>
	<class name="IDSFactorySignatureGroup" extends="IDSSignatureGroup">
		<runtimeOnly value="true" />
		<showInTree value="never" />
		<nonSyncable />
		<child class="IDSFactorySignature" maxOccurs="unbounded" />
		<description value="Intrusion Detection Signature Groups combine several closely-related IDS Signatures." />
	</class>
  
	<class name="IDSSignatureGroupWildcard" extends="IDSSignatureGroup">
		<showInTree value="never" />
		<property name="WildcardSelection" type="string">
			<maxLength value="64"/>
		</property>
	</class>
	<class name="IDSFactorySignatureGroupWildcard" extends="IDSSignatureGroupWildcard">
		<runtimeOnly value="true" />
		<nonSyncable />
		<description value="Intrusion Detection Signatures that are grouped based on a wildcard string (containing '*' and '?'). The wildcard are matched against individual signature names, and also ordinary signature group names." />
	</class>
  
	<class name="IDSSignature" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
      
		</property>
		<property name="IDSSeverity" type="string">
			<enumeration value="Scan" />
			<enumeration value="Notice" />
			<enumeration value="Attack" />
			<enumeration value="Virus" />
			<default value="Attack" />
		</property>
	</class>
	<class name="IDSFactorySignature" extends="IDSSignature">
		<runtimeOnly value="true" />
		<nonSyncable />
		<description value="Intrusion Detection Signatures are patterns used to identify network traffic." />
	</class>
  
	<class name="IDSRuleFolder" extends="Node">
		<staticName value="IDSRules"/>
		<child class="IDSRule" maxOccurs="unbounded" />
		<description value="IDS/IDP Rules are used to detect intrusion attempts and/or inspect network traffic and take appropriate action." />
	</class>
	<viewTemplate name="WebUI.IDSRuleFolder">
		<column name="Name" />
		<column name="SourceInterface" />
		<column name="SourceNetwork" />
		<column name="DestinationInterface" />
		<column name="DestinationNetwork" />
		<column name="Service" />
	</viewTemplate>
  
	<class name="IDSRule" extends="Node,Log">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="SourceInterface">
			<reference class="InterfaceBase" condition="Name != 'core'" />
		</property>
		<property name="SourceNetwork"> 
			<reference class="IP4" />
      <addByRef />
		</property>
		<property name="DestinationInterface">
			<reference class="InterfaceBase" />
		</property>
		<property name="DestinationNetwork"> 
			<reference class="IP4" />
      <addByRef />
		</property>
		<property name="Service">
			<reference class="Service" />
		</property>
		<property name="Schedule">	
			<reference class="ScheduleProfile" />
			<allowNull />
		</property>
		<property name="AlwaysInspect" type="boolean">
			<default value="true" />
		</property>
		<child class="IDSRuleAction" maxOccurs="unbounded" />
		<description value="An IDS Rule defines a filter for matching specific network traffic. When the filter criteria is met, the IDS Rule Actions are evaluated and possible actions taken." />
	</class>
	<viewTemplate name="WebUI.IDSRule">
		<column name="Action" />
		<column name="IDSSeverity" />
		<column name="Signatures" />
	</viewTemplate>
  
	<class name="IDSRuleAction" extends="Node,ActionLog">
		<property name="Action" type="string">
			<enumeration value="Protect" description="Drop connection on signature match" />
			<enumeration value="ZoneDefense" description="Activate ZoneDefense on signature match" />
			<enumeration value="Audit" description="Allow connection and log on signature match" />
			<enumeration value="Ignore" description="Do nothing on signature match" />
			<default value="Audit" />
		</property>
		<property name="IDSSeverity" type="string">
			<enumeration value="Scan" />
			<enumeration value="Notice" />
			<enumeration value="Attack" />
			<enumeration value="Virus" />
			<enumeration value="All" />
			<default value="Attack" />
		</property>
		<property name="Signatures" type="string">
			<allowNull />
		</property>
		<description value="An IDS Rule Action specifies what signatures to search for in the network traffic, and what action to take if those signatures are found." />
	</class>
  
	<class name="IDSUpdateSettings" extends="Node">
		<showInTree/>
		<property name="UpdateEnabled" type="boolean">
			<default value="false" />
		</property>
		<property name="URL" type="string">
			<default value="http://security.dlink.com.tw/patupd/" />
			<allowNull />
			<condition expr="UpdateEnabled==true" />
		</property>
		<property name="RegisterURL" type="string">
			<default value="https://security.dlink.com.tw/register/" />
		</property>
		<property name="UpdateInterval" type="string">
			<enumeration value="daily" displayValue="Daily" />
			<enumeration value="weekly" displayValue="Weekly" />
			<enumeration value="monthly" displayValue="Monthly" />
			<default value="monthly" />
			<condition expr="UpdateEnabled==true" />
		</property>
		<property name="UpdateDate" type="integer">
			<min value="1" />
			<max value="31" />
			<condition expr="UpdateEnabled==true&amp;&amp;UpdateInterval=='monthly'" />
		</property>
		<property name="UpdateWeekday" type="integer">
			<enumeration value="1" displayValue="Monday" />
			<enumeration value="2" displayValue="Tuesday" />
			<enumeration value="3" displayValue="Wednesday" />
			<enumeration value="4" displayValue="Thursday" />
			<enumeration value="5" displayValue="Friday" />
			<enumeration value="6" displayValue="Saturday" />
			<enumeration value="7" displayValue="Sunday" />
			<default value="1" />
			<condition expr="UpdateEnabled==true&amp;&amp;UpdateInterval=='weekly'" />
		</property>
		<property name="UpdateHour" type="integer">
			<min value="0" />
			<max value="23" />
			<allowNull />
			<condition expr="UpdateEnabled==true" />
		</property>
		<property name="UpdateMinute" type="integer">
			<min value="0" />
			<max value="59" />
			<allowNull />
			<condition expr="UpdateEnabled==true" />
		</property>
		<description value="Settings related to the IDS Update mechanism." />
	</class>
  
	<class name="UserAuthFolder" extends="Node">
		<staticName value="UserAuth"/>
		<child class="LocalUserDatabaseFolder" instantiate="static"/>
		<child class="ExternalUserDatabaseFolder" instantiate="static"/>
		<child class="UserAuthRuleFolder" instantiate="static"/>
	    <description value="Add, remove and configure user databases and policies for user authentication." />
	</class>
  
	<class name="ExternalUserDatabaseFolder" extends="Node">
		<staticName value="ExternalUserDatabases"/>
		<child class="ExternalUserDatabase" maxOccurs="unbounded" />
	    <description value="External user databases, such as a RADIUS server, are used to verify user names and passwords." />
	</class>
	<viewTemplate name="WebUI.ExternalUserDatabaseFolder">
		<column name="Name" />
		<column name="IPAddress" />
		<column name="Port" />
		<column name="RetryTimeout" />
		<column name="Comments" />
	</viewTemplate>	
  
	<class name="ExternalUserDatabase" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="Type" type="string">
			<enumeration value="Radius" />
			<default value="Radius" />
		</property>
		<property name="IPAddress">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
		</property>
		<property name="Port" type="integer">
			<min value="0" />
			<max value="65535" />
			<default value="1812" />
		</property>
		<property name="RetryTimeout" type="integer">
			<min value="0" />
			<max value="9999" />
			<default value="2" />
		</property>
		<property name="SharedSecret" type="string">
		</property>
		<description value="External user databases, such as a RADIUS server, are used to verify user names and passwords." />
	</class>
  
	<class name="UserAuthRuleFolder" extends="Node">
		<staticName value="UserAuthRules"/>
		<child class="UserAuthRule" maxOccurs="unbounded" />
		<description value="The User Authentication Ruleset specifies from where users are allowed to authenticate to the system, and how." />
	</class>
	<viewTemplate name="WebUI.UserAuthRuleFolder">
		<column name="Name" />
		<column name="Agent" />
		<column name="AuthSource" />
		<column name="Interface" />
		<column name="Comments" />
	</viewTemplate>	
  
	<class name="UserAuthRule" extends="Node,Log">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="Agent" type="string">
			<enumeration value="HTTP" />
			<enumeration value="HTTPS" />
			<enumeration value="XAuth" />
			<enumeration value="PPP" />
			<default value="HTTP" />
		</property>
		<property name="AuthSource" type="string">
			<enumeration value="Disallow" />
			<enumeration value="Radius" />
			<enumeration value="Local" />
			<default value="Radius" />
		</property>
		<property name="Interface">
			<reference class="InterfaceBase" condition="Name != 'core'" />
			<condition expr="Agent!=XAuth" />
		</property>		
		<property name="OriginatorIP">
			<reference class="IP4" condition="!eval(isUA)" />
      <addByRef />
		</property>
		<property name="TerminatorIP">
			<reference class="IP4" condition="!eval(isUA)" />
			<condition expr="Agent==PPP" />
      <addByRef />
		</property>
		<property name="RadiusServers">
			<reference class="ExternalUserDatabase" />
			<maxOccurs value="unbounded" />
			<condition expr="AuthSource==Radius&amp;&amp;AuthSource!=Disallow" />
		</property>
		<property name="RadiusMethod" type="string">
			<enumeration value="PAP" />
			<enumeration value="CHAP" />
			<default value="PAP" />
			<condition expr="AuthSource==Radius&amp;&amp;Agent!=PPP&amp;&amp;AuthSource!=Disallow" />
		</property>
		<property name="LocalUserDB">
			<reference class="LocalUserDatabase" />
			<condition expr="AuthSource==Local&amp;&amp;AuthSource!=Disallow" />
		</property>
		<property name="LoginType" type="string">
			<enumeration value="HTMLForm" />
			<enumeration value="BasicAuth" />
			<default value="HTMLForm" />
			<condition expr="(Agent==HTTP||Agent==HTTPS) &amp;&amp; AuthSource!=Disallow" />
		</property>
		<property name="RealmString" type="string">
			<condition expr="LoginType==BasicAuth &amp;&amp; AuthSource!=Disallow" />
		</property>
		<property name="HostCertificate">
			<reference class="Certificate" condition="Type==Local"/>
			<condition expr="Agent==HTTPS &amp;&amp; AuthSource!=Disallow" />
		</property>
		<property name="RootCertificate">
			<reference class="Certificate" />
			<allowNull />
			<condition expr="Agent==HTTPS &amp;&amp; AuthSource!=Disallow" />
		</property>
		<property name="PPPAuthNoAuth" type="boolean">
			<default value="false" />
			<condition expr="Agent==PPP &amp;&amp; AuthSource!=Disallow" />
		</property>
		<property name="PPPAuthPAP" type="boolean">
			<default value="true" />
			<condition expr="Agent==PPP &amp;&amp; AuthSource!=Disallow" /> 
		</property>
		<property name="PPPAuthCHAP" type="boolean">
			<default value="true" />
			<condition expr="Agent==PPP &amp;&amp; AuthSource!=Disallow" />
		</property>
		<property name="PPPAuthMSCHAP" type="boolean">
			<default value="true" />
			<condition expr="Agent==PPP &amp;&amp; AuthSource!=Disallow" />
		</property>
		<property name="PPPAuthMSCHAPv2" type="boolean">
			<default value="true" />
			<condition expr="Agent==PPP &amp;&amp; AuthSource!=Disallow" />
		</property>
		<property name="IdleTimeout" type="integer">
			<default value="1800" />
			<min value="1" />
			<condition expr="AuthSource!=Disallow" />
		</property>
		<property name="SessionTimeout" type="integer">
			<allowNull />
			<min value="1" />
			<condition expr="AuthSource!=Disallow" />
		</property>
		<property name="UseServerTimeouts" type="boolean">
			<default value="false" />
			<condition expr="AuthSource!=Disallow" />
		</property>
		<property name="MultipleUsernameLogins" type="string">
			<enumeration value="AllowMultiple" />
			<enumeration value="AllowOne" />
			<enumeration value="ReplaceExisting" />
			<default value="AllowMultiple" />
			<condition expr="AuthSource!=Disallow" />
		</property>
		<property name="ReplaceIdleTime" type="integer">
			<default value="10" />
			<min value="1" />
			<condition expr="MultipleUsernameLogins==ReplaceExisting&amp;&amp;AuthSource!=Disallow" />
		</property>
		<description value="The User Authentication Ruleset specifies from where users are allowed to authenticate to the system, and how." />
	</class>
  
	<class name="TrafficShapingFolder" extends="Node">
		<staticName value="TrafficShaping"/>
		<child class="PipeFolder" instantiate="static"/>
		<child class="PipeRuleFolder" instantiate="static"/>
	    <description value="The Traffic Shaping section is used to setup the bandwidth management features of the system." />
	</class>
  
	<class name="PipeFolder" extends="Node">
		<staticName value="Pipes"/>
		<child class="Pipe" maxOccurs="unbounded" />
		<description value="Pipes are used as regulators for network traffic flowing through the system." />
	</class>
	<viewTemplate name="WebUI.PipeFolder">
		<column name="Name" />
		<column name="Grouping" />
		<column name="GroupingNetworkSize" />
		<column name="LimitKbpsTotal" />
		
		<column name="Comments" />
	</viewTemplate>	
  
	<class name="Pipe" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="LimitKbpsTotal" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitPPSTotal" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitKbps0" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitPPS0" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitKbps1" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitPPS1" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitKbps2" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitPPS2" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitKbps3" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitPPS3" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitKbps4" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitPPS4" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitKbps5" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitPPS5" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitKbps6" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitPPS6" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitKbps7" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="LimitPPS7" type="integer">
			<min value="0" />
			<allowNull />
		</property>
		<property name="UserLimitKbpsTotal" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitPPSTotal" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitKbps0" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitPPS0" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitKbps1" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitPPS1" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitKbps2" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitPPS2" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitKbps3" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitPPS3" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitKbps4" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitPPS4" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitKbps5" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitPPS5" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitKbps6" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitPPS6" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitKbps7" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="UserLimitPPS7" type="integer">
			<min value="0" />
			<allowNull />
			<condition expr="Grouping!=None" />
		</property>
		<property name="Grouping" type="string">
			<enumeration value="None" />
			<enumeration value="SourceIP" />
			<enumeration value="DestinationIP" />
			<enumeration value="SourceNetwork" />
			<enumeration value="DestinationNetwork" />
			<enumeration value="SourcePort" />
			<enumeration value="DestinationPort" />
			<enumeration value="SourceInterface" />
			<enumeration value="DestinationInterface" />
			<default value="None" />
		</property>
		<property name="GroupingNetworkSize" type="integer">
			<enumeration value="32" description="Single host" />
			<enumeration value="31" description="2 hosts" />
			<enumeration value="30" description="4 hosts" />
			<enumeration value="29" description="8 hosts" />
			<enumeration value="28" description="16 hosts" />
			<enumeration value="27" description="32 hosts" />
			<enumeration value="26" description="64 hosts" />
			<enumeration value="25" description="128 hosts" />
			<enumeration value="24" description="256 hosts (Class C)" />
			<enumeration value="23" description="512 hosts" />
			<enumeration value="22" description="1k hosts" />
			<enumeration value="21" description="2k hosts" />
			<enumeration value="20" description="4k hosts" />
			<enumeration value="19" description="8k hosts" />
			<enumeration value="18" description="16k hosts" />
			<enumeration value="17" description="32k hosts" />
			<enumeration value="16" description="64k hosts (Class B)" />
			<enumeration value="15" description="128k hosts" />
			<enumeration value="14" description="256k hosts" />
			<enumeration value="13" description="512k hosts" />
			<enumeration value="12" description="1M hosts" />
			<enumeration value="11" description="2M hosts" />
			<enumeration value="10" description="4M hosts" />
			<enumeration value="9" description="8M hosts" />
			<enumeration value="8" description="16M hosts (Class A)" />
			<enumeration value="7" description="32M hosts" />
			<enumeration value="6" description="64M hosts" />
			<enumeration value="5" description="128M hosts" />
			<enumeration value="4" description="256M hosts" />
			<enumeration value="3" description="512M hosts" />
			<enumeration value="2" description="1G hosts" />
			<enumeration value="1" description="2G hosts" />
			<enumeration value="0" description="4G hosts (All)" />
			<default value="0" />
			<condition expr="Grouping=='SourceNetwork' || Grouping=='DestinationNetwork' " />
		</property>
		<property name="Dynamic" type="boolean">
			<default value="false" />
			<condition expr="Grouping!=None" />
		</property>
		<property name="PrecedenceMin" type="integer">
			<min value="0" />
			<max value="6" />
			<default value="0" />
		</property>
		<property name="PrecedenceDefault" type="integer">
			<min value="0" />
			<max value="6" />
			<default value="0" />
		</property>
		<property name="PrecedenceMax" type="integer">
			<min value="0" />
			<max value="6" />
			<default value="6" />
		</property>
		<description value="A pipe defines basic traffic shaping parameters. The pipe rules then determines which traffic goes through which pipes." />
	</class>
  
	<class name="PipeRuleFolder" extends="Node">
		<staticName value="PipeRules"/>
		<child class="PipeRule" maxOccurs="unbounded" />
		<description value="Define a traffic shaping policy by specifying what network traffic should flow through what pipes.." />
	</class>
	<viewTemplate name="WebUI.PipeRuleFolder">
		<column name="Name" />
		<column name="SourceInterface" />
		<column name="SourceNetwork" />
		<column name="DestinationInterface" />
		<column name="DestinationNetwork" />
		<column name="Service" />
		<column name="Comments" />
	</viewTemplate>	
  
	<class name="PipeRule" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="SourceInterface">
			<reference class="InterfaceBase" condition="Name != 'core'" />
		</property>
		<property name="SourceNetwork">
			<reference class="IP4" />
      <addByRef />
		</property>
		<property name="DestinationInterface">
			<reference class="InterfaceBase" />
		</property>
		<property name="DestinationNetwork">
			<reference class="IP4" />
      <addByRef />
		</property>
		<property name="Service">
			<reference class="Service" />
		</property>
		<property name="Schedule">
			<reference class="ScheduleProfile" />
			<allowNull />
		</property>
		<property name="ForwardChain">
			<reference class="Pipe" />
			<maxOccurs value="unbounded" />
		</property>
		<property name="ReturnChain">
			<reference class="Pipe" />
			<maxOccurs value="unbounded" />
		</property>
		<property name="Precedence" type="string">
			<enumeration value="FromPipe" />
			<enumeration value="Fixed" />
			<enumeration value="MapIPDSCP" />
			<default value="FromPipe" />
		</property>
		<property name="FixedPrecedence" type="string">
			<enumeration value="6" displayValue="Highest" />
			<enumeration value="4" displayValue="High" />
			<enumeration value="2" displayValue="Medium" />
			<enumeration value="0" displayValue="Low" />
			<condition expr="Precedence==Fixed" />
		</property>
	    <description value="A Pipe Rule determines traffic shaping policy - which Pipes to use - for one or more types of traffic with the same granularity as the standard ruleset." />
	</class>
    
    <class name="ZoneDefenseFolder" extends="Node">
		<staticName value="ZoneDefense" />
		<child class="ZoneDefenseSwitchFolder" instantiate="static" />
		<child class="ZoneDefenseExcludeList" instantiate="static" />		
		<child class="ZoneDefenseBlockFolder" instantiate="static" />
		<child class="ThresholdFolder" instantiate="static" />
    <description value="ZoneDefense is used to automatically block hosts/networks on a group of switches if IDS/Threshold rule violations occurs." />
    </class>
    
    <class name="ZoneDefenseSwitchFolder" extends="Node">
		<staticName value="Switches" />
		<child class="ZoneDefenseSwitch" maxOccurs="unbounded" />		
    <description value="Setup the switches to be managed by ZoneDefense." />
    </class>
	
	<viewTemplate name="WebUI.ZoneDefenseSwitchFolder"> 
        <column name="Name" /> 
        <column name="SwitchModel" /> 
        <column name="IP" />	
        <column name="Enabled" />
        <column name="Comments" />
	</viewTemplate>	
    
    <class name="ZoneDefenseSwitch" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
		<property name="SwitchModel" type="string">
      <enumeration value="DES-3226S" displayValue="DES-3226S" description="(R4.02-B26 or later)" />
      <enumeration value="DES-3250TG" displayValue="DES-3250TG" description="(R3.00-B09 or later)" />
      <enumeration value="DES-3326S" displayValue="DES-3326S" description="(R4.01-B39 or later)" />
      <enumeration value="DES-3350SR" displayValue="DES-3350SR" description="(R3.02-B12 or later)" />
      <enumeration value="DES-3526" displayValue="DES-3526" description="(R3.06-B20 or later)" />
      <enumeration value="DES-3550" displayValue="DES-3550" description="(R3.05-B38 or later)" />
      <enumeration value="DES-38XX" displayValue="DES-3800 Series" description="(R2.00-B13 or later)" />
      <enumeration value="DGS-3324SR" displayValue="DGS-3324SR/SRi" description="(R4.30B11 or later)" />
      <enumeration value="DXS-3326GSR" displayValue="DXS-3326GSR" description="(R4.30B11 or later)" />
      <enumeration value="DXS-3350SR" displayValue="DXS-3350SR" description="(R4.30B11 or later)" />
      
      <enumeration value="DGS-34XX" displayValue="DGS-3400 Series" description="(R1.00-B35 or later)" />
      <enumeration value="DHS-3618" displayValue="DHS-3618" description="(R1.00-B03 or later)" />
      <enumeration value="DHS-3626" displayValue="DHS-3626" description="(R1.00-B03 or later)" />
      
      <default value="DES-3226S" />
		</property>
		<property name="IP">
			<reference class="IP4Address" condition="Address.eval(ishost)" />
      <addByRef />
		</property>
		<property name="Enabled" type="boolean">
			<default value="true" />
		</property>
		<property name="SNMPCommunity" type="string">
			<maxLength value="64" />
		</property>
    <description value="A ZoneDefense switch will have its ACLs controlled and hosts/networks violating the IDS/Threshold rules will be blocked directly on the switch." />
    </class>
    
    
	<class name="ZoneDefenseExcludeList" extends="Node">
		<showInTree />
		<staticName value="ExcludeList" />
		<property name="Addresses">
			<reference class="Address" />
			<maxOccurs value="unbounded" />
			<minOccurs value="0" />
			<allowNull />
		</property>
		<description value="The exclude list is used exclude certain hosts/networks from being blocked out by IDS/Threshold rule violations." />
	</class>
	
    
    <class name="ZoneDefenseBlockFolder" extends="Node">
		<staticName value="Block" />
		<child class="ZoneDefenseBlock" maxOccurs="unbounded" />		
    <description value="Define manually configured hosts/networks to be blocked on the switches either by default or based on schedule." />
    </class>
	
	<viewTemplate name="WebUI.ZoneDefenseBlockFolder"> 
        <column name="Addresses" /> 
        <column name="Protocol" /> 
        <column name="Port" />	
        <column name="Schedule" />
        <column name="Comments" />
	</viewTemplate>	
    
    <class name="ZoneDefenseBlock" extends="Node">
    <staticName value="ZoneDefenseBlock" />
		<property name="Addresses">
			<reference class="Address" />
			<maxOccurs value="unbounded" />
		</property>
		<property name="Protocol" type="string">
			<enumeration value="All" />
			<enumeration value="TCP" />
			<enumeration value="UDP" />
			<enumeration value="ICMP" />
			<default value="All" />
		</property>
		<property name="Port" type="integer">
			<min value="0" />
			<max value="65535" />
			<condition expr="Protocol==TCP || Protocol==UDP" />
			<default value="0" />
		</property>
		<property name="Schedule">
			<reference class="ScheduleProfile" />
			<allowNull />
		</property>
    <description value="Manually configured blocks are used to block a host/network on the switches either by default or based on schedule." />
    </class>
  
	<class name="Unit" extends="Node">
		<showInTree value="never" />
		<nonSyncable />
		<property name="Platform" type="string">
			<maxLength value="64" />
			<default value="Generic" />
		</property>
		<property name="Revision" type="string">
			<maxLength value="16" />
			<allowNull />
		</property>
		<property name="SerialNo" type="string">
			<maxLength value="64" />
			<default value="N/A" />
		</property>
		<child class="License" instantiate="static" />
		<child class="SelfDiagLogFolder" instantiate="static" />
		<child class="DeviceFolder" instantiate="static" />
	</class>
  
	<class name="License" extends="Node">
		<showInTree />
		<property name="RegisteredTo" type="string">
			<allowNull />
		</property>
		<property name="RegistrationKey" type="string">
			<maxLength value="64" />
			<allowNull />
		</property>
		<property name="RegistrationDate" type="dateTime">
			<allowNull />
		</property>
		<property name="LastModified" type="dateTime">
			<allowNull />
		</property>
		<property name="MACAddress" type="ethernet">
			<allowNull />
		</property>
		<property name="IssuedDate" type="dateTime">
			<allowNull />
		</property>
		<property name="UpgradesValidUntil" type="dateTime">
			<allowNull />
		</property>
		<property name="Prop_Conn" type="integer">
			<allowNull />
		</property>
		<property name="Prop_Ethernet" type="integer">
			<allowNull />
		</property>
		<property name="Prop_Routes" type="integer">
			<allowNull />
		</property>
		<property name="Prop_Rules" type="integer">
			<allowNull />
		</property>
		<property name="Prop_Throughput" type="integer">
			<allowNull />
		</property>
		<property name="Prop_Tunnels" type="integer">
			<allowNull />
		</property>
		<property name="Prop_VLAN" type="integer">
			<allowNull />
		</property>
		<property name="LicenseData" type="string">
			<allowNull />
		</property>
	</class>
  
	<class name="SelfDiagLogFolder" extends="Node">
		<staticName value="SelfDiag" />
		<child class="SelfDiagLog" maxOccurs="unbounded" />
	</class>
	<viewTemplate name="WebUI.SelfDiagLogFolder"> 
        <column name="Date" /> 
        <column name="Result" /> 
	</viewTemplate>	
  
	<class name="SelfDiagLog" extends="Node">
		<property name="Date" type="dateTime" />
		<property name="Result" type="boolean" />
		<property name="Details" type="string">
			<allowNull/>
		</property>
	</class>
  
	<class name="DeviceFolder" extends="Node">
		<staticName value="Devices" />
		<child class="EthernetDriverFolder" instantiate="static" />
		<child class="EthernetDeviceFolder" instantiate="static" />
		<child class="COMPortDeviceFolder" instantiate="static" schema="Loader" />
	</class>
  
	<class name="EthernetDeviceFolder" extends="Node">
		<staticName value="EthernetDevices" />
		<child class="EthernetPCIDevice" maxOccurs="unbounded" />
	</class>
  
	<class name="Device" extends="Node">
		<property name="Name" type="string">
			<maxLength value="64"/>
			<unique value="class"/>
      <restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
		</property>
	</class>
	
  
	<class name="PCIDevice" extends="Device">
		<property name="PCIBus" type="integer">
			<min value="0" />
		</property>
		<property name="PCISlot" type="integer">
			<min value="0" />
		</property>
		<property name="PCIPort" type="integer">
			<min value="0" />
		</property>
	</class>
  <viewTemplate name="WebUI.ComboBox.EthernetPCIDevice"> 
        <column name="Name" /> 
	</viewTemplate>	
  
  <class name="EthernetPCIDevice" extends="PCIDevice">
    <property name="Interface" type="string">
      <unique value="local" />
    </property>
    <property name="EthernetPCIDriver">
      <reference class="EthernetPCIDriver" />
    </property>
    <property name="Media" type="string">
      
      <enumeration value="Auto" />
      <enumeration value="100" />
      <enumeration value="10" />
      <default value="Auto" />
    </property>
    <property name="Duplex" type="string">
      
      <enumeration value="Auto" />
      <enumeration value="Full" />
      <enumeration value="Half" />
      <default value="Auto" />
    </property>
    <property name="MACAddress">
      <reference class="EthernetAddress" />
      <addByRef />
      <allowNull />
    </property>
  </class>
  
	<class name="EthernetDriverFolder" extends="Node">
		<staticName value="EthernetDrivers" />
		<child class="NullEthernetPCIDriver" instantiate="static" />
		<child class="E1000EthernetPCIDriver" instantiate="static" />
		<child class="E100EthernetPCIDriver" instantiate="static" />
		<child class="R8139EthernetPCIDriver" instantiate="static" />
		<child class="MarvellEthernetPCIDriver" instantiate="static" />
    <child class="X3C905EthernetPCIDriver" instantiate="static" />
	</class>
  
	<class name="EthernetPCIDriver" extends="Node">
	</class>
	
  
	<class name="NullEthernetPCIDriver" extends="EthernetPCIDriver">
	</class>
	
  
	<class name="IXP4NPEEthernetPCIDriver" extends="EthernetPCIDriver">
	</class>
  
	<class name="YukonEthernetPCIDriver" extends="EthernetPCIDriver">
	</class>
  
	<class name="PacketEthernetPCIDriver" extends="EthernetPCIDriver">
	</class>
  
	<class name="SwitchEthernetPCIDriver" extends="EthernetPCIDriver">
	</class>
  
	<class name="E1000EthernetPCIDriver" extends="EthernetPCIDriver">
		<property name="RxRingsize" type="integer">
			<default value="64" />
		</property>
		<property name="TxRingsize" type="integer">
			<default value="256" />
		</property>
		<property name="EnableMonitoring" type="boolean">
			<default value="off" />
		</property>
		<property name="BelowCPULoad" type="integer">
			<min value="0" />
			<max value="100" />
			<default value="80" />
			<condition expr="EnableMonitoring==on" />
		</property>
		<property name="BelowInterfaceLoad" type="integer">
			<min value="0" />
			<max value="100" />
			<default value="70" />
			<condition expr="EnableMonitoring==on" />
		</property>
		<property name="MinInterval" type="integer">
			<min value="0" />
			<default value="30" />
			<condition expr="EnableMonitoring==on" />
		</property>
		<property name="RxErrorPercentage" type="integer">
			<min value="0" />
			<max value="100" />
			<default value="20" />
			<condition expr="EnableMonitoring==on" />
		</property>
		<property name="TxErrorPercentage" type="integer">
			<min value="0" />
			<max value="100" />
			<default value="7" />
			<condition expr="EnableMonitoring==on" />
		</property>
		<property name="ErrorTime" type="integer">
			<min value="0" />
			<default value="10" />
			<condition expr="EnableMonitoring==on" />
		</property>
	</class>
	
  
	<class name="E100EthernetPCIDriver" extends="EthernetPCIDriver">
		<property name="RxRingsize" type="integer">
			<default value="32" />
		</property>
		<property name="TxRingsize" type="integer">
			<default value="128" />
		</property>
	</class>
  
	<class name="R8139EthernetPCIDriver" extends="EthernetPCIDriver">
	</class>
  
	<class name="MarvellEthernetPCIDriver" extends="EthernetPCIDriver">
	</class>
  
	<class name="X3C905EthernetPCIDriver" extends="EthernetPCIDriver">
	</class>
  
	<class name="WizardSetup" extends="Node">
		<runtimeOnly value="true" />
		<showInTree value="never" />
		
		<property name="Step" type="integer">			
			<enumeration value="0" />
			<enumeration value="1" />
			<enumeration value="2" />
			<enumeration value="3" />
			<enumeration value="4" />
			<enumeration value="5" />
			<enumeration value="6" />
			<enumeration value="7" />
			<enumeration value="8" />
			<enumeration value="9" />
			<enumeration value="10" />
			<enumeration value="11" />
			<enumeration value="12" />
			<default value="0" />
		</property>
		
    
		<property name="Admin_Name" type="string">
			<maxLength value="64"/>			
			<restrictChars value="[a-zA-Z][a-zA-Z0-9_-]*"/>
			<condition expr="Step==1" />
		</property>
		
		<property name="Admin_Password" type="string">
			<maxLength value="256" />
			<condition expr="Step==1" />
		</property>		
    
		<property name="TimeZone" type="integer">
			<enumeration value="-43200" displayValue="(GMT-12:00)" description="Eniwetok, Kwajalein" />
			<enumeration value="-39600" displayValue="(GMT-11:00)" description="Midway Island, Samoa" />
			<enumeration value="-36000" displayValue="(GMT-10:00)" description="Hawaii" />
			<enumeration value="-32400" displayValue="(GMT-09:00)" description="Alaska" />
			<enumeration value="-28800" displayValue="(GMT-08:00)" description="Pacific Time (US &amp; Canada)" />
			<enumeration value="-25200" displayValue="(GMT-07:00)" description="Mountain Time (US &amp; Canada), Arizona" />
			<enumeration value="-21600" displayValue="(GMT-06:00)" description="Central Time (US &amp; Canada), Mexico City" />
			<enumeration value="-18000" displayValue="(GMT-05:00)" description="Eastern Time (US &amp; Canada), Bogota, Lima, Quito" />
			<enumeration value="-14400" displayValue="(GMT-04:00)" description="Atlantic Time (US &amp; Canada), Caracas, La Paz" />
			<enumeration value="-12600" displayValue="(GMT-03:30)" description="Newfoundland" />
			<enumeration value="-10800" displayValue="(GMT-03:00)" description="Brasilia, Buenos Aires, Georgetown" />
			<enumeration value="-7200" displayValue="(GMT-02:00)" description="Mid-Atlantic" />
			<enumeration value="-3600" displayValue="(GMT-01:00)" description="Azores, Cape Verde Is." />
			<enumeration value="0" displayValue="(GMT)" description="Dublin, Edinburgh, Lisbon, London, Casablanca, Monrovia" />
			<enumeration value="3600" displayValue="(GMT+01:00)" description="Central European Time (CET)" />
			<enumeration value="7200" displayValue="(GMT+02:00)" description="Eastern European Time (EET)" />
			<enumeration value="10800" displayValue="(GMT+03:00)" description="Moscow, St.Petersburg, Baghdad, Kuwait, Riyadh" />
			<enumeration value="12600" displayValue="(GMT+03:30)" description="Tehran" />
			<enumeration value="14400" displayValue="(GMT+04:00)" description="Abu Dhabi, Baku, Muscat, Tbilist" />
			<enumeration value="16200" displayValue="(GMT+04:30)" description="Kabul" />
			<enumeration value="18000" displayValue="(GMT+05:00)" description="EKaterinburg, Islamabad, Karachi, Tashikent" />
			<enumeration value="19800" displayValue="(GMT+05:30)" description="New Delhi" />
			<enumeration value="21600" displayValue="(GMT+06:00)" description="Astana, Almaty, Colombo, Dhaka" />
			<enumeration value="25200" displayValue="(GMT+07:00)" description="Bangkok, Hanoi, Jakarta" />
			<enumeration value="28800" displayValue="(GMT+08:00)" description="Beijing, Hong Kong, Singapore, Taipei" />
			<enumeration value="32400" displayValue="(GMT+09:00)" description="Seoul, Tokoyo, Yakutsk" />
			<enumeration value="34200" displayValue="(GMT+09:30)" description="Adelaide, Darwin" />
			<enumeration value="36000" displayValue="(GMT+10:00)" description="Canberra, Guam, Port Moresby, Vladivostok" />
			<enumeration value="39600" displayValue="(GMT+11:00)" description="Magadan, Solomon Islands" />
			<enumeration value="43200" displayValue="(GMT+12:00)" description="Fiji, Kamchatka, Marshall Islands, Wellington" />
			<default value="0" />
		</property>
		<property name="DSTEnabled" type="boolean">
			<default value="true" />
		</property>
		<property name="DSTOffset" type="integer">
			<min value="0" />
			<default value="60" />
			<condition expr="DSTEnabled==on" />
		</property>
		<property name="DSTStartMonth" type="integer">
			<enumeration value="1" displayValue="January" />
			<enumeration value="2" displayValue="February" />
			<enumeration value="3" displayValue="March" />
			<enumeration value="4" displayValue="April" />
			<enumeration value="5" displayValue="May" />
			<enumeration value="6" displayValue="June" />
			<enumeration value="7" displayValue="July" />
			<enumeration value="8" displayValue="August" />
			<enumeration value="9" displayValue="September" />
			<enumeration value="10" displayValue="October" />
			<enumeration value="11" displayValue="November" />
			<enumeration value="12" displayValue="December" />
			<default value="4" />
			<condition expr="DSTEnabled==on" />
		</property>
		<property name="DSTStartDay" type="integer">
			<enumeration value="1" />
			<enumeration value="2" />
			<enumeration value="3" />
			<enumeration value="4" />
			<enumeration value="5" />
			<enumeration value="6" />
			<enumeration value="7" />
			<enumeration value="8" />
			<enumeration value="9" />
			<enumeration value="10" />
			<enumeration value="11" />
			<enumeration value="12" />
			<enumeration value="13" />
			<enumeration value="14" />
			<enumeration value="15" />
			<enumeration value="16" />
			<enumeration value="17" />
			<enumeration value="18" />
			<enumeration value="19" />
			<enumeration value="20" />
			<enumeration value="21" />
			<enumeration value="22" />
			<enumeration value="23" />
			<enumeration value="24" />
			<enumeration value="25" />
			<enumeration value="26" />
			<enumeration value="27" />
			<enumeration value="28" />
			<enumeration value="29" />
			<enumeration value="30" />
			<enumeration value="31" />
			<default value="1" />
			<condition expr="DSTEnabled==on" />
		</property>
		<property name="DSTEndMonth" type="integer">
			<enumeration value="1" displayValue="January" />
			<enumeration value="2" displayValue="February" />
			<enumeration value="3" displayValue="March" />
			<enumeration value="4" displayValue="April" />
			<enumeration value="5" displayValue="May" />
			<enumeration value="6" displayValue="June" />
			<enumeration value="7" displayValue="July" />
			<enumeration value="8" displayValue="August" />
			<enumeration value="9" displayValue="September" />
			<enumeration value="10" displayValue="October" />
			<enumeration value="11" displayValue="November" />
			<enumeration value="12" displayValue="December" />
			<default value="10" />
			<condition expr="DSTEnabled==on" />
		</property>
		<property name="DSTEndDay" type="integer">
			<enumeration value="1" />
			<enumeration value="2" />
			<enumeration value="3" />
			<enumeration value="4" />
			<enumeration value="5" />
			<enumeration value="6" />
			<enumeration value="7" />
			<enumeration value="8" />
			<enumeration value="9" />
			<enumeration value="10" />
			<enumeration value="11" />
			<enumeration value="12" />
			<enumeration value="13" />
			<enumeration value="14" />
			<enumeration value="15" />
			<enumeration value="16" />
			<enumeration value="17" />
			<enumeration value="18" />
			<enumeration value="19" />
			<enumeration value="20" />
			<enumeration value="21" />
			<enumeration value="22" />
			<enumeration value="23" />
			<enumeration value="24" />
			<enumeration value="25" />
			<enumeration value="26" />
			<enumeration value="27" />
			<enumeration value="28" />
			<enumeration value="29" />
			<enumeration value="30" />
			<enumeration value="31" />
			<default value="1" />
			<condition expr="DSTEnabled==on" />
		</property>
	
    
		
    
    		
		<property name="WANInterfaceType" type="string">
			<enumeration value="Static" />
			<enumeration value="DHCP" />
			<enumeration value="PPPoE" />
			<enumeration value="PPTP" />
			<enumeration value="BigPond" />
			<default value="Static" />
		</property>		
		
    
		
		<property name="WAN_IP_Address" type="ip4">
      
			<condition expr="Step==5" />
    		</property>
	    	<property name="WAN_Network_Address" type="ip4">
          
	    		<condition expr="Step==5" />
	    	</property>
	    	<property name="WAN_DefaultGateway_Address" type="ip4">
            
	      		<allowNull />	      		
	    	</property>		
		<property name="WAN_DHCPEnabled" type="boolean">
			<default value="false"/>
		</property>
		<property name="DNSServer1_Address" type="ip4">
      
			<allowNull />      			
		</property>
		<property name="DNSServer2_Address" type="ip4">
      
			<allowNull />      			
      		</property>
      		
    
		
    
		<property name="PPPoE_Username" type="string">
			<condition expr="Step==7" />
		</property>
		<property name="PPPoE_Password" type="string">		
			<condition expr="Step==7" />
		</property>
		<property name="PPPoE_ServiceName" type="string">
			<allowNull />
		</property>
		
    
		<property name="PPTP_Username" type="string">
			<condition expr="Step==8" />
		</property>
		<property name="PPTP_Password" type="string">		
			<condition expr="Step==8" />
		</property>
		<property name="PPTP_RemoteEndpoint" type="ip4">
      
			<condition expr="Step==8" />
    		</property>
    		<property name="PPTP_InterfaceType" type="string">
    			<enumeration value="Enable" />
			<enumeration value="Static" />		
    			<default value="Enable"/>
    		</property>
    		<property name="PPTP_StaticIP" type="ip4">
    			<condition expr="PPTP_InterfaceType==Static"/>
    		</property>
    		<property name="PPTP_StaticNetwork" type="ip4">
    			<condition expr="PPTP_InterfaceType==Static"/>
    		</property>
    		<property name="PPTP_StaticGateway" type="ip4">
    			<condition expr="PPTP_InterfaceType==Static"/>
          <allowNull />
    		</property>
				
    
		<property name="BigPond_Username" type="string">
			<condition expr="Step==9" />
		</property>
		<property name="BigPond_Password" type="string">
			<allowNull />
		</property>
		
    
		<property name="DHCPServer" type="string">
			<enumeration value="Disable" />
			<enumeration value="Enable" />
			<default value="Disable" />
		</property>	
				
		<property name="DHCPServer_Interface">
			<reference class="InterfaceBase" condition="Name != 'core' &amp;&amp; Name != 'any'" />
			<condition expr="DHCPServer==Enable&amp;&amp;Step==10" />
		</property>
				
		<property name="DHCPServer_Range" type="ip4">			
			<condition expr="DHCPServer==Enable&amp;&amp;Step==10" />
		</property>
		<property name="DHCPServer_Netmask" type="ip4">			
			<condition expr="DHCPServer==Enable&amp;&amp;Step==10" />
		</property>		
		<property name="DHCPServer_DefaultGateway" type="ip4">			
			<condition expr="DHCPServer==Enable&amp;&amp;Step==10" />
      <allowNull />
		</property>		
		<property name="DHCPServer_DNSServer" type="ip4">			
			<condition expr="DHCPServer==Enable&amp;&amp;Step==10" />
      <allowNull />
		</property>		
		
    
		<property name="TimeSyncEnable" type="boolean">			
			<default value="false" />
		</property>
		<property name="TimeSyncServer1" type="ip4">			
			<condition expr="TimeSyncEnable==true&amp;&amp;Step==11" />
		</property>
		<property name="TimeSyncServer2" type="ip4">			
			<allowNull />
			<condition expr="TimeSyncEnable==true&amp;&amp;Step==11" />
  		</property>		
  		<property name="SyslogEnable" type="boolean">			
			<default value="false" />
		</property>
  		<property name="SyslogReceiver1" type="ip4">			
			<condition expr="SyslogEnable==true&amp;&amp;Step==11" />
		</property>
		<property name="SyslogReceiver2" type="ip4">			
			<allowNull />
			<condition expr="SyslogEnable==true&amp;&amp;Step==11" />
  		</property>		
    
				
	</class>
</configSchema>
