mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-09 19:56:48 +00:00
- A network created with fixed addresses gets one per address of its DHCP range for any subnet; the old prefix cut assumed a gateway ending in .1 and built addresses such as 10.0.0.1.130. Fixed addresses need a /24 or smaller subnet. - A new network that does not start (its subnet is in use) is undefined again, so the name is free for another try. - Fixed addresses are changed and deleted on a stopped network too: the running network is changed only while it runs. A host with only a name is deleted as defined, not with an empty MAC, shows no "None", and has no edit button it could not use. - The create dialog disables the fields it hides, so an IPv6 subnet typed and then unchecked is not created, and switching from MACVTAP back to BRIDGE restores the bridge label and the Open vSwitch option. - Isolated networks show QoS; QoS save buttons no longer raise a script error; saving an unchanged fixed address says so; two messages lose a stray backslash and spaces.
94 lines
6 KiB
HTML
94 lines
6 KiB
HTML
{% load i18n %}
|
|
{% load bootstrap_icons %}
|
|
{% if request.user.is_superuser %}
|
|
<a href="#AddNetPool" type="button" class="btn btn-success float-end" title="{% trans "Add New Network" %}" data-bs-toggle="modal">
|
|
<span aria-hidden="true">{% bs_icon 'plus' %} </span>
|
|
</a>
|
|
|
|
<!-- Modal pool -->
|
|
<div class="modal fade" id="AddNetPool" tabindex="-1" role="dialog" aria-labelledby="AddNetPoolLabel" aria-hidden="true">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">{% trans "Add New Network" %}</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<form method="post" action="" role="form" aria-label="Add New Network form" novalidate>{% csrf_token %}
|
|
<div class="modal-body">
|
|
<div class="row">
|
|
<label for="net_name" class="col-sm-4 col-form-label">{% trans "Name" %}</label>
|
|
<div class="col-sm-6">
|
|
<input id="net_name" type="text" class="form-control" name="name" placeholder="{% trans "default" %}" required pattern="[a-zA-Z0-9_]+">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label for="forward_select" class="col-sm-4 col-form-label">{% trans "Type forwarding" %}</label>
|
|
<div class="col-sm-6">
|
|
<select id="forward_select" class="form-select" name="forward">
|
|
<option value="nat">{% trans "NAT" %}</option>
|
|
<option value="route">{% trans "ROUTE" %}</option>
|
|
<option value="none">{% trans "ISOLATE" %}</option>
|
|
<option value="bridge">{% trans "BRIDGE" %}</option>
|
|
<option value="macvtap">{% trans "MACVTAP" %}</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row bridge_name_form_group_dhcp">
|
|
<label for="net_subnet" class="col-sm-4 col-form-label">{% trans "IPv4 Subnet pool" %}</label>
|
|
<div class="col-sm-6">
|
|
<input id="net_subnet" type="text" class="form-control" name="subnet" value="" placeholder="192.168.100.0/24" required pattern="[0-9\/\.]+">
|
|
</div>
|
|
</div>
|
|
<div class="row bridge_name_form_group_dhcp">
|
|
<label for="net_dhcp4" class="col-sm-4 col-form-label">{% trans "DHCPv4" %}</label>
|
|
<div class="col-sm-6">
|
|
<input id="net_dhcp4" type="checkbox" name="dhcp4" value="true" checked>
|
|
</div>
|
|
</div>
|
|
<div class="row bridge_name_form_group_dhcp">
|
|
<label for="net_fixed" class="col-sm-4 col-form-label">{% trans "Fixed Addresses" %}</label>
|
|
<div class="col-sm-6">
|
|
<input id="net_fixed" type="checkbox" name="fixed" value="true">
|
|
</div>
|
|
</div>
|
|
<div class="row bridge_name_form_group_dhcp">
|
|
<label for="enable_ipv6" class="col-sm-4 col-form-label">{% trans "Enable IPv6" %}</label>
|
|
<div class="col-sm-6">
|
|
<input type="checkbox" id="enable_ipv6" name="enable_ipv6" value="false">
|
|
</div>
|
|
</div>
|
|
<div class="row ipv6_group">
|
|
<label for="net_subnet6" class="col-sm-4 col-form-label">{% trans "IPv6 Subnet pool" %}</label>
|
|
<div class="col-sm-6">
|
|
<input id="net_subnet6" type="text" class="form-control" name="subnet6" value="" placeholder="fd00:dead:baba:1::/64" required pattern="[0-9a-fA-F:\/]+">
|
|
</div>
|
|
</div>
|
|
<div class="row ipv6_group">
|
|
<label for="net_dhcp6" class="col-sm-4 col-form-label">{% trans "DHCPv6" %}</label>
|
|
<div class="col-sm-6">
|
|
<input id="net_dhcp6" type="checkbox" name="dhcp6" value="true">
|
|
</div>
|
|
</div>
|
|
<div class="row bridge_name_form_group">
|
|
<label for="bridge_name" class="col-sm-4 col-form-label" id="bridge_label">{% trans "Bridge Name" %}</label>
|
|
<div class="col-sm-6">
|
|
<input type="text" class="form-control" name="bridge_name" id="bridge_name" placeholder="br0" pattern="[a-z0-9\-_:]+">
|
|
</div>
|
|
</div>
|
|
<div class="row bridge_name_form_group openvswitch">
|
|
<label for="net_openvswitch" class="col-sm-4 col-form-label">{% trans "Open vSwitch" %}</label>
|
|
<div class="col-sm-6">
|
|
<input id="net_openvswitch" type="checkbox" name="openvswitch" value="true">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{% trans "Close" %}</button>
|
|
<button type="submit" class="btn btn-primary" name="create">{% trans "Create" %}</button>
|
|
</div>
|
|
</form>
|
|
</div> <!-- /.modal-content -->
|
|
</div> <!-- /.modal-dialog -->
|
|
</div> <!-- /.modal -->
|
|
{% endif %}
|
|
|