Commit 2b305a41 authored by José Luis  Gutiérrez's avatar José Luis Gutiérrez Committed by Alessandro Rubini

www: VLAN improvements

Web interface VLAN improvements:
	- adding hex2bin function for vlan mask
	- Minor fixes
	- checking empty entry values for vlan
parent 9674e108
......@@ -1276,6 +1276,31 @@ function session_is_started(){
}
}
function parse_mask2ports($vlanmask){
$vlanmask = str_replace("0x","", $vlanmask);
$bin = decbin(hexdec($vlanmask));
$bin = strrev($bin);
$size = strlen($bin);
$counter = 0;
$ports = "";
for($i=0; $i<18; $i++){
if($bin[$i]=="1"){
$ports .= "wr".($i+1)." ";
$counter++;
if($counter==4){
$ports .= "<br>";
$counter = 0;
}
}
}
return $ports;
}
?>
......@@ -133,7 +133,7 @@
//We move the file to /wr/etc/
copy($tmpfile, $interface_file);
echo '<center>New static configuration saved for eth0<br>Restarting network</center>';
echo '<center>New static configuration saved for eth0<br>Changes will take place after reboot.</center>';
//Let's up eth0
shell_exec('/etc/init.d/S40network restart');
......
......@@ -26,11 +26,11 @@
<?php
$vlan_cmd = "/wr/bin/wrsw_vlans ";
$vlan_cmd .= " --rvid ".$_POST['vid'];
$vlan_cmd .= " --rfid ".$_POST['fid'];
$vlan_cmd .= " --rmask ".$_POST['mask'];
$vlan_cmd .= " --rdrop ".$_POST['drop'];
$vlan_cmd .= " --rprio ".$_POST['prio'];
if(!empty($_POST['vid'])){ $vlan_cmd .= " --rvid ".$_POST['vid'];}
if(!empty($_POST['fid'])){$vlan_cmd .= " --rfid ".$_POST['fid'];}
if(!empty($_POST['mask'])){$vlan_cmd .= " --rmask ".$_POST['mask'];}
if(!empty($_POST['drop'])){$vlan_cmd .= " --rdrop ".$_POST['drop'];}
if(!empty($_POST['prio'])){$vlan_cmd .= " --rprio ".$_POST['prio'];}
shell_exec($vlan_cmd);
......
......@@ -107,17 +107,17 @@
for($i = 0; $i < 18; $i++){
if(strcmp($_POST['vlan'.$i],"disabled")){ //VLAN selected
$vlan_cmd .= " --ep ".$i;
$vlan_cmd .= " --emode ".$_POST['mode'.$i];
$vlan_cmd .= " --eprio ".$_POST['prio'.$i];
$vlan_cmd .= " --evid ".$_POST['vlan'.$i];
if(!empty($_POST['mask'.$i]))$vlan_cmd .= " --eumask ".$_POST['mask'.$i];
if(!empty($_POST['mode'.$i])){$vlan_cmd .= " --emode ".$_POST['mode'.$i];}
if(!empty($_POST['prio'.$i])){$vlan_cmd .= " --eprio ".$_POST['prio'.$i];}
if(!empty($_POST['vlan'.$i])){$vlan_cmd .= " --evid ".$_POST['vlan'.$i];}
if(!empty($_POST['mask'.$i])){$vlan_cmd .= " --eumask ".$_POST['mask'.$i];}
$output = shell_exec($vlan_cmd);
echo '<br><p><center>Port WR'.($i+1).' added to VLAN'.$_POST['vlan'.$i].'</center></p>';
}else{
if(!strcmp($_POST['mode'.$i],"2")){ //Disable VLAN for endpoint
$vlan_cmd .= " --ep ".$i;
$vlan_cmd .= " --emode ".$_POST['mode'.$i];
if(!empty($_POST['mode'.$i])){$vlan_cmd .= " --emode ".$_POST['mode'.$i];}
$output = shell_exec($vlan_cmd);
echo '<br><p><center>VLAN removed for port WR'.($i+1).'</center></p>';
}
......@@ -131,7 +131,9 @@
?>
<br><br><FORM align="right" method="POST" action="vlan.php" ENCTYPE="multipart/form-data">
<INPUT type=submit value="Go back" class="btn" >
</form>
</div>
</div>
......
......@@ -29,7 +29,7 @@
$vlans = explode("\n", $vlans);
echo '<table align=center border="1" class="altrowstable" id="alternatecolor">';
echo '<tr align=center><th>VID</th><th>FID</th><th>MASK</th><th>DROP</th><th>PRIO</th><th>PRIO_OVERRIDE</th></tr>';
echo '<tr align=center><th>VID</th><th>FID</th><th>Ports</th><th>DROP</th><th>PRIO</th><th>Action</th></tr>';
$counter = 0;
foreach($vlans as $line){
$counter++;
......@@ -37,9 +37,10 @@
if($counter>=2 && !empty($line)){
$line = explode(" ", $line);
if(strcmp($line[3],"0x")){
echo '<tr align=center><th>'.$line[1].'</th><th>'.$line[2].'</th><th>'.$line[3].'</th><th>'.$line[4].'</th><th>'.$line[5].'</th><th>'.$line[6].'</th><th><A HREF="delvlan.php?vlan='.$line[1].'.">Delete</A></th></tr>';
echo '<tr align=center><th>'.$line[1].'</th><th>'.$line[2].'</th><th>'.parse_mask2ports($line[3]).'</th><th>'.$line[4].'</th><th>'.$line[5].'</th><th><A HREF="delvlan.php?vlan='.$line[1].'.">Delete</A></th></tr>';
}else{
echo '<tr align=center><th>'.$line[1].'</th><th>'.$line[2].'</th><th>'.$line[3].$line[4].'</th><th>'.$line[5].'</th><th>'.$line[6].'</th><th>'.$line[7].'</th><th><A HREF="delvlan.php?vlan='.$line[1].'.">Delete</A></th></tr>';
echo '<tr align=center><th>'.$line[1].'</th><th>'.$line[2].'</th><th>'.parse_mask2ports($line[3].$line[4]).'</th><th>'.$line[5].'</th><th>'.$line[6].'</th><th><A HREF="delvlan.php?vlan='.$line[1].'.">Delete</A></th></tr>';
}
}
......@@ -67,7 +68,6 @@
<option value="4">4</option>
</select>
</th>
<th></th>
<th align=center><INPUT type=submit value="Add VLAN" class="btn"></th>
</form>
</tr>';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment