summaryrefslogtreecommitdiffstats
path: root/usr/local
diff options
context:
space:
mode:
Diffstat (limited to 'usr/local')
-rwxr-xr-xusr/local/www/diag_dump_states.php38
1 files changed, 27 insertions, 11 deletions
diff --git a/usr/local/www/diag_dump_states.php b/usr/local/www/diag_dump_states.php
index 6cb3513..ebb3b06 100755
--- a/usr/local/www/diag_dump_states.php
+++ b/usr/local/www/diag_dump_states.php
@@ -197,19 +197,35 @@ while ($line = chop(fgets($fd))) {
/* break up info and extract $srcip and $dstip */
$ends = preg_split("/\<?-\>?/", $info);
- $parts = explode(":", $ends[0]);
- if (strstr($info, "->")) {
- $srcip = trim($parts[0]);
- } else {
- $dstip = trim($parts[0]);
- }
- $parts = explode(":", $ends[count($ends) - 1]);
- if (strstr($info, "->")) {
- $dstip = trim($parts[0]);
+ if (strstr($info, "[")) {
+ // IPv6
+ $parts = explode("[", $ends[0]);
+ if (strstr($info, "->")) {
+ $srcip = trim($parts[0]);
+ } else {
+ $dstip = trim($parts[0]);
+ }
+ $parts = explode("[", $ends[count($ends) - 1]);
+ if (strstr($info, "->")) {
+ $dstip = trim($parts[0]);
+ } else {
+ $srcip = trim($parts[0]);
+ }
} else {
- $srcip = trim($parts[0]);
+ // IPv4
+ $parts = explode(":", $ends[0]);
+ if (strstr($info, "->")) {
+ $srcip = trim($parts[0]);
+ } else {
+ $dstip = trim($parts[0]);
+ }
+ $parts = explode(":", $ends[count($ends) - 1]);
+ if (strstr($info, "->")) {
+ $dstip = trim($parts[0]);
+ } else {
+ $srcip = trim($parts[0]);
+ }
}
-
?>
<tr valign="top" id="r:<?= $srcip ?>:<?= $dstip ?>">
<td class="listlr"><?= $iface ?></td>
OpenPOWER on IntegriCloud