summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/interfaces.inc4
-rw-r--r--etc/inc/util.inc5
2 files changed, 6 insertions, 3 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index c12f0f6..bc8fdb8 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -3425,7 +3425,7 @@ function find_interface_ipv6($interface, $flush = false)
if(! preg_match("/fe80::/", $parts[1])) {
$ifinfo['ipaddrv6'] = $parts[1];
if($parts[2] == "-->") {
- $parts[5] = "127";
+ $parts[5] = "126";
$ifinfo['subnetbitsv6'] = $parts[5];
} else {
$ifinfo['subnetbitsv6'] = $parts[3];
@@ -3476,7 +3476,7 @@ function find_interface_subnetv6($interface, $flush = false)
if(! preg_match("/fe80::/", $parts[1])) {
$ifinfo['ipaddrv6'] = $parts[1];
if($parts[2] == "-->") {
- $parts[5] = "127";
+ $parts[5] = "126";
$ifinfo['subnetbitsv6'] = $parts[5];
} else {
$ifinfo['subnetbitsv6'] = $parts[3];
diff --git a/etc/inc/util.inc b/etc/inc/util.inc
index f3cb60b..4d939dd 100644
--- a/etc/inc/util.inc
+++ b/etc/inc/util.inc
@@ -226,7 +226,10 @@ function gen_subnet($ipaddr, $bits) {
function gen_subnetv6($ipaddr, $bits) {
if (!is_ipaddrv6($ipaddr) || !is_numeric($bits))
return "";
- return Net_IPv6::getNetmask($ipaddr, $bits);
+
+ $address = Net_IPv6::getNetmask($ipaddr, $bits);
+ $address = Net_IPv6::Compress($address);
+ return $address;
}
/* return the highest (broadcast) address in the subnet given a host address and a subnet bit count */
OpenPOWER on IntegriCloud