summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2015-04-04 20:36:13 -0500
committerChris Buechler <cmb@pfsense.org>2015-04-04 20:36:13 -0500
commit38253ce6e5c1b587294882aaa1787301687522dd (patch)
tree1a283f9e4e8b6cafa1c4e4f337f353627446172a /etc
parentc5292060a497a88bdeb5cb9325fb2a5595bbcea1 (diff)
downloadpfsense-38253ce6e5c1b587294882aaa1787301687522dd.zip
pfsense-38253ce6e5c1b587294882aaa1787301687522dd.tar.gz
Include additional subnets for RAs in radvd.conf. Ticket #4468
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/services.inc37
1 files changed, 36 insertions, 1 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc
index 680d695..cbf9542 100644
--- a/etc/inc/services.inc
+++ b/etc/inc/services.inc
@@ -129,7 +129,7 @@ function services_radvd_configure($blacklist = array()) {
$radvdconf .= "\tAdvLinkMTU {$mtu};\n";
else
$radvdconf .= "\tAdvLinkMTU 1280;\n";
- // $radvdconf .= "\tDeprecatePrefix on;\n";
+
switch($dhcpv6ifconf['rapriority']) {
case "low":
$radvdconf .= "\tAdvDefaultPreference low;\n";
@@ -178,6 +178,41 @@ function services_radvd_configure($blacklist = array()) {
}
$radvdconf .= "\t};\n";
+ if (is_array($dhcpv6ifconf['subnets']['item'])) {
+ foreach ($dhcpv6ifconf['subnets']['item'] as $subnet) {
+ if (is_subnetv6($subnet)) {
+ $radvdconf .= "\tprefix {$subnet} {\n";
+ if($carpif == true) {
+ $radvdconf .= "\t\tDeprecatePrefix off;\n";
+ } else {
+ $radvdconf .= "\t\tDeprecatePrefix on;\n";
+ }
+ switch($dhcpv6ifconf['ramode']) {
+ case "managed":
+ $radvdconf .= "\t\tAdvOnLink on;\n";
+ $radvdconf .= "\t\tAdvAutonomous off;\n";
+ $radvdconf .= "\t\tAdvRouterAddr on;\n";
+ break;
+ case "router":
+ $radvdconf .= "\t\tAdvOnLink off;\n";
+ $radvdconf .= "\t\tAdvAutonomous off;\n";
+ $radvdconf .= "\t\tAdvRouterAddr on;\n";
+ break;
+ case "assist":
+ $radvdconf .= "\t\tAdvOnLink on;\n";
+ $radvdconf .= "\t\tAdvAutonomous on;\n";
+ $radvdconf .= "\t\tAdvRouterAddr on;\n";
+ break;
+ case "unmanaged":
+ $radvdconf .= "\t\tAdvOnLink on;\n";
+ $radvdconf .= "\t\tAdvAutonomous on;\n";
+ $radvdconf .= "\t\tAdvRouterAddr on;\n";
+ break;
+ }
+ $radvdconf .= "\t};\n";
+ }
+ }
+ }
if($carpif === true) {
$radvdconf .= "\troute ::/0 {\n";
$radvdconf .= "\t\tRemoveRoute off;\n";
OpenPOWER on IntegriCloud