Banda su router
by Alcarin
HTML
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
<form onsubmit="return false;">
<!-- Form Name -->
<legend>Configurazione QoS</legend>
<div class="form-row">
<div class="form-group col-md-10">
<label for="nome-linea">Nome Linea</label>
<input id="nome-linea" name="nome-linea" placeholder="NEXTOLOGIES" class="form-control input-md" type="text">
</div>
<div class="form-group col-md-2">
<label for="banda">Banda</label>
<div class="input-group">
<input id="banda" name="banda" class="form-control" placeholder="" type="text">
<span class="input-group-addon">Mbps</span>
</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="descrizione">Descrizione</label>
<input id="descrizione" name="descrizione" placeholder="S0505I0109(xxx)-DESCRIZIONE" class="form-control input-md" type="text">
</div>
</div>
<!-- Appended Input-->
<!-- Button Drop Down -->
<div id="ip" class="form-row">
<div class="form-group col-md-12">
<label for="public-IP">Public IPs</label>
<div class="input-group">
<input id="public-IP" name="Public IPs" class="form-control" placeholder="0.0.0.0" type="text">
<div class="input-group-btn">
<button id="subnet" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
Subnet
<span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right">
<li><a href="#">255.255.255.255(/32)</a></li>
<li><a href="#">255.255.255.254(/31)</a></li>
<li><a href="#">255.255.255.252(/30)</a></li>
<li><a href="#">255.255.255.248(/29)</a></li>
<li><a href="#">255.255.255.240(/28)</a></li>
<li><a...
JavaScript
$("div#ip ul li a").click(function() {
$("div#ip ul li").removeClass("active");
$(this).parent().addClass("active");
$("div#ip button#subnet").html($(this).text() + ' <span class="caret"></span>')
});
$("div#ip button#add-subnet").click(function() {
$("ul#lista-subnet").append('<li class="list-group-item">' + $("div#ip input").val() + " " + $("div#ip ul li.active").text() + ' <button type="button" class="close" aria-label="Close"><span aria-hidden="true">×</span></button></li>');
$("ul#lista-subnet li button.close").unbind('click.ip').bind('click.ip', function() {
$(this).parent().remove()
})
});
var mask_conv = [];
mask_conv[16] = '0.0.255.255';
mask_conv[17] = '0.0.127.255';
mask_conv[18] = '0.0.63.255';
mask_conv[19] = '0.0.31.255';
mask_conv[20] = '0.0.15.255';
mask_conv[21] = '0.0.7.255';
mask_conv[22] = '0.0.3.255';
mask_conv[23] = '0.0.1.255';
mask_conv[24] = '0.0.0.255';
mask_conv[25] = '0.0.0.127';
mask_conv[26] = '0.0.0.63';
mask_conv[27] = '0.0.0.31';
mask_conv[28] = '0.0.0.15';
mask_conv[29] = '0.0.0.7';
mask_conv[30] = '0.0.0.3';
mask_conv[31] = '0.0.0.1';
mask_conv[32] = '0.0.0.0';
$("button#genera-configurazione").click(function() {
var configurazione = "";
var nome = $("input#nome-linea").val();
var descrizione = $("input#descrizione").val();
var banda = parseFloat($("input#banda").val()) * 0.97 * 1000000;
var al_in = "";
var al_out = "";
var subnet_mask = new RegExp(/\/(\d{2})/);
var subnet_ip = new RegExp(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/);
$("ul#lista-subnet li").each(function() {
var testo = $(this).text();
var ip = subnet_ip.exec(testo);
ip = ip[0];
var mask = subnet_mask.exec(testo);
mask = parseInt(mask[1]);
if (mask == 32) {
al_in += "permit ip host any " + ip + "\n";
al_out += "permit ip host " + ip + " any \n"
} else {
var wildcard = mask_conv[mask];
al_in += "permit ip any " + ip + " " + wildcard + "\n";
al_out += "permit ip " + ip + "...