blob: 7b691687e936cf4d284203f7188b52956e62d8da [file] [log] [blame]
Jonghwan Hyun13a430d2018-07-22 17:02:51 +09001<!-- partial HTML -->
2<div id="ov-int-app-main">
Carmelo Casconefa421582018-09-13 10:05:57 -07003 <div class="tabular-header">
4 <h2 style="font-weight: bold">In-band Network Telemetry (INT) Control
5 Application</h2>
6 </div>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +09007
Jonghwan Hyun13a430d2018-07-22 17:02:51 +09008 <hr>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +09009
Carmelo Casconefa421582018-09-13 10:05:57 -070010 <div class="tabular-header">
11 <h2>
12 INT Collector Configuration
13 </h2>
14 <div class="config-panel">
15 <h3>
16 Collector IPv4 address and UDP port
17 </h3>
18 <div>
19 <input type="text" required
20 pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}$"
21 ng-model="collectorIp" placeholder="IPv4 address">
22 :
23 <input type="text" required pattern="^[0-9]{0,5}$"
24 ng-model="collectorPort" placeholder="port">
25 </div>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +090026 </div>
Carmelo Casconefa421582018-09-13 10:05:57 -070027 <div class="config-button-panel">
28 <div class="int-app-config-button" ng-click="sendIntConfigString()">
29 Apply Configuration
30 </div>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +090031 </div>
32 </div>
33
Carmelo Casconefa421582018-09-13 10:05:57 -070034 <hr>
35
36 <div class="tabular-header">
37 <h2>
38 INT Watchlist Rules
39 </h2>
40
41 <div>
42 <div class="input-panel">
43 <h3>
44 Create New Watchlist Rule
45 </h3>
46 <div>
47 <label>
48 <input placeholder="Source IP address" type="text"
49 required
50 pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?$"
51 ng-model="ip4SrcPrefix">
52 </label>
53 <label>
54 <input placeholder="Dest IP address" type="text"
55 required
56 pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}(/[0-9]{1,2})?$"
57 ng-model="ip4DstPrefix">
58 </label>
59 <label>
60 <input placeholder="Source port" type="text" required
61 pattern="^[0-9]{0,5}$"
62 ng-model="l4SrcPort">
63 </label>
64 <label>
65 <input placeholder="Dest port" type="text" required
66 pattern="^[0-9]{0,5}$"
67 ng-model="l4DstPort">
68 </label>
69 <label>
70 Protocol
71 <select name="protocol" ng-model="protocol">
72 <option selected disabled hidden
73 style="display: none" value=''></option>
74 <option value="TCP">TCP</option>
75 <option value="UDP">UDP</option>
76 </select>
77 </label>
78 </div>
79 <div>
80 <label>
81 <input type="checkbox" ng-model="metaSwId">
82 Switch ID
83 </label>
84 <label>
85 <input type="checkbox" ng-model="metaPortId">
86 Port IDs
87 </label>
88 <label>
89 <input type="checkbox" ng-model="metaHopLatency">
90 Hop Latency
91 </label>
92 <label>
93 <input type="checkbox" ng-model="metaQOccupancy">
94 Queue Occupancy
95 </label>
96 <label>
97 <input type="checkbox" ng-model="metaIngressTstamp">
98 Ingress Timestamp
99 </label>
100 <label>
101 <input type="checkbox" ng-model="metaEgressTstamp">
102 Egress Timestamp
103 </label>
104 <label>
Carmelo Casconefa421582018-09-13 10:05:57 -0700105 <input type="checkbox" ng-model="metaEgressTx">
106 Egress Port Tx Utilization
107 </label>
108 </div>
109 </div>
110 </div>
111
112 <div class="button-panel">
113 <div class="int-app-button" ng-click="sendIntIntentString()">
114 Apply Watchlist Rule
115 </div>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +0900116 </div>
117 </div>
118 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
119 <div class='int-app-main-intents'>
120 <div class="tabular-header">
Carmelo Casconefa421582018-09-13 10:05:57 -0700121 <h2>Installed Watchlist Rules ({{tableData.length}} total)</h2>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +0900122 <div class="ctrl-btns">
123 <div class="refresh" ng-class="{active: autoRefresh}"
124 icon icon-id="refresh" icon-size="36"
125 tooltip tt-msg="autoRefreshTip"
126 ng-click="toggleRefresh()">
127 </div>
128
129 <!-- tooltip tt-msg="uninstallTip" -->
130 <div icon icon-size="42" icon-id="garbage"
131 ng-click="delIntIntent()"
132 ng-class="{active: ctrlBtnState.selection}">
133 </div>
134 </div>
135 </div>
136
137 <div class="summary-list" onos-table-resize>
138
139 <div class="table-header" onos-sortable-header>
140 <table>
141 <tr>
Carmelo Casconefa421582018-09-13 10:05:57 -0700142 <td colId="id" sortable>ID</td>
143 <td colId="srcAddr" sortable>Src Address</td>
144 <td colId="dstAddr" sortable>Dst Address</td>
145 <td colId="srcPort" sortable>Src Port</td>
146 <td colId="dstPort" sortable>Dst Port</td>
147 <td colId="protocol" sortable>Protocol</td>
148 <td colId="metadata" sortable>Metadata</td>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +0900149 </tr>
150 </table>
151 </div>
152
153 <div class="table-body">
154 <table>
155 <tr ng-repeat="item in tableData track by $index"
156 ng-click="selectCallback($event, item)"
157 ng-class="{selected: item.id === selId}">
158 <td>{{item.id}}</td>
159 <td>{{item.srcAddr}}</td>
160 <td>{{item.dstAddr}}</td>
161 <td>{{item.srcPort}}</td>
162 <td>{{item.dstPort}}</td>
163 <td>{{item.protocol}}</td>
164 <td>{{item.metadata}}</td>
165 </tr>
166 </table>
167 </div>
168
169 </div>
170 </div>
171</div>
172<!-- +++++++++++++++++++++ -->