summaryrefslogtreecommitdiffstats
path: root/doc/book-enea-edge-example-usecases/doc/clav_vnf_examples.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/book-enea-edge-example-usecases/doc/clav_vnf_examples.xml')
-rw-r--r--doc/book-enea-edge-example-usecases/doc/clav_vnf_examples.xml418
1 files changed, 418 insertions, 0 deletions
diff --git a/doc/book-enea-edge-example-usecases/doc/clav_vnf_examples.xml b/doc/book-enea-edge-example-usecases/doc/clav_vnf_examples.xml
new file mode 100644
index 0000000..80755c2
--- /dev/null
+++ b/doc/book-enea-edge-example-usecases/doc/clav_vnf_examples.xml
@@ -0,0 +1,418 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<chapter id="clav_vnf_example">
3 <title>Clavister VNF Example Use-cases</title>
4
5 <para>The Clavister VNF is a telco-ready, carrier-grade virtual next
6 generation firewall.</para>
7
8 <section id="clav_vnf">
9 <title>Clavister VNF using an Open vSwitch Bridge</title>
10
11 <para>In this use-case, uCPE device 1 runs the Clavister VNF, while uCPE
12 device 2 runs two Enea Test VNFs with iPerf client and server
13 applications. The uCPE devices are connected using OVS-DPDK
14 bridges.</para>
15
16 <section id="prere_clav_vnf">
17 <title>Prerequisites</title>
18
19 <para>Two uCPE devices will be required for this setup. The system
20 requirements for each uCPE device are:</para>
21
22 <itemizedlist>
23 <listitem>
24 <para>1 Network Interface</para>
25 </listitem>
26
27 <listitem>
28 <para>2 GB of RAM memory</para>
29 </listitem>
30 </itemizedlist>
31
32 <para>The following files are needed for this example use-case:</para>
33
34 <itemizedlist>
35 <listitem>
36 <para>Enea Test VNF image. Please contact Enea to get this
37 image.</para>
38 </listitem>
39
40 <listitem>
41 <para>Clavister VNF image. Please contact Clavister to get this
42 image.</para>
43 </listitem>
44
45 <listitem>
46 <para>VNF Configuration files. These files are provided with your
47 Enea Edge release:</para>
48
49 <itemizedlist spacing="compact">
50 <listitem>
51 <para><filename>clavister-cloudinit.conf</filename>.</para>
52 </listitem>
53
54 <listitem>
55 <para><filename>enea-vnf-iperf-client.conf</filename>.</para>
56 </listitem>
57
58 <listitem>
59 <para><filename>enea-vnf-iperf-server.conf</filename>.</para>
60 </listitem>
61 </itemizedlist>
62 </listitem>
63 </itemizedlist>
64 </section>
65
66 <section id="clav_vnf_setup_1">
67 <title>Use-case Setup</title>
68
69 <para>In this use-case, uCPE device 1 runs the Clavister VNF, while uCPE
70 device 2 runs two Enea Test VNFs with iPerf client and server
71 applications. The uCPE devices are connected using OVS-DPDK
72 bridges.</para>
73
74 <figure>
75 <title>Clavister VNF using an Open vSwitch bridge</title>
76
77 <mediaobject>
78 <imageobject>
79 <imagedata align="center" contentwidth="600"
80 fileref="images/uc_clavister_bridge.png" />
81 </imageobject>
82 </mediaobject>
83 </figure>
84
85 <note>
86 <para>When connecting, the uCPE devices can use a back-to-back or a
87 VPN connection. An appropriate interface with the required
88 capabilities needs to be chosen for this purpose.</para>
89 </note>
90
91 <para><emphasis role="bold">Network Configuration:</emphasis></para>
92
93 <orderedlist>
94 <listitem>
95 <para>Select uCPE device 1, access <literal>Configuration</literal>,
96 add the network interface that will be used and configure it for
97 DPDK.</para>
98 </listitem>
99
100 <listitem>
101 <para>Create an OVS bridge and attach the DPDK network
102 interface.</para>
103 </listitem>
104
105 <listitem>
106 <para>Repeat the steps above for uCPE device 2.</para>
107 </listitem>
108 </orderedlist>
109
110 <para><emphasis role="bold">Onboarding the VNFs:</emphasis></para>
111
112 <orderedlist>
113 <listitem>
114 <para>Onboard the Clavister VNF by filling the required fields with
115 the following values:</para>
116
117 <itemizedlist spacing="compact">
118 <listitem>
119 <para><emphasis role="bold">VM Image File</emphasis>: Provide
120 the path to the Clavister VNF qcow2 image</para>
121 </listitem>
122
123 <listitem>
124 <para><emphasis role="bold">Memory in MB</emphasis>: 1024</para>
125 </listitem>
126
127 <listitem>
128 <para><emphasis role="bold">Num of CPUs</emphasis>: 4</para>
129 </listitem>
130
131 <listitem>
132 <para><emphasis role="bold">Storage in GB</emphasis>: 20</para>
133 </listitem>
134
135 <listitem>
136 <para><emphasis role="bold">Interfaces</emphasis>: Add 2
137 interfaces</para>
138 </listitem>
139
140 <listitem>
141 <para><emphasis role="bold">Cloud-init Datasource</emphasis>:
142 ConfigDrive</para>
143 </listitem>
144
145 <listitem>
146 <para><emphasis role="bold">Cloud-init Disk Type</emphasis>:
147 disk</para>
148 </listitem>
149 </itemizedlist>
150 </listitem>
151
152 <listitem>
153 <para>Onboard the Enea Test VNF by filling the required fields with
154 the following values: <itemizedlist spacing="compact">
155 <listitem>
156 <para><emphasis role="bold">VM Image File</emphasis>: Provide
157 the path to the Enea Test VNF qcow2 image</para>
158 </listitem>
159
160 <listitem>
161 <para><emphasis role="bold">Memory in MB</emphasis>:
162 2048</para>
163 </listitem>
164
165 <listitem>
166 <para><emphasis role="bold">Num of CPUs</emphasis>: 2</para>
167 </listitem>
168
169 <listitem>
170 <para><emphasis role="bold">Storage in GB</emphasis>:
171 10</para>
172 </listitem>
173
174 <listitem>
175 <para><emphasis role="bold">Interfaces</emphasis>: Add 1
176 interface</para>
177 </listitem>
178
179 <listitem>
180 <para><emphasis role="bold">Cloud-init Datasource</emphasis>:
181 NoCloud</para>
182 </listitem>
183
184 <listitem>
185 <para><emphasis role="bold">Cloud-init Disk Type</emphasis>:
186 disk</para>
187 </listitem>
188 </itemizedlist></para>
189 </listitem>
190 </orderedlist>
191
192 <para><emphasis role="bold">Instantiating the VNFs:</emphasis></para>
193
194 <para><orderedlist>
195 <listitem>
196 <para>Instantiate the Clavister VNF on uCPE device 1 using the
197 required fields below:</para>
198
199 <itemizedlist spacing="compact">
200 <listitem>
201 <para><emphasis role="bold">Name</emphasis>: clavister</para>
202 </listitem>
203
204 <listitem>
205 <para><emphasis role="bold">VNF Type</emphasis>: Select
206 Clavister VNF</para>
207 </listitem>
208
209 <listitem>
210 <para><emphasis role="bold">uCPE Device</emphasis>: Select
211 uCPE device 1</para>
212 </listitem>
213
214 <listitem>
215 <para><emphasis role="bold">Cloud Init File</emphasis>:
216 Provide the path to the Clavister cloud-init file.</para>
217 </listitem>
218
219 <listitem>
220 <para><emphasis role="bold">Interfaces</emphasis>: Set the
221 interface type to <literal>DPDK</literal> and select the OVS
222 bridge created above, for both interfaces.</para>
223 </listitem>
224 </itemizedlist>
225 </listitem>
226
227 <listitem>
228 <para>Instantiate the Enea iPerf server VNF on uCPE device 2 by
229 filling the required fields with the values below:</para>
230
231 <itemizedlist spacing="compact">
232 <listitem>
233 <para><emphasis role="bold">Name</emphasis>:
234 iperf_server</para>
235 </listitem>
236
237 <listitem>
238 <para><emphasis role="bold">VNF Type</emphasis>: Select Enea
239 Test VNF</para>
240 </listitem>
241
242 <listitem>
243 <para><emphasis role="bold">uCPE Device</emphasis>: Select
244 uCPE device 2</para>
245 </listitem>
246
247 <listitem>
248 <para><emphasis role="bold">Cloud Init File</emphasis>:
249 Provide the path to the Enea VNF IPerf server cloud-init
250 file.</para>
251 </listitem>
252
253 <listitem>
254 <para><emphasis role="bold">Interfaces</emphasis>: Set the
255 interface type to <literal>DPDK</literal> and select the OVS
256 bridge created above.</para>
257 </listitem>
258 </itemizedlist>
259 </listitem>
260
261 <listitem>
262 <para>Instantiate the Enea iPerf client VNF on uCPE device 2 by
263 filling the required fields with the values below:</para>
264
265 <itemizedlist spacing="compact">
266 <listitem>
267 <para><emphasis role="bold">Name</emphasis>:
268 iperf_client</para>
269 </listitem>
270
271 <listitem>
272 <para><emphasis role="bold">VNF Type</emphasis>: Select Enea
273 Test VNF</para>
274 </listitem>
275
276 <listitem>
277 <para><emphasis role="bold">uCPE Device</emphasis>: Select
278 uCPE device 2</para>
279 </listitem>
280
281 <listitem>
282 <para><emphasis role="bold">Cloud Init File</emphasis>:
283 Provide the path to the Enea VNF iPerf client cloud-init
284 file.</para>
285 </listitem>
286
287 <listitem>
288 <para><emphasis role="bold">Interfaces</emphasis>: Set the
289 interface type to <literal>DPDK</literal> and select the OVS
290 bridge created above.</para>
291 </listitem>
292 </itemizedlist>
293 </listitem>
294 </orderedlist></para>
295 </section>
296
297 <section id="test_clav_uc_1">
298 <title>Testing the Use-case</title>
299
300 <para>SSH to uCPE device 2 (Username: root) and connect to the IPerf
301 client VNF console:</para>
302
303 <programlisting>virsh list
304virsh console &lt;id of iperf client&gt;</programlisting>
305
306 <para>In order to check that traffic is forwarded between the VNFs, run
307 the following:</para>
308
309 <programlisting># qemux86-64 login: root
310root@qemux86-64:~# iperf3 -c 192.168.10.10</programlisting>
311 </section>
312 </section>
313
314 <section id="clav_example_sriov">
315 <title>Clavister VNF using SR-IOV</title>
316
317 <section id="prere_clav_vnf_sriov">
318 <title>Prerequisites</title>
319
320 <para>Two uCPE devices will be required for this setup. The system
321 requirements for each uCPE device are:</para>
322
323 <itemizedlist>
324 <listitem>
325 <para>1 Network Interface</para>
326 </listitem>
327
328 <listitem>
329 <para>2 GB of RAM memory</para>
330 </listitem>
331 </itemizedlist>
332
333 <para>The following files are needed for this example use-case:</para>
334
335 <itemizedlist>
336 <listitem>
337 <para>Enea Test VNF image. Please contact Enea to get this
338 image.</para>
339 </listitem>
340
341 <listitem>
342 <para>Clavister VNF image. Please contact Clavister to get this
343 image.</para>
344 </listitem>
345
346 <listitem>
347 <para>VNF Configuration files. These files are provided with your
348 Enea Edge release:</para>
349
350 <itemizedlist spacing="compact">
351 <listitem>
352 <para><filename>clavister-cloudinit.conf</filename>.</para>
353 </listitem>
354
355 <listitem>
356 <para><filename>enea-vnf-iperf-client.conf</filename>.</para>
357 </listitem>
358
359 <listitem>
360 <para><filename>enea-vnf-iperf-server.conf</filename>.</para>
361 </listitem>
362 </itemizedlist>
363 </listitem>
364 </itemizedlist>
365 </section>
366
367 <section id="clav_vnf_setup_2">
368 <title>Use-case Setup</title>
369
370 <para>The following use-case is essentially the same as the one detailed
371 above, in this scenario however, the uCPE devices are connected using
372 SR-IOV, with two virtual functions.</para>
373
374 <figure>
375 <title>Clavister VNF using SR-IOV</title>
376
377 <mediaobject>
378 <imageobject>
379 <imagedata align="center" contentwidth="600"
380 fileref="images/uc_clavister_sriov.png" />
381 </imageobject>
382 </mediaobject>
383 </figure>
384
385 <para><emphasis role="bold">Network Configuration:</emphasis></para>
386
387 <orderedlist>
388 <listitem>
389 <para>Select uCPE device 1, access <literal>Configuration</literal>,
390 add the network interface that will be used and configure it for
391 SR-IOV. For <literal>sriov-mode</literal> select
392 <literal>adapter-pool</literal> and for
393 <literal>sriov-num-vfs</literal> select "2".</para>
394 </listitem>
395
396 <listitem>
397 <para>Repeat the step above for uCPE device 2.</para>
398 </listitem>
399 </orderedlist>
400
401 <para><emphasis role="bold">Onboarding the VNFs:</emphasis></para>
402
403 <para>See the onboarding parameters in the use-case above.</para>
404
405 <para><emphasis role="bold">Instantiating the VNFs:</emphasis></para>
406
407 <para>Use the same instantiation parameters as above, but select
408 interface type <literal>SrIovAdapterPool</literal> instead.</para>
409 </section>
410
411 <section id="test_clav_uc_2">
412 <title>Testing the Use-case</title>
413
414 <para>Use the same test instructions as detailed in the use-case
415 above.</para>
416 </section>
417 </section>
418</chapter> \ No newline at end of file