blob: a2d3b88af938c5ebe2d7a721943dd52816a10e0f [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>
Carmelo Casconefa421582018-09-13 10:05:57 -070012 INT Watchlist Rules
13 </h2>
14
15 <div>
16 <div class="input-panel">
17 <h3>
18 Create New Watchlist Rule
19 </h3>
20 <div>
21 <label>
Yi Tseng930b0cd2020-10-04 22:33:22 -070022 <input placeholder="Source IP prefix" type="text"
23 pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}(\/[0-9]{1,2})?$"
Carmelo Casconefa421582018-09-13 10:05:57 -070024 ng-model="ip4SrcPrefix">
25 </label>
26 <label>
Yi Tseng930b0cd2020-10-04 22:33:22 -070027 <input placeholder="Dest IP prefix" type="text"
28 pattern="^([0-9]{1,3}\.){3}[0-9]{1,3}(\/[0-9]{1,2})?$"
Carmelo Casconefa421582018-09-13 10:05:57 -070029 ng-model="ip4DstPrefix">
30 </label>
31 <label>
Yi Tseng930b0cd2020-10-04 22:33:22 -070032 <input placeholder="Source port" type="text"
Carmelo Casconefa421582018-09-13 10:05:57 -070033 pattern="^[0-9]{0,5}$"
34 ng-model="l4SrcPort">
35 </label>
36 <label>
Yi Tseng930b0cd2020-10-04 22:33:22 -070037 <input placeholder="Destination port" type="text"
Carmelo Casconefa421582018-09-13 10:05:57 -070038 pattern="^[0-9]{0,5}$"
39 ng-model="l4DstPort">
40 </label>
41 <label>
42 Protocol
43 <select name="protocol" ng-model="protocol">
Yi Tseng930b0cd2020-10-04 22:33:22 -070044 <option value=""></option>
Carmelo Casconefa421582018-09-13 10:05:57 -070045 <option value="TCP">TCP</option>
46 <option value="UDP">UDP</option>
47 </select>
48 </label>
49 </div>
50 <div>
51 <label>
52 <input type="checkbox" ng-model="metaSwId">
53 Switch ID
54 </label>
55 <label>
56 <input type="checkbox" ng-model="metaPortId">
57 Port IDs
58 </label>
59 <label>
60 <input type="checkbox" ng-model="metaHopLatency">
61 Hop Latency
62 </label>
63 <label>
64 <input type="checkbox" ng-model="metaQOccupancy">
65 Queue Occupancy
66 </label>
67 <label>
68 <input type="checkbox" ng-model="metaIngressTstamp">
69 Ingress Timestamp
70 </label>
71 <label>
72 <input type="checkbox" ng-model="metaEgressTstamp">
73 Egress Timestamp
74 </label>
75 <label>
Carmelo Casconefa421582018-09-13 10:05:57 -070076 <input type="checkbox" ng-model="metaEgressTx">
77 Egress Port Tx Utilization
78 </label>
79 </div>
80 </div>
81 </div>
82
83 <div class="button-panel">
84 <div class="int-app-button" ng-click="sendIntIntentString()">
85 Apply Watchlist Rule
86 </div>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +090087 </div>
Yi Tseng930b0cd2020-10-04 22:33:22 -070088 <div>
89 <p class="int-intent-add-msg">
90 {{intAddMsg}}
91 </p>
92 </div>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +090093 </div>
94 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
95 <div class='int-app-main-intents'>
96 <div class="tabular-header">
Carmelo Casconefa421582018-09-13 10:05:57 -070097 <h2>Installed Watchlist Rules ({{tableData.length}} total)</h2>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +090098 <div class="ctrl-btns">
99 <div class="refresh" ng-class="{active: autoRefresh}"
100 icon icon-id="refresh" icon-size="36"
101 tooltip tt-msg="autoRefreshTip"
102 ng-click="toggleRefresh()">
103 </div>
104
105 <!-- tooltip tt-msg="uninstallTip" -->
106 <div icon icon-size="42" icon-id="garbage"
107 ng-click="delIntIntent()"
108 ng-class="{active: ctrlBtnState.selection}">
109 </div>
110 </div>
111 </div>
112
113 <div class="summary-list" onos-table-resize>
114
115 <div class="table-header" onos-sortable-header>
116 <table>
117 <tr>
Carmelo Casconefa421582018-09-13 10:05:57 -0700118 <td colId="id" sortable>ID</td>
119 <td colId="srcAddr" sortable>Src Address</td>
120 <td colId="dstAddr" sortable>Dst Address</td>
121 <td colId="srcPort" sortable>Src Port</td>
122 <td colId="dstPort" sortable>Dst Port</td>
123 <td colId="protocol" sortable>Protocol</td>
124 <td colId="metadata" sortable>Metadata</td>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +0900125 </tr>
126 </table>
127 </div>
128
129 <div class="table-body">
130 <table>
131 <tr ng-repeat="item in tableData track by $index"
132 ng-click="selectCallback($event, item)"
133 ng-class="{selected: item.id === selId}">
134 <td>{{item.id}}</td>
135 <td>{{item.srcAddr}}</td>
136 <td>{{item.dstAddr}}</td>
137 <td>{{item.srcPort}}</td>
138 <td>{{item.dstPort}}</td>
139 <td>{{item.protocol}}</td>
140 <td>{{item.metadata}}</td>
141 </tr>
142 </table>
143 </div>
144
145 </div>
146 </div>
147</div>
148<!-- +++++++++++++++++++++ -->