summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjim-p <jim@pingle.org>2009-07-04 19:49:50 -0400
committerjim-p <jim@pingle.org>2009-07-04 19:49:50 -0400
commit09f18f59dd89ef98fa59ef8a11685e35f457fded (patch)
treedcecc66f357c069fccf7877fbf28bb8797a2073a
parentcdd3238d3b4f4e8e853ba221b804e21b69be2ac8 (diff)
downloadpfsense-09f18f59dd89ef98fa59ef8a11685e35f457fded.zip
pfsense-09f18f59dd89ef98fa59ef8a11685e35f457fded.tar.gz
Add configurable option to enable glxsb.
-rw-r--r--etc/inc/pfsense-utils.inc11
-rwxr-xr-xetc/rc.bootup3
-rw-r--r--usr/local/www/system_advanced_misc.php25
3 files changed, 39 insertions, 0 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index 7e6b5b4..3fa3abe 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -1638,4 +1638,15 @@ function compare_hostname_to_dnscache($hostname) {
}
}
+/*
+ * load_glxsb() - Load the glxsb crypto module if enabled in config.
+ */
+function load_glxsb() {
+ global $config, $g;
+ $is_loaded = `/sbin/kldstat | /usr/bin/grep -c glxsb`;
+ if (isset($config['system']['glxsb_enable']) && ($is_loaded == 0)) {
+ mwexec("/sbin/kldload glxsb");
+ }
+}
+
?> \ No newline at end of file
diff --git a/etc/rc.bootup b/etc/rc.bootup
index 067c4d5..5668758 100755
--- a/etc/rc.bootup
+++ b/etc/rc.bootup
@@ -155,6 +155,9 @@ echo "Setting up extended sysctls...";
system_setup_sysctl();
echo "done.\n";
+/* enable glxsb if wanted */
+load_glxsb();
+
/* run any early shell commands specified in config.xml */
system_do_shell_commands(1);
diff --git a/usr/local/www/system_advanced_misc.php b/usr/local/www/system_advanced_misc.php
index 82db06a..fa08c19 100644
--- a/usr/local/www/system_advanced_misc.php
+++ b/usr/local/www/system_advanced_misc.php
@@ -47,6 +47,7 @@ $pconfig['harddiskstandby'] = $config['system']['harddiskstandby'];
$pconfig['lb_use_sticky'] = isset($config['system']['lb_use_sticky']);
$pconfig['preferoldsa_enable'] = isset($config['ipsec']['preferoldsa']);
$pconfig['powerd_enable'] = isset($config['system']['powerd_enable']);
+$pconfig['glxsb_enable'] = isset($config['system']['glxsb_enable']);
if ($_POST) {
@@ -71,6 +72,7 @@ if ($_POST) {
$config['ipsec']['preferoldsa'] = $_POST['preferoldsa_enable'] ? true : false;
$config['system']['powerd_enable'] = $_POST['powerd_enable'] ? true : false;
+ $config['system']['glxsb_enable'] = $_POST['glxsb_enable'] ? true : false;
write_config();
@@ -82,6 +84,7 @@ if ($_POST) {
$savemsg = $retval;
activate_powerd();
+ load_glxsb();
}
}
@@ -171,6 +174,28 @@ include("head.inc");
<td colspan="2" class="list" height="12">&nbsp;</td>
</tr>
<tr>
+ <td colspan="2" valign="top" class="listtopic">glxsb Crypto Acceleration</td>
+ </tr>
+ <tr>
+ <td width="22%" valign="top" class="vncell">glxsb</td>
+ <td width="78%" class="vtable">
+ <input name="glxsb_enable" type="checkbox" id="glxsb_enable" value="yes" <?php if ($pconfig['glxsb_enable']) echo "checked"; ?> />
+ <strong>Use glxsb</strong><br/>
+ <br />
+ The AMD Geode LX Security Block will accelerate some cryptographic functions
+ on systems which have the chip. Do not enable this option if you have a
+ Hifn cryptographic acceleration card, as this will take precedence and the
+ Hifn card will not be used. Acceleration should be automatic for IPsec
+ when using Rijndael (AES). OpenVPN should be set for AES-128-CBC.
+ <br/><br/>
+ If you do not have a glxsb chip in your system, this option will have no
+ effect. To unload the module, uncheck this option and then reboot.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2" class="list" height="12">&nbsp;</td>
+ </tr>
+ <tr>
<td colspan="2" valign="top" class="listtopic">IP Security</td>
</tr>
<tr>
OpenPOWER on IntegriCloud