blob: 300b50ff18c110b5c44de2f7ea0611d34e220859 [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 Tsengc4f90a52020-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 Tsengc4f90a52020-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 Tsengc4f90a52020-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 Tsengc4f90a52020-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 Tsengc4f90a52020-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>
Yi Tsengd14f1a32020-10-13 19:15:12 -070049 <label>
50 Telemetry Mode
51 <select name="telemetryMode" ng-model="telemetryMode">
52 <option selected value="POSTCARD">Postcard (INT-XD)</option>
53 <option value="INBAND_TELEMETRY">Embedded Data (INT-MD)</option>
54 </select>
55 </label>
Carmelo Casconefa421582018-09-13 10:05:57 -070056 </div>
57 <div>
58 <label>
59 <input type="checkbox" ng-model="metaSwId">
60 Switch ID
61 </label>
62 <label>
63 <input type="checkbox" ng-model="metaPortId">
64 Port IDs
65 </label>
66 <label>
67 <input type="checkbox" ng-model="metaHopLatency">
68 Hop Latency
69 </label>
70 <label>
71 <input type="checkbox" ng-model="metaQOccupancy">
72 Queue Occupancy
73 </label>
74 <label>
75 <input type="checkbox" ng-model="metaIngressTstamp">
76 Ingress Timestamp
77 </label>
78 <label>
79 <input type="checkbox" ng-model="metaEgressTstamp">
80 Egress Timestamp
81 </label>
82 <label>
Carmelo Casconefa421582018-09-13 10:05:57 -070083 <input type="checkbox" ng-model="metaEgressTx">
84 Egress Port Tx Utilization
85 </label>
86 </div>
87 </div>
88 </div>
89
90 <div class="button-panel">
91 <div class="int-app-button" ng-click="sendIntIntentString()">
92 Apply Watchlist Rule
93 </div>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +090094 </div>
Yi Tsengc4f90a52020-10-04 22:33:22 -070095 <div>
96 <p class="int-intent-add-msg">
97 {{intAddMsg}}
98 </p>
99 </div>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +0900100 </div>
101 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
102 <div class='int-app-main-intents'>
103 <div class="tabular-header">
Carmelo Casconefa421582018-09-13 10:05:57 -0700104 <h2>Installed Watchlist Rules ({{tableData.length}} total)</h2>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +0900105 <div class="ctrl-btns">
106 <div class="refresh" ng-class="{active: autoRefresh}"
107 icon icon-id="refresh" icon-size="36"
108 tooltip tt-msg="autoRefreshTip"
109 ng-click="toggleRefresh()">
110 </div>
111
112 <!-- tooltip tt-msg="uninstallTip" -->
113 <div icon icon-size="42" icon-id="garbage"
114 ng-click="delIntIntent()"
115 ng-class="{active: ctrlBtnState.selection}">
116 </div>
117 </div>
118 </div>
119
120 <div class="summary-list" onos-table-resize>
121
122 <div class="table-header" onos-sortable-header>
123 <table>
124 <tr>
Carmelo Casconefa421582018-09-13 10:05:57 -0700125 <td colId="id" sortable>ID</td>
126 <td colId="srcAddr" sortable>Src Address</td>
127 <td colId="dstAddr" sortable>Dst Address</td>
128 <td colId="srcPort" sortable>Src Port</td>
129 <td colId="dstPort" sortable>Dst Port</td>
130 <td colId="protocol" sortable>Protocol</td>
131 <td colId="metadata" sortable>Metadata</td>
Yi Tsengd14f1a32020-10-13 19:15:12 -0700132 <td colId="telemetryMode" sortable>Telemetry Mode</td>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +0900133 </tr>
134 </table>
135 </div>
136
137 <div class="table-body">
138 <table>
139 <tr ng-repeat="item in tableData track by $index"
140 ng-click="selectCallback($event, item)"
141 ng-class="{selected: item.id === selId}">
142 <td>{{item.id}}</td>
143 <td>{{item.srcAddr}}</td>
144 <td>{{item.dstAddr}}</td>
145 <td>{{item.srcPort}}</td>
146 <td>{{item.dstPort}}</td>
147 <td>{{item.protocol}}</td>
148 <td>{{item.metadata}}</td>
Yi Tsengd14f1a32020-10-13 19:15:12 -0700149 <td>{{item.telemetryMode}}</td>
Jonghwan Hyun13a430d2018-07-22 17:02:51 +0900150 </tr>
151 </table>
152 </div>
153
154 </div>
155 </div>
156</div>
157<!-- +++++++++++++++++++++ -->