<packagegui>
	<name>quagga_ospfd</name>
	<version>0.6.1</version>
	<title>Services: Quagga OSPFd</title>
	<include_file>/usr/local/pkg/quagga_ospfd.inc</include_file>
	<aftersaveredirect>pkg_edit.php?xml=quagga_ospfd.xml&amp;id=0</aftersaveredirect>
	<additional_files_needed>
		<prefix>/usr/local/pkg/</prefix>
		<chmod>644</chmod>
		<item>https://packages.pfsense.org/packages/config/quagga_ospfd/quagga_ospfd.inc</item>
	</additional_files_needed>
	<additional_files_needed>
		<prefix>/usr/local/pkg/</prefix>
		<chmod>644</chmod>
		<item>https://packages.pfsense.org/packages/config/quagga_ospfd/quagga_ospfd_interfaces.xml</item>
	</additional_files_needed>
	<additional_files_needed>
		<prefix>/usr/local/pkg/</prefix>
		<chmod>644</chmod>
		<item>http://www.pfsense.com/packages/config/quagga_ospfd/quagga_ospfd_raw.xml</item>
	</additional_files_needed>
	<additional_files_needed>
		<prefix>/usr/local/www/</prefix>
		<chmod>644</chmod>
		<item>https://packages.pfsense.org/packages/config/quagga_ospfd/status_ospfd.php</item>
	</additional_files_needed>
	<additional_files_needed>
		<prefix>/usr/local/bin/</prefix>
		<chmod>777</chmod>
		<item>https://packages.pfsense.org/packages/config/quagga_ospfd/quaggactl</item>
	</additional_files_needed>
	<menu>
		<name>Quagga OSPFd</name>
		<tooltiptext>Modify Quagga ospfd settings.</tooltiptext>
		<section>Services</section>
		<configfile>quagga_ospfd.xml</configfile>
		<url>/pkg_edit.php?xml=quagga_ospfd.xml&amp;id=0</url>
	</menu>
	<tabs>
		<tab>
			<text>Global Settings</text>
			<url>pkg_edit.php?xml=quagga_ospfd.xml&amp;id=0</url>
			<active/>
		</tab>
		<tab>
			<text>Interface Settings</text>
			<url>pkg.php?xml=quagga_ospfd_interfaces.xml</url>
		</tab>
		<tab>
			<text>Raw Config</text>
			<url>pkg_edit.php?xml=quagga_ospfd_raw.xml&amp;id=0</url>
		</tab>
		<tab>
			<text>Status</text>
			<url>/status_ospfd.php</url>
		</tab>
	</tabs>
	<service>
		<name>Quagga OSPFd</name>
		<rcfile>quagga.sh</rcfile>
		<executable>ospfd</executable>
		<description>OSPF routing daemon</description>
	</service>
	<service>
		<name>Quagga Zebra</name>
		<rcfile>quagga.sh</rcfile>
		<executable>zebra</executable>
		<description>Quagga core/abstraction daemon</description>
	</service>
	<fields>
		<field>
			<fielddescr>Master Password</fielddescr>
			<fieldname>password</fieldname>
			<description>
				<![CDATA[
					Password to access the Zebra and OSPF management daemons. Required.
				]]>
			</description>
			<type>input</type>
			<required/>
		</field>
		<field>
			<fielddescr>Logging</fielddescr>
			<fieldname>logging</fieldname>
			<description>If set to yes, Logs will be written via syslog.</description>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>Log Adjacency Changes</fielddescr>
			<fieldname>adjacencylog</fieldname>
			<description>If set to yes, adjacency changes will be written via syslog.</description>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>Router ID</fielddescr>
			<fieldname>routerid</fieldname>
			<description>
				<![CDATA[
					Specify the Router ID. RID is the highest logical (loopback) IP address configured on a router. For more information on router identifiers see <a target='_new' href='http://en.wikipedia.org/wiki/Open_Shortest_Path_First'>wikipedia</a>. 
				]]>
			</description>
			<type>input</type>
		</field>
		<field>
			<fielddescr>Area</fielddescr>
			<fieldname>area</fieldname>
			<description>
				<![CDATA[
					OSPFd area for this instance of OSPF. For more information on Areas see <a target='_new'  href='http://en.wikipedia.org/wiki/Open_Shortest_Path_First#Area_types'>wikipedia</a>.
				]]>
			</description>
			<type>input</type>
			<required/>
		</field>
		<field>
			<fielddescr>Disable FIB updates (Routing table)</fielddescr>
			<fieldname>updatefib</fieldname>
			<description>Disables the updating of the host routing table(turns into stub router).</description>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>Redistribute connected subnets</fielddescr>
			<fieldname>redistributeconnectedsubnets</fieldname>
			<description>Enables the redistribution of connected networks (Default no)</description>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>Redistribute default route</fielddescr>
			<fieldname>redistributedefaultroute</fieldname>
			<description>Enables the redistribution of a default route to this device (Default no)</description>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>Redistribute static</fielddescr>
			<fieldname>redistributestatic</fieldname>
			<description>Enables the redistribution of static routes (only works if you are using quagga static routes)</description>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>Redistribute Kernel</fielddescr>
			<fieldname>redistributekernel</fieldname>
			<description>Enables the redistribution of kernel routing table (this is required if using pfsense static routes)</description>
			<type>checkbox</type>
		</field>
			
		<field>
			<fielddescr>SPF Hold Time</fielddescr>
			<fieldname>spfholdtime</fieldname>
			<description>Set the SPF holdtime in MILLIseconds.  The minimum time between two consecutive shortest path first calculations.  The default value is 5 seconds; the valid range is 1-5 seconds.</description>
			<type>input</type>
		</field>
		<field>
			<fielddescr>SPF Delay</fielddescr>
			<fieldname>spfdelay</fieldname>
			<description>Set SPF delay in MILLIseconds.  The delay between receiving an update to the link state database and starting the shortest path first calculation.  The default value is 1; valid range is 1-10 seconds.</description>
			<type>input</type>
		</field>
		<field>
			<fielddescr>RFC 1583 compatible</fielddescr>
			<fieldname>rfc1583</fieldname>
			<description>If set to yes, decisions regarding AS-external routes are evaluated according to RFC 1583.  The default is no.</description>
			<type>checkbox</type>
		</field>
		<field>
			<fielddescr>These rules take precedence over any redistribute options specified above.</fielddescr>
			<fieldname>none</fieldname>
			<type>rowhelper</type>
			<rowhelper>
				<rowhelperfield>
					<fielddescr>Disable &lt;br/&gt;Redistribution</fielddescr>
					<fieldname>redistribute</fieldname>
					<description>Redistribute rules.</description>
					<type>checkbox</type>
					<size>20</size>
				</rowhelperfield>
				<rowhelperfield>
					<fielddescr>Disable &lt;br/&gt;Acceptance</fielddescr>
					<fieldname>acceptfilter</fieldname>
					<description>Accept Filter</description>
					<type>checkbox</type>
					<size>20</size>
				</rowhelperfield>
				<rowhelperfield>
					<fielddescr>Subnet to Route</fielddescr>
					<fieldname>routevalue</fieldname>
					<type>input</type>
					<size>25</size>
				</rowhelperfield>
				<rowhelperfield>
					<fielddescr>Area ID</fielddescr>
					<fieldname>routearea</fieldname>
					<type>input</type>
					<size>10</size>
				</rowhelperfield>
			</rowhelper>
		</field>
		<field>
			<fielddescr>CARP Status IP</fielddescr>
			<fieldname>carpstatusip</fieldname>
			<description>IP address used to determine the CARP status. When the VIP is in BACKUP status, quagga will not be started. &lt;br/&gt;NOTE: Requires changes to /etc/rc.carpmaster to start quagga and /etc/rc.carpbackup to stop quagga or it will not be fully effective.</description>
			<type>input</type>
			<size>25</size>
		</field>
	</fields>
	<custom_php_resync_config_command>
		quagga_ospfd_install_conf();
	</custom_php_resync_config_command>
	<custom_php_validation_command>
		quagga_ospfd_validate_input();
	</custom_php_validation_command>
</packagegui>