1*84981f0aSGunnar 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
44cb2c3060SGunnar Mills						<!-- TODO: openbmc/openbmc#3154 Rest server should return a proper JSON bool instead of "0" or "1"-->
45cb2c3060SGunnar Mills						<input type="radio" name="ip-address" id="dhcp-address" ng-checked="true" ng-model="interface.DHCPEnabled" ng-value="1">
46a960c8c7SMichael Davis						<span class="control__indicator control__indicator-on"></span>
47a960c8c7SMichael Davis					</label>
48a960c8c7SMichael Davis				</div>
49a960c8c7SMichael Davis				<div class="row column">
50a960c8c7SMichael Davis					<label class="control-radio" for="static-ip-address">Assign a static IP address
51cb2c3060SGunnar Mills						<input type="radio" name="ip-address" id="static-ip-address" ng-model="interface.DHCPEnabled" ng-value="0"/>
52a960c8c7SMichael Davis						<span class="control__indicator control__indicator-on"></span>
53a960c8c7SMichael Davis					</label>
54a960c8c7SMichael Davis				</div>
552a489554SIftekharul Islam				<fieldset class="net-config__static-ip-wrap" ng-repeat="ipv4 in interface.ipv4.values">
5651946552SMichael Davis					<div class="column small-12 large-4">
57a960c8c7SMichael Davis						<label for="net-config__ipv4-address" class="inline">IPV4 address</label>
582a489554SIftekharul Islam						<input id="net-config__ipv4-address" type="text" ng-disabled="interface.DHCPEnabled" ng-model="ipv4.Address"/>
59a960c8c7SMichael Davis					</div>
6051946552SMichael Davis					<div class="column small-12 large-4">
612a489554SIftekharul Islam						<label for="net-config__subnet" class="inline">Gateway</label>
622a489554SIftekharul Islam						<input id="net-config__subnet" type="text" ng-disabled="interface.DHCPEnabled" value="" ng-model="ipv4.Gateway"/>
63a960c8c7SMichael Davis					</div>
6451946552SMichael Davis					<div class="column small-12 large-4">
6547db9cb3SGunnar Mills						<label for="net-config__default-gateway" class="inline">Netmask Prefix Length</label>
6647db9cb3SGunnar Mills						<input id="net-config__default-gateway" type="text" 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>
7651946552SMichael Davis				<div class="column small-12 large-4">
772a489554SIftekharul Islam					<ul>
782a489554SIftekharul Islam						<li ng-repeat="dns in interface.Nameservers track by $index">
792a489554SIftekharul Islam							<label for="net-config__prime-dns">DNS Server {{$index+1}}</label>{{dns}}
802a489554SIftekharul Islam							<br/>
812a489554SIftekharul Islam						</li>
822a489554SIftekharul Islam					</ul>
8351946552SMichael Davis				</div>
8451946552SMichael Davis			</fieldset>
8551946552SMichael Davis			<div class="network-config__submit-wrapper">
86d01504cfSGunnar Mills				<button type="button" class="btn-primary inline" ng-click="confirm_settings=true;">Save settings</button>
879a0094dcSGunnar Mills				<button type="button" class="btn-secondary inline" ng-click="refresh()">Cancel</button>
88a960c8c7SMichael Davis			</div>
897ddc7274SGunnar Mills			<p class="success-msg set_network_success" ng-show="set_network_success" role="alert">Success! Network settings changed!</p>
907ddc7274SGunnar Mills			<p class="set_network_error error-msg" ng-show="set_network_error" role="alert">Error setting {{set_network_error}}!</p>
91a960c8c7SMichael Davis		</section>
92a960c8c7SMichael Davis	</form>
93cd789508SIftekharul Islam</div>
94d01504cfSGunnar Mills<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': confirm_settings}">
95d01504cfSGunnar Mills	<div class="modal__tftp-unreachable" role="document">
96d01504cfSGunnar Mills		<div class="screen-reader-offscreen modal-description">Change network settings</div><!-- accessibility only; used for screen readers -->
97d01504cfSGunnar Mills		<div class="page-header ">
98d01504cfSGunnar Mills			<span class="icon icon__warning inline"><span class="accessible-text" role="alert">Warning</span></span>
99d01504cfSGunnar Mills			<h1 class="modal-title h4 inline">Change network settings</h1>
100d01504cfSGunnar Mills		</div>
101d01504cfSGunnar Mills		<div class="modal__content">
102d01504cfSGunnar Mills			<p>Changing network settings may cause the system to become unavailable (e.g. changing the BMC IP address).
103d01504cfSGunnar Mills				Proceed with caution and make note of any new settings that may affect connectivity.</p>
104d01504cfSGunnar Mills		</div>
105d01504cfSGunnar Mills		<div class="modal__button-wrapper">
106d01504cfSGunnar Mills			<button class="inline btn-secondary" ng-click="confirm_settings=false;">Cancel</button>
107d01504cfSGunnar Mills			<button class="inline btn-primary" ng-click="setNetworkSettings()">Continue</button>
108d01504cfSGunnar Mills		</div>
109d01504cfSGunnar Mills	</div>
110d01504cfSGunnar Mills</section>
111