82 lines
1.9 KiB
PHP
82 lines
1.9 KiB
PHP
<?php
|
|
require_once('include.php');
|
|
|
|
$bridgeid = Input::getVar('bridgeid', INP_GET | INP_INT | INP_DEFAULT, 0);
|
|
if ($bridgeid == 0)
|
|
die();
|
|
|
|
$retval = array();
|
|
$bridges = Bridge::getAll();
|
|
$bridge = $bridges[$bridgeid];
|
|
|
|
$retval['bridge'] = array(
|
|
'id' => $bridge->id,
|
|
'ctrlip' => $bridge->ctrlip,
|
|
'macmask' => $bridge->basemac."/FF:FF:FF:FF:FF:00"
|
|
);
|
|
|
|
$device = 0;
|
|
$retval['tunnel'] = array();
|
|
foreach ($bridges as $bridge) {
|
|
if ($bridge->id == $bridgeid)
|
|
continue;
|
|
|
|
if ($bridge->ctrlip == "0.0.0.0")
|
|
continue;
|
|
|
|
$retval['tunnel'][$bridge->id] = array(
|
|
'name' => (($bridge->id < $bridgeid) ? "tap-{$bridgeid}-{$bridge->id}" : "tap-{$bridge->id}-{$bridgeid}"),
|
|
'dest' => $bridge->ctrlip,
|
|
'mode' => (($bridge->id < $bridgeid) ? "client" : "server"),
|
|
'device' => "tap".$device++,
|
|
'macmask' => $bridge->basemac."/FF:FF:FF:FF:FF:00"
|
|
);
|
|
}
|
|
|
|
$retval['vlan'] = array();
|
|
$trunks = Trunk::getAll($bridgeid);
|
|
foreach ($trunks as $trunk) {
|
|
$vlans = Vlan::getAll($trunk->id);
|
|
foreach ($vlans as $vlan)
|
|
$retval['vlan'][$vlan->id] = array(
|
|
'name' => (($vlan->vlannum > 1) ? "{$trunk->name}.{$vlan->vlannum}" : $trunk->name),
|
|
'bw' => $vlan->bandwidth,
|
|
'mac' => $vlan->mac
|
|
);
|
|
}
|
|
|
|
$retval['hlsw'] = array();
|
|
$masters = Hlsw::getAll();
|
|
foreach ($masters as $hlsw) {
|
|
if (isset($retval['vlan'][$hlsw->vlanid])) {
|
|
$retval['hlsw'][$hlsw->id] = array(
|
|
'dev' => $retval['vlan'][$hlsw->vlanid]['name'],
|
|
'ip' => $hlsw->ip
|
|
);
|
|
}
|
|
}
|
|
|
|
$retval['forward'] = array();
|
|
$forwards = Forward::getAll();
|
|
foreach ($forwards as $forward)
|
|
$retval['forward'][$forward->id] = array(
|
|
'portlo' => $forward->portlo,
|
|
'porthi' => $forward->porthi,
|
|
'active' => $forward->isActive()
|
|
);
|
|
|
|
$action = Input::getVar('action', INP_GET | INP_STRING | INP_DEFAULT, 'fetch');
|
|
switch ($action) {
|
|
case 'show':
|
|
Helper::show($retval);
|
|
break;
|
|
|
|
default:
|
|
case 'fetch':
|
|
header("Content-Type: file/plain");
|
|
echo serialize($retval);
|
|
break;
|
|
}
|
|
|
|
?>
|