add display of existing peerings+check if supplied ips are in allowed ip ranges

This commit is contained in:
lare 2022-11-27 00:00:01 +01:00
parent d48b754da6
commit 14bb23690e
5 changed files with 138 additions and 20 deletions

View file

@ -146,6 +146,11 @@
<td></td>
<td><input type="text" name="peer-asn" id="peer-asn" disabled="disabled" value="{{session['user-data']['asn']}}"></td>
</tr>
<tr>
<td><h4>Wireguard</h4></td>
<td></td>
<td></td>
</tr>
<tr>
<td><label for="peer-wgkey">your Wireguard Publickey</label></td>
<td></td>
@ -171,7 +176,23 @@
<td><input type="checkbox" name="peer-v6-enabled" id="peer-v6-enabled"onchange="return update_from_v6()"></td>
<td><input type="text" name="peer-v6" id="peer-v6"onchange="return update_from_v6()"></td>
</tr>
<tr>
<td><h4>BGP</h4></td>
<td></td>
<td></td>
</tr>
<tr>
<td>MultiProtocol</td>
<td><input type="checkbox" name="bgp-multi-protocol" id="bgp-multi-protocol" onchange="return update_from_mpbgp()" checked></td>
<td></td>
</tr>
<tr>
<td>extended next hop</td>
<td><input type="checkbox" name="bgp-extended-next-hop" id="bgp-extended-next-hop" onchange="return update_from_enh()" checked></td>
<td></td>
</tr>
</table>
<input type="submit" value="submit">
</form>
<div class="example-config">

View file

@ -4,9 +4,35 @@
<div>
<a href="peerings/new"><button>add new</button></a>
</div>
<div>
<div class="flex flex-row">
{% for peering in peerings.get_peerings_by_mnt(session["login"]) %}
{{peering}} <br>
<div class="peering">
<div>
<div>Node: {{peering["node"]}}</div>
</div>
<div>
<table>
<tr><td>ASN:</td><td>{{peering["ASN"]}}</td></tr>
<tr><td>WG-PublicKey:</td><td>{{peering["wg_key"][:8]}}...</td></tr>
</table>
</div>
<div>
<table>
{% if peering["ipv6ll"] %}<tr><td>ipv6 linklocal:</td><td>{{peering["ipv6ll"]}}</td></tr>{% endif %}
{% if peering["ipv4"] %}<tr><td>ipv4:</td><td>{{peering["ipv4"]}}</td></tr>{% endif %}
{% if peering["ipv6"] %}<tr><td>ipv6:</td><td>{{peering["ipv6"]}}</td></tr>{% endif %}
</table>
</div>
<!-- <div>{{peering}}</div> -->
<div>
<a href="peerings/edit?node={{peering['node']}}&asn={{peering['ASN']}}">
<button class="peering-edit">edit</button>
</a>
<a href="peerings/delete?node={{peering['node']}}&asn={{peering['ASN']}}">
<button class="peering-delete">delete</button>
</a>
</div>
</div>
{% endfor %}
</div>

View file

@ -71,4 +71,49 @@ footer.flex {
form > div > * {
margin: 10px;
}
.peering {
border-color: var(--other-background);
border-radius: 10px;
padding: 10px;
border-style: inset;
display: grid;
grid-auto-flow: column;
flex-direction: row;
width: 100%;
}
.peering > div {
display: flex;
flex-direction: column;
}
.peering > div > * {
padding: 10px;
}
button {
background-color: #00000020;
border-color: var(--text-color);
border-width: 5px;
padding: 10px;
}
.peering>* {
width:auto;
align-items: center;
}
.peering-edit {
border-color: lightblue;
}
.peering-edit:hover {
background-color: #87cefaaa;
}
.peering-delete {
border-color: darkred;
}
.peering-delete:hover {
background-color: #ff0000aa;
}