aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-01-13 19:57:36 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-01-13 19:57:36 +0000
commit08dd5f097bde6b584d78983db32af9285fe5fa82 (patch)
tree43f02d020ba7a4d79ea21bbe3bdef0d1b7d06f9e
parenta401b050a97d325eb6aa12e92ddfeb18b33c3833 (diff)
downloadpfsense-packages-08dd5f097bde6b584d78983db32af9285fe5fa82.tar.gz
pfsense-packages-08dd5f097bde6b584d78983db32af9285fe5fa82.tar.bz2
pfsense-packages-08dd5f097bde6b584d78983db32af9285fe5fa82.zip
Add initial carp implementation to test GUI. Still needs backend logic to setup the GUI portion
-rw-r--r--packages/carp.xml162
1 files changed, 162 insertions, 0 deletions
diff --git a/packages/carp.xml b/packages/carp.xml
new file mode 100644
index 00000000..353fffc1
--- /dev/null
+++ b/packages/carp.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<packagegui>
+ <name>carp</name>
+ <!-- Menu is where this packages menu will appear -->
+ <menu>
+ <name>CARP Settings</name>
+ <tooltiptext>CARP is a tool to help achieve system redundancy, by having multiple computers creating a single, virtual network interface between them, so that if any machine fails, another can respond instead, and/or allowing a degree of load sharing between systems. CARP is an improvement over the Virtual Router Redundancy Protocol (VRRP) standard. It was developed after VRRP was deemed to be not free enough because of a possibly-overlapping Cisco patent.</tooltiptext>
+ <section>Services</section>
+ <configfile>pfstat.xml</configfile>
+ </menu>
+ <!-- configpath gets expanded out automatically and config items will be
+ stored in that location -->
+ <configpath>['carp']</configpath>
+ <adddeleteeditpagefields>
+ <columnitem>
+ <fielddescr>VHID Group</fielddescr>
+ <fieldname>vhid</fieldname>
+ </columnitem>
+ <columnitem>
+ <fielddescr>Virtual IP Address</fielddescr>
+ <fieldname>ipaddress</fieldname>
+ </columnitem>
+ <columnitem>
+ <fielddescr>Advertising Frequency</fielddescr>
+ <fieldname>advskew</fieldname>
+ </columnitem>
+ <columnitem>
+ <fielddescr>Synchronize State</fielddescr>
+ <fieldname>pfsync</fieldname>
+ </columnitem>
+ <columnitem>
+ <fielddescr>Load Balancing</fielddescr>
+ <fieldname>balancing</fieldname>
+ </columnitem>
+ <columnitem>
+ <fielddescr>Premption</fielddescr>
+ <fieldname>premption</fieldname>
+ </columnitem>
+ </adddeleteeditpagefields>
+ <!-- fields gets invoked when the user adds or edits a item. the following items
+ will be parsed and rendered for the user as a gui with input, and selectboxes. -->
+ <fields>
+ <field>
+ <fielddescr>VHID Group</fielddescr>
+ <fieldname>vhid</fieldname>
+ <description>Enter the VHID group that the machines will share</description>
+ <type>select</type>
+ <value>1</value>
+ <options>
+ <option><value>1</value><name>1 (DEAFULT)</name></option>
+ <option><value>2</value><name>2</name></option>
+ <option><value>3</value><name>3</name></option>
+ <option><value>4</value><name>4</name></option>
+ <option><value>5</value><name>5</name></option>
+ <option><value>6</value><name>6</name></option>
+ <option><value>7</value><name>7</name></option>
+ <option><value>8</value><name>8</name></option>
+ <option><value>9</value><name>9</name></option>
+ <option><value>10</value><name>10</name></option>
+ <option><value>11</value><name>11</name></option>
+ <option><value>12</value><name>12</name></option>
+ <option><value>13</value><name>13</name></option>
+ <option><value>14</value><name>14</name></option>
+ <option><value>15</value><name>15</name></option>
+ <option><value>16</value><name>16</name></option>
+ <option><value>17</value><name>17</name></option>
+ <option><value>18</value><name>18</name></option>
+ <option><value>19</value><name>19</name></option>
+ <option><value>20</value><name>20</name></option>
+ <option><value>21</value><name>21</name></option>
+ <option><value>22</value><name>22</name></option>
+ <option><value>23</value><name>23</name></option>
+ <option><value>24</value><name>24</name></option>
+ <option><value>25</value><name>25</name></option>
+ <option><value>26</value><name>26</name></option>
+ <option><value>27</value><name>27</name></option>
+ <option><value>28</value><name>28</name></option>
+ <option><value>29</value><name>29</name></option>
+ <option><value>30</value><name>30</name></option>
+ </options>
+ </field>
+ <field>
+ <fielddescr>Virtual IP Address</fielddescr>
+ <fieldname>ipaddress</fieldname>
+ <description>Enter the IPAddress that you would like to share on both machines</description>
+ <type>input</type>
+ </field>
+ <field>
+ <fielddescr>Advertising Frequency</fielddescr>
+ <fieldname>advskew</fieldname>
+ <description>The frequency that this machine will advertise</description>
+ <type>select</type>
+ <value>0</value>
+ <options>
+ <option><value>0</value><name>0 (DEFAULT)</name></option>
+ <option><value>1</value><name>1</name></option>
+ <option><value>2</value><name>2</name></option>
+ <option><value>3</value><name>3</name></option>
+ <option><value>4</value><name>4</name></option>
+ <option><value>5</value><name>5</name></option>
+ <option><value>6</value><name>6</name></option>
+ <option><value>7</value><name>7</name></option>
+ <option><value>8</value><name>8</name></option>
+ <option><value>9</value><name>9</name></option>
+ <option><value>10</value><name>10</name></option>
+ <option><value>11</value><name>11</name></option>
+ <option><value>12</value><name>12</name></option>
+ <option><value>13</value><name>13</name></option>
+ <option><value>14</value><name>14</name></option>
+ <option><value>15</value><name>15</name></option>
+ <option><value>16</value><name>16</name></option>
+ <option><value>17</value><name>17</name></option>
+ <option><value>18</value><name>18</name></option>
+ <option><value>19</value><name>19</name></option>
+ <option><value>20</value><name>20</name></option>
+ <option><value>21</value><name>21</name></option>
+ <option><value>22</value><name>22</name></option>
+ <option><value>23</value><name>23</name></option>
+ <option><value>24</value><name>24</name></option>
+ <option><value>25</value><name>25</name></option>
+ <option><value>26</value><name>26</name></option>
+ <option><value>27</value><name>27</name></option>
+ <option><value>28</value><name>28</name></option>
+ <option><value>29</value><name>29</name></option>
+ <option><value>30</value><name>30</name></option>
+ </options>
+ </field>
+ <field>
+ <fielddescr>Synchrnoize State</fielddescr>
+ <fieldname>pfsync</fieldname>
+ <description>PFSync transfers state insertion, update, and deletion messages between firewalls. Each firewall sends these messages out via multicast on a specified interface, using the PFSYNC protocol (IP Protocol 240). It also listens on that interface for similar messages from other firewalls, and imports them into the local state table.</description>
+ <type>checkbox</type>
+ </field>
+ <field>
+ <fielddescr>Load Balancing</fielddescr>
+ <fieldname>balancing</fieldname>
+ <description>If this feature is enabled, CARP source-hashes the originating IP of a request. The hash is then used to select a virtual host from the available pool to handle the request. This is disabled by default.</description>
+ <type>checkbox</type>
+ </field>
+ <field>
+ <fielddescr>Premption</fielddescr>
+ <fieldname>premption</fieldname>
+ <description>When preemption is enabled, each CARP host will look at the advskew (Advertising Frequency) parameter in the advertisements it receives from the master, to try to determine whether it can advertise more frequently. If so, it will begin advertising, and the current master, seeing that there is another host with a lower advskew, will bow out.</description>
+ <type>checkbox</type>
+ </field>
+ </fields>
+ <custom_php_command_before_form>
+ function sync_package() {
+ global $config;
+ /* create /usr/local/etc/rc.d/carp.sh here */
+
+ }
+ sync_package();
+ </custom_php_command_before_form>
+ <custom_php_resync_config_command>
+ sync_package();
+ </custom_php_resync_config_command>
+ <custom_php_install_command>
+ </custom_php_install_command>
+ <custom_php_deinstall_command>
+ </custom_php_deinstall_command>
+</packagegui>