184981f0aSGunnar Mills<loader loading="loading"></loader>
2cd789508SIftekharul Islam<div id="configuration-network">
3cd789508SIftekharul Islam	<div class="row column">
451946552SMichael Davis		<h1>BMC network settings</h1>
5cd789508SIftekharul Islam	</div>
6a960c8c7SMichael Davis	<form class="net-config__form" role="form" action="">
7a960c8c7SMichael Davis		<section class="row column">
8a960c8c7SMichael Davis			<div class="column small-12 page-header">
9a960c8c7SMichael Davis				<h2 class="inline h4">Common settings</h2>
10a960c8c7SMichael Davis			</div>
11a960c8c7SMichael Davis			<fieldset>
1251946552SMichael Davis				<div class="column small-12 large-3">
132a489554SIftekharul Islam					<label for="net-config__mac">Hostname</label>
14309e06abSGunnar Mills					<input id="net-config__mac" type="text" ng-model="hostname"/>
152a489554SIftekharul Islam				</div>
162a489554SIftekharul Islam				<div class="column small-12 large-3">
1751946552SMichael Davis					<label for="netinterface-select">Network interface</label>
18a960c8c7SMichael Davis					<div id="netinterface-select" class="dropdown__wrapper">
192a489554SIftekharul Islam						<button type="button" class="dropdown__button" ng-click="networkDevice = !networkDevice">{{selectedInterface}}</button>
20a960c8c7SMichael Davis						<ul class="dropdown__list inline" ng-show="networkDevice">
212a489554SIftekharul Islam							<li ng-repeat="interface_id in network.interface_ids">
222a489554SIftekharul Islam								<button type="button" ng-click="selectInterface(interface_id);">{{interface_id}}</button>
23a960c8c7SMichael Davis							</li>
24a960c8c7SMichael Davis						</ul>
25a960c8c7SMichael Davis					</div>
26a960c8c7SMichael Davis				</div>
2751946552SMichael Davis				<div class="column small-12 large-3">
282a489554SIftekharul Islam					<label for="net-config__host">MAC address</label>
292a489554SIftekharul Islam					<input id="net-config__host" type="text" ng-model="interface.MACAddress"/>
30a960c8c7SMichael Davis				</div>
3151946552SMichael Davis				<div class="column small-12 large-3">
32e9f5fe77SGunnar Mills					<label for="net-config__domain">Default Gateway</label>
33e9f5fe77SGunnar Mills					<input id="net-config__domain" type="text" ng-model="defaultgateway"/>
34a960c8c7SMichael Davis				</div>
35a960c8c7SMichael Davis			</fieldset>
36a960c8c7SMichael Davis		</section>
37a960c8c7SMichael Davis		<section class="row column">
3851946552SMichael Davis			<div class="column small-12 page-header">
39a960c8c7SMichael Davis				<h2 class="inline h4">IPV4 settings</h2>
40a960c8c7SMichael Davis			</div>
41a960c8c7SMichael Davis			<fieldset>
42a960c8c7SMichael Davis				<div class="row column">
43a960c8c7SMichael Davis					<label class="control-radio" for="dhcp-address">Obtain an IP address automatically using DHCP
44e364faa0SGunnar Mills						<input type="radio" name="ip-address" id="dhcp-address" ng-checked="true" ng-model="interface.DHCPEnabled" ng-value="true">
45a960c8c7SMichael Davis						<span class="control__indicator control__indicator-on"></span>
46a960c8c7SMichael Davis					</label>
47a960c8c7SMichael Davis				</div>
48a960c8c7SMichael Davis				<div class="row column">
49a960c8c7SMichael Davis					<label class="control-radio" for="static-ip-address">Assign a static IP address
50e364faa0SGunnar Mills						<input type="radio" name="ip-address" id="static-ip-address" ng-model="interface.DHCPEnabled" ng-value="false"/>
51a960c8c7SMichael Davis						<span class="control__indicator control__indicator-on"></span>
52a960c8c7SMichael Davis					</label>
53a960c8c7SMichael Davis				</div>
542a489554SIftekharul Islam				<fieldset class="net-config__static-ip-wrap" ng-repeat="ipv4 in interface.ipv4.values">
5551946552SMichael Davis					<div class="column small-12 large-4">
56a960c8c7SMichael Davis						<label for="net-config__ipv4-address" class="inline">IPV4 address</label>
572a489554SIftekharul Islam						<input id="net-config__ipv4-address" type="text" ng-disabled="interface.DHCPEnabled" ng-model="ipv4.Address"/>
58a960c8c7SMichael Davis					</div>
5951946552SMichael Davis					<div class="column small-12 large-4">
602a489554SIftekharul Islam						<label for="net-config__subnet" class="inline">Gateway</label>
612a489554SIftekharul Islam						<input id="net-config__subnet" type="text" ng-disabled="interface.DHCPEnabled" value="" ng-model="ipv4.Gateway"/>
62a960c8c7SMichael Davis					</div>
636549114eSGunnar Mills					<!-- This netmask prefix length max only works with IPV4 -->
6451946552SMichael Davis					<div class="column small-12 large-4">
6547db9cb3SGunnar Mills						<label for="net-config__default-gateway" class="inline">Netmask Prefix Length</label>
666549114eSGunnar Mills						<input id="net-config__default-gateway" type="number" min="1" max="32" step="1" ng-disabled="interface.DHCPEnabled"  ng-model="ipv4.PrefixLength"/>
67a960c8c7SMichael Davis					</div>
68a960c8c7SMichael Davis				</fieldset>
69a960c8c7SMichael Davis			</fieldset>
7051946552SMichael Davis		</section>
7151946552SMichael Davis		<section class="row column">
7251946552SMichael Davis			<div class="column small-12 page-header">
7351946552SMichael Davis				<h2 class="inline h4">DNS settings</h2>
7451946552SMichael Davis			</div>
7551946552SMichael Davis			<fieldset>
760646782dSGunnar Mills				<!-- Call Nameservers "DNS Servers" on the GUI -->
770646782dSGunnar Mills				<fieldset class="net-config__static-ip-wrap" ng-repeat="dns in interface.Nameservers track by $index">
78*cff61508Sbeccabroek					<div class="column small-12">
79bc3ab72cSGunnar Mills						<label for="net-config__prime-dns{{$index+1}}">DNS Server {{$index+1}}</label>
80*cff61508Sbeccabroek						<input id="net-config__prime-dns{{$index+1}}" class="network-input column small-6 large-4 inline" type="text" ng-model="dns" ng-blur="interface.Nameservers[$index] = dns" set-focus-on-new-input//>
81*cff61508Sbeccabroek						<button class="dns__server-remove inline" ng-click="removeDNSField($index)">Remove</button>
82*cff61508Sbeccabroek					</div>
830646782dSGunnar Mills				</fieldset>
84*cff61508Sbeccabroek				<div class="column small-12">
85*cff61508Sbeccabroek					<button type="button" class="btn-primary inline dns_add" ng-click="addDNSField()">Add new DNS server</button>
8651946552SMichael Davis				</div>
8751946552SMichael Davis			</fieldset>
8851946552SMichael Davis			<div class="network-config__submit-wrapper">
89d01504cfSGunnar Mills				<button type="button" class="btn-primary inline" ng-click="confirm_settings=true;">Save settings</button>
909a0094dcSGunnar Mills				<button type="button" class="btn-secondary inline" ng-click="refresh()">Cancel</button>
91a960c8c7SMichael Davis			</div>
927ddc7274SGunnar Mills			<p class="success-msg set_network_success" ng-show="set_network_success" role="alert">Success! Network settings changed!</p>
937ddc7274SGunnar Mills			<p class="set_network_error error-msg" ng-show="set_network_error" role="alert">Error setting {{set_network_error}}!</p>
94a960c8c7SMichael Davis		</section>
95a960c8c7SMichael Davis	</form>
96cd789508SIftekharul Islam</div>
97d01504cfSGunnar Mills<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': confirm_settings}">
98d01504cfSGunnar Mills	<div class="modal__tftp-unreachable" role="document">
99d01504cfSGunnar Mills		<div class="screen-reader-offscreen modal-description">Change network settings</div><!-- accessibility only; used for screen readers -->
100d01504cfSGunnar Mills		<div class="page-header ">
101d01504cfSGunnar Mills			<span class="icon icon__warning inline"><span class="accessible-text" role="alert">Warning</span></span>
102d01504cfSGunnar Mills			<h1 class="modal-title h4 inline">Change network settings</h1>
103d01504cfSGunnar Mills		</div>
104d01504cfSGunnar Mills		<div class="modal__content">
105d01504cfSGunnar Mills			<p>Changing network settings may cause the system to become unavailable (e.g. changing the BMC IP address).
106d01504cfSGunnar Mills				Proceed with caution and make note of any new settings that may affect connectivity.</p>
107d01504cfSGunnar Mills		</div>
108d01504cfSGunnar Mills		<div class="modal__button-wrapper">
109d01504cfSGunnar Mills			<button class="inline btn-secondary" ng-click="confirm_settings=false;">Cancel</button>
110d01504cfSGunnar Mills			<button class="inline btn-primary" ng-click="setNetworkSettings()">Continue</button>
111d01504cfSGunnar Mills		</div>
112d01504cfSGunnar Mills	</div>
113d01504cfSGunnar Mills</section>
114