diff options
-rw-r--r-- | doc/book-enea-nfv-access-example-usecases/doc/book.xml | 2 | ||||
-rw-r--r-- | doc/book-enea-nfv-access-example-usecases/doc/example_usecases.xml (renamed from doc/book-enea-nfv-access-example-usecases/doc/demo_usecases.xml) | 1442 | ||||
-rwxr-xr-x | doc/book-enea-nfv-access-example-usecases/doc/images/example_setup.png | bin | 0 -> 49368 bytes | |||
-rw-r--r-- | doc/book-enea-nfv-access-getting-started/doc/getting_started_nfv_access.xml | 7 | ||||
-rw-r--r-- | doc/book-enea-nfv-access-getting-started/doc/introduction.xml | 3 |
5 files changed, 886 insertions, 568 deletions
diff --git a/doc/book-enea-nfv-access-example-usecases/doc/book.xml b/doc/book-enea-nfv-access-example-usecases/doc/book.xml index 145a6fd..c4c6397 100644 --- a/doc/book-enea-nfv-access-example-usecases/doc/book.xml +++ b/doc/book-enea-nfv-access-example-usecases/doc/book.xml | |||
@@ -15,6 +15,6 @@ | |||
15 | <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" | 15 | <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" |
16 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | 16 | xmlns:xi="http://www.w3.org/2001/XInclude" /> |
17 | 17 | ||
18 | <xi:include href="demo_usecases.xml" | 18 | <xi:include href="example_usecases.xml" |
19 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | 19 | xmlns:xi="http://www.w3.org/2001/XInclude" /> |
20 | </book> | 20 | </book> |
diff --git a/doc/book-enea-nfv-access-example-usecases/doc/demo_usecases.xml b/doc/book-enea-nfv-access-example-usecases/doc/example_usecases.xml index 76fd2cf..7934d71 100644 --- a/doc/book-enea-nfv-access-example-usecases/doc/demo_usecases.xml +++ b/doc/book-enea-nfv-access-example-usecases/doc/example_usecases.xml | |||
@@ -1,386 +1,445 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | 1 | <?xml version="1.0" encoding="ISO-8859-1"?> |
2 | <chapter id="demo_usecases"> | 2 | <chapter id="example_usecases"> |
3 | <title>Demo Use Cases Manual</title> | 3 | <title>Example Use Cases Manual</title> |
4 | 4 | ||
5 | <para>This book will detail various demo use cases that a user can | 5 | <para>This book will detail various example use cases that a user can |
6 | experiment with.</para> | 6 | experiment with.</para> |
7 | 7 | ||
8 | <section id="clav_vnf_demo"> | 8 | <section id="clav_vnf_example"> |
9 | <title>Clavister VNF Demo</title> | 9 | <title>Clavister VNF Examples</title> |
10 | 10 | ||
11 | <para>In this use case, <literal>target_1</literal> will run the Clavister | 11 | <section id="clav_vnf"> |
12 | VNF and an Open vSwitch bridge.</para> | 12 | <title>Clavister VNF</title> |
13 | 13 | ||
14 | <figure> | 14 | <para>In this use case, <literal>target_1</literal> will run the |
15 | <title>Clavister VNF Demo Overview</title> | 15 | Clavister VNF and an Open vSwitch bridge and <literal>target_2</literal> |
16 | two iPerf VNFs.</para> | ||
16 | 17 | ||
17 | <mediaobject> | 18 | <figure> |
18 | <imageobject> | 19 | <title>Clavister VNF Example Overview</title> |
19 | <imagedata align="center" fileref="images/clavister_vnf_diagram.png" | ||
20 | scale="50" /> | ||
21 | </imageobject> | ||
22 | </mediaobject> | ||
23 | </figure> | ||
24 | 20 | ||
25 | <para><emphasis role="bold">How to setup the target to run the Clavister | 21 | <mediaobject> |
26 | VNF and an Open vSwitch Bridge</emphasis></para> | 22 | <imageobject> |
23 | <imagedata align="center" | ||
24 | fileref="images/clavister_vnf_diagram.png" scale="50" /> | ||
25 | </imageobject> | ||
26 | </mediaobject> | ||
27 | </figure> | ||
27 | 28 | ||
28 | <orderedlist> | 29 | <para><emphasis role="bold">How to setup the target to run the Clavister |
29 | <listitem> | 30 | VNF and an Open vSwitch Bridge</emphasis></para> |
30 | <para>Network interfaces must be bound to the DPDK (target_1 -> | ||
31 | Configuration -> OpenVSwitch -> Host Interfaces -> | ||
32 | Add):</para> | ||
33 | |||
34 | <figure> | ||
35 | <title>Adding Host Interfaces</title> | ||
36 | |||
37 | <mediaobject> | ||
38 | <imageobject> | ||
39 | <imagedata align="center" | ||
40 | fileref="images/add_host_interface.png" scale="80" /> | ||
41 | </imageobject> | ||
42 | </mediaobject> | ||
43 | </figure> | ||
44 | </listitem> | ||
45 | 31 | ||
46 | <listitem> | 32 | <orderedlist> |
47 | <para>Select the network interface that will be used to connect to the | 33 | <para><emphasis role="bold">Network Configuration for target_1 and |
48 | second target, configure it for DPDK, and click "Create" to send the | 34 | target_2</emphasis></para> |
49 | configuration to the target:</para> | ||
50 | |||
51 | <figure> | ||
52 | <title>Host Interface Creation</title> | ||
53 | |||
54 | <mediaobject> | ||
55 | <imageobject> | ||
56 | <imagedata align="center" | ||
57 | fileref="images/host_interface_creation.png" /> | ||
58 | </imageobject> | ||
59 | </mediaobject> | ||
60 | </figure> | ||
61 | </listitem> | ||
62 | 35 | ||
63 | <listitem> | 36 | <listitem> |
64 | <para>Create an Open vSwitch bridge (<literal>ovsbr0</literal>) with | 37 | <para>From uCPE Manager select the target_1: |
65 | one DPDK interface by selecting the "Add" button from the "Bridges" | 38 | <literal>Configuration</literal> -> |
66 | tab:</para> | 39 | <literal>OpenVSwitch</literal> -> H<literal>ost |
67 | 40 | Interfaces</literal> -> <literal>Add</literal></para> | |
68 | <figure> | 41 | </listitem> |
69 | <title>The Bridges Tab</title> | ||
70 | |||
71 | <mediaobject> | ||
72 | <imageobject> | ||
73 | <imagedata align="center" fileref="images/bridges_tab.png" | ||
74 | scale="80" /> | ||
75 | </imageobject> | ||
76 | </mediaobject> | ||
77 | </figure> | ||
78 | |||
79 | <para>Once the bridge creation popup appears, fill the fields and add | ||
80 | the physical interface:</para> | ||
81 | |||
82 | <figure> | ||
83 | <title>OVS bridge</title> | ||
84 | |||
85 | <mediaobject> | ||
86 | <imageobject> | ||
87 | <imagedata align="center" fileref="images/ovs_bridge_zero.png" | ||
88 | scale="80" /> | ||
89 | </imageobject> | ||
90 | </mediaobject> | ||
91 | </figure> | ||
92 | </listitem> | ||
93 | 42 | ||
94 | <listitem> | 43 | <listitem> |
95 | <para>Repeat these steps on the second target (target_2), by also | 44 | <para>Select the network interface that will be used to connect to |
96 | using one DPDK interface and creating an OVS bridge.</para> | 45 | the second target, configure it for DPDK, and click |
46 | <literal>Create</literal> to send the configuration to the | ||
47 | target:</para> | ||
48 | |||
49 | <figure> | ||
50 | <title>Host Interface Creation</title> | ||
51 | |||
52 | <mediaobject> | ||
53 | <imageobject> | ||
54 | <imagedata align="center" | ||
55 | fileref="images/host_interface_creation.png" /> | ||
56 | </imageobject> | ||
57 | </mediaobject> | ||
58 | </figure> | ||
59 | </listitem> | ||
60 | |||
61 | <listitem> | ||
62 | <para>Create an Open vSwitch bridge (<literal>ovsbr0</literal>) with | ||
63 | one DPDK interface by selecting the <literal>Add</literal> button | ||
64 | from the <literal>Bridges</literal> tab.</para> | ||
65 | </listitem> | ||
66 | |||
67 | <listitem> | ||
68 | <para>Once the bridge creation popup appears, fill the fields and | ||
69 | add the physical interface:</para> | ||
70 | |||
71 | <figure> | ||
72 | <title>OVS bridge</title> | ||
73 | |||
74 | <mediaobject> | ||
75 | <imageobject> | ||
76 | <imagedata align="center" fileref="images/ovs_bridge_zero.png" | ||
77 | scale="80" /> | ||
78 | </imageobject> | ||
79 | </mediaobject> | ||
80 | </figure> | ||
81 | </listitem> | ||
82 | |||
83 | <listitem> | ||
84 | <para>Repeat the steps above on the target_2, by also using one DPDK | ||
85 | interface and creating an OVS bridge.</para> | ||
86 | </listitem> | ||
87 | </orderedlist> | ||
88 | |||
89 | <orderedlist> | ||
90 | <para><emphasis role="bold">Instantiate the VNFs:</emphasis></para> | ||
97 | 91 | ||
98 | <para>Once the network configuration has been completed on both | 92 | <para>Once the network configuration has been completed on both |
99 | targets, VNFs can be instantiated.</para> | 93 | targets instantiate the VNFs:</para> |
100 | </listitem> | ||
101 | 94 | ||
102 | <listitem> | 95 | <para><emphasis role="bold">A) Instantiate Clavister VNF on |
103 | <para>Before instantiating the iPerf VNF, a flavor needs to be | 96 | target_1:</emphasis></para> |
104 | reconfigured to use two cores and 2 GB of RAM.</para> | ||
105 | |||
106 | <para>Please follow the steps in the figure below to reconfigure the | ||
107 | flavor (target_2 -> Configuration (1) -> Virtual Machines -> | ||
108 | Double Click on Iperf flavor (2)):</para> | ||
109 | |||
110 | <figure> | ||
111 | <title>Reconfiguring the Flavor</title> | ||
112 | |||
113 | <mediaobject> | ||
114 | <imageobject> | ||
115 | <imagedata align="center" | ||
116 | fileref="images/reconfiguring_flavor.png" scale="40" /> | ||
117 | </imageobject> | ||
118 | </mediaobject> | ||
119 | </figure> | ||
120 | |||
121 | <note> | ||
122 | <para>The Clavister VNF will be instantiated on target_1.</para> | ||
123 | </note> | ||
124 | </listitem> | ||
125 | 97 | ||
126 | <listitem> | 98 | <listitem> |
127 | <para>Select the target_1 device, click the "VNF" button from the top | 99 | <para>Select the target_1, then the VNF option from the top toolbar: |
128 | toolbar menu and click "Add" in the new window at the bottom of the | 100 | <literal>VNF</literal> -> <literal>Instances</literal> -> |
129 | screen:</para> | 101 | <literal>Add</literal>.</para> |
130 | 102 | </listitem> | |
131 | <figure> | ||
132 | <title>Creating a new VNF</title> | ||
133 | |||
134 | <mediaobject> | ||
135 | <imageobject> | ||
136 | <imagedata align="center" fileref="images/new_vnf.png" | ||
137 | scale="50" /> | ||
138 | </imageobject> | ||
139 | </mediaobject> | ||
140 | </figure> | ||
141 | </listitem> | ||
142 | 103 | ||
143 | <listitem> | 104 | <listitem> |
144 | <para>Fill in the required information about the Clavister VNF, (the | 105 | <para>Fill in the required information about the |
145 | default network configuration can be used):</para> | 106 | <literal>Clavister</literal> VNF, (the default network configuration |
146 | 107 | can be used):</para> | |
147 | <figure> | ||
148 | <title>VNF Instance</title> | ||
149 | |||
150 | <mediaobject> | ||
151 | <imageobject> | ||
152 | <imagedata align="center" fileref="images/vnf_instance.png" | ||
153 | scale="80" /> | ||
154 | </imageobject> | ||
155 | </mediaobject> | ||
156 | </figure> | ||
157 | </listitem> | ||
158 | 108 | ||
159 | <listitem> | 109 | <figure> |
160 | <para>On target_2, two iPerf VNFs will be instantiated. One will act | 110 | <title>VNF Instance</title> |
161 | as the server and the second as the client.</para> | ||
162 | </listitem> | ||
163 | 111 | ||
164 | <listitem> | 112 | <mediaobject> |
165 | <para>Select target_2, then the VNF option from the top toolbar (VNF | 113 | <imageobject> |
166 | -> Instances -> Add):</para> | 114 | <imagedata align="center" fileref="images/vnf_instance.png" |
167 | 115 | scale="80" /> | |
168 | <figure> | 116 | </imageobject> |
169 | <title>Target 2 VNF Instance</title> | 117 | </mediaobject> |
170 | 118 | </figure> | |
171 | <mediaobject> | 119 | </listitem> |
172 | <imageobject> | 120 | </orderedlist> |
173 | <imagedata align="center" fileref="images/t2_vnf_instance.png" | ||
174 | scale="60" /> | ||
175 | </imageobject> | ||
176 | </mediaobject> | ||
177 | </figure> | ||
178 | </listitem> | ||
179 | 121 | ||
180 | <listitem> | 122 | <orderedlist> |
181 | <para>In the "VNF Instance" window, select the first "iPerf" VNF from | 123 | <para><emphasis role="bold">B) Instantiate two iPerf VNFs (one as |
182 | the dropdown menu, configure it to act as a server by unchecking the | 124 | client and one as server) on target_2: </emphasis></para> |
183 | "Client mode IPerf" box, and click the "Create" button:</para> | ||
184 | |||
185 | <figure> | ||
186 | <title>VNF instance in server mode</title> | ||
187 | |||
188 | <mediaobject> | ||
189 | <imageobject> | ||
190 | <imagedata align="center" | ||
191 | fileref="images/vnf_instance_server.png" scale="80" /> | ||
192 | </imageobject> | ||
193 | </mediaobject> | ||
194 | </figure> | ||
195 | </listitem> | ||
196 | 125 | ||
197 | <listitem> | 126 | <listitem> |
198 | <para>Select "Add", enable the "Client mode IPerf" checkbox and then | 127 | <para>Instantiate two <literal>iPerf</literal> VNFs on target_2. One |
199 | click "Create" to instantiate the second iPerf VNF as a client, and to | 128 | will act as the server and the second as the client.</para> |
200 | run it in client mode:</para> | 129 | </listitem> |
201 | |||
202 | <figure> | ||
203 | <title>VNF instance in client mode</title> | ||
204 | |||
205 | <mediaobject> | ||
206 | <imageobject> | ||
207 | <imagedata align="center" | ||
208 | fileref="images/vnf_instance_client.png" scale="80" /> | ||
209 | </imageobject> | ||
210 | </mediaobject> | ||
211 | </figure> | ||
212 | </listitem> | ||
213 | 130 | ||
214 | <listitem> | 131 | <listitem> |
215 | <para>In order to check that traffic is forwarded between the VNFs, | 132 | <para>Select target_2, then the VNF option from the top toolbar: |
216 | connect to the iPerf VNF client console (target_2 -> SSH - > | 133 | <literal>VNF</literal> -> <literal>Instances</literal> -> |
217 | user:root -> Connect) and run the following:</para> | 134 | <literal>Add</literal>.</para> |
135 | </listitem> | ||
136 | |||
137 | <listitem> | ||
138 | <para>In the <literal>VNF Instance</literal> window, select the | ||
139 | first <literal>iPerf</literal> VNF from the dropdown menu, configure | ||
140 | it to act as a server by unchecking the <literal>Client mode | ||
141 | IPerf</literal> box, and click the <literal>Create</literal> | ||
142 | button.</para> | ||
143 | </listitem> | ||
144 | |||
145 | <listitem> | ||
146 | <para>Select <literal>Add</literal>, enable the <literal>Client mode | ||
147 | IPerf</literal> checkbox and then click <literal>Create</literal> to | ||
148 | instantiate the second <literal>iPerf VNF</literal> as a client, and | ||
149 | to run it in client mode.</para> | ||
150 | </listitem> | ||
151 | |||
152 | <listitem> | ||
153 | <para>In order to check that traffic is forwarded between the VNFs, | ||
154 | connect to the iPerf VNF client console:</para> | ||
155 | |||
156 | <para>Connect to the target_2 by using: <literal>SSH</literal> -> | ||
157 | <literal>user</literal> (root) -><literal>Connect</literal> and | ||
158 | run the following:</para> | ||
218 | 159 | ||
219 | <programlisting>virsh list | 160 | <programlisting>virsh list |
220 | virsh console | 161 | virsh console |
221 | root@qemux86-64:~# iperf3 -c 192.168.10.10</programlisting> | 162 | root@qemux86-64:~# iperf3 -c 192.168.10.10</programlisting> |
222 | </listitem> | 163 | </listitem> |
223 | </orderedlist> | 164 | </orderedlist> |
165 | </section> | ||
166 | |||
167 | <section id="clav_example_sriov"> | ||
168 | <title>Clavister VNF using SR-IOV</title> | ||
169 | |||
170 | <para>In this use case, target 1 will run the iPerf server and iPerf | ||
171 | client VNFs using SR-IOV and target 2 will run the Clavister VNF using | ||
172 | SR-IOV with two virtual functions (vf1 and vf2):</para> | ||
173 | |||
174 | <figure> | ||
175 | <title>Example Overview</title> | ||
176 | |||
177 | <mediaobject> | ||
178 | <imageobject> | ||
179 | <imagedata align="center" | ||
180 | fileref="images/clav_VNF_demo_SR-IOV.png" scale="60" /> | ||
181 | </imageobject> | ||
182 | </mediaobject> | ||
183 | </figure> | ||
184 | |||
185 | <orderedlist> | ||
186 | <listitem> | ||
187 | <para>On target 2, create an SR-IOV configuration with 2 virtual | ||
188 | functions: <literal>Configuration</literal> -> | ||
189 | <literal>OpenVSwitch</literal> -> <literal>Host | ||
190 | Interfaces</literal> -> <literal>Add</literal>:</para> | ||
191 | |||
192 | <figure> | ||
193 | <title>SR-IOV configuration with 2 virtual functions</title> | ||
194 | |||
195 | <mediaobject> | ||
196 | <imageobject> | ||
197 | <imagedata align="center" | ||
198 | fileref="images/sriov_configuration.png" scale="80" /> | ||
199 | </imageobject> | ||
200 | </mediaobject> | ||
201 | </figure> | ||
202 | </listitem> | ||
203 | |||
204 | <listitem> | ||
205 | <para>Instantiate the Clavister VNF on target 2, by clicking | ||
206 | <literal>VNF</literal> -> <literal>Instances</literal> -> | ||
207 | <literal>Add</literal>.</para> | ||
208 | |||
209 | <para>Select <literal>SrIovAdapterPool</literal> as an Interface | ||
210 | type for both Interface1 type and 2 type, before clicking | ||
211 | <literal>Create</literal>:</para> | ||
212 | |||
213 | <figure> | ||
214 | <title>Instantiating the Clavister VNF on target 2</title> | ||
215 | |||
216 | <mediaobject> | ||
217 | <imageobject> | ||
218 | <imagedata align="center" fileref="images/srlov_adap_pool.png" | ||
219 | scale="70" /> | ||
220 | </imageobject> | ||
221 | </mediaobject> | ||
222 | </figure> | ||
223 | </listitem> | ||
224 | |||
225 | <listitem> | ||
226 | <para>On target 1, create an SR-IOV interface as done in step | ||
227 | 1.</para> | ||
228 | </listitem> | ||
229 | |||
230 | <listitem> | ||
231 | <para>Create the iPerf server on target 1. Select | ||
232 | <literal>SrIovAdapterPool</literal> as an Interface type:</para> | ||
233 | |||
234 | <figure> | ||
235 | <title>IPerf Server Interface Type</title> | ||
236 | |||
237 | <mediaobject> | ||
238 | <imageobject> | ||
239 | <imagedata align="center" | ||
240 | fileref="images/iperf_server_inttype.png" | ||
241 | scale="70" /> | ||
242 | </imageobject> | ||
243 | </mediaobject> | ||
244 | </figure> | ||
245 | </listitem> | ||
246 | |||
247 | <listitem> | ||
248 | <para>Create the iPerf client on target 1. Select | ||
249 | <literal>SrIovAdapterPool</literal> as an Interface type and tick | ||
250 | the <literal>Client mode IPer</literal> checkbox:</para> | ||
251 | |||
252 | <figure> | ||
253 | <title>IPerf Client Interface Type</title> | ||
254 | |||
255 | <mediaobject> | ||
256 | <imageobject> | ||
257 | <imagedata align="center" | ||
258 | fileref="images/iperf_client_inttype.png" | ||
259 | scale="70" /> | ||
260 | </imageobject> | ||
261 | </mediaobject> | ||
262 | </figure> | ||
263 | </listitem> | ||
264 | |||
265 | <listitem> | ||
266 | <para>In order to check that traffic is forwarded between the VNFs, | ||
267 | connect to the iPerf VNF client console by using: | ||
268 | <literal>SSH</literal> -> <literal>user</literal> (root) | ||
269 | -><literal>Connect</literal> and run the following | ||
270 | commands:<programlisting>virsh list | ||
271 | virsh console | ||
272 | root@qemux86-64:~# iperf3 -c 192.168.10.10</programlisting></para> | ||
273 | </listitem> | ||
274 | </orderedlist> | ||
275 | </section> | ||
224 | </section> | 276 | </section> |
225 | 277 | ||
226 | <section id="enea_vnf_demo"> | 278 | <section id="enea_vnf_examples"> |
227 | <title>Enea VNF demo</title> | 279 | <title>Enea VNF Examples</title> |
228 | 280 | ||
229 | <para>Use case description: pktgen[DPDK] - PHY1 - PHY2 - [DPDK]OVS - | 281 | <section id="enea_vnf"> |
230 | VM[DPDK]testpmd(forwarding) - OVS[DPDK] - VM[DPDK] | 282 | <title>TestPMD VNF</title> |
231 | testpmd(termination).</para> | ||
232 | 283 | ||
233 | <figure> | 284 | <para>Use case description: pktgen[DPDK] - PHY1 - PHY2 - [DPDK]OVS - |
234 | <title>Enea VNF Demo Overview</title> | 285 | VM[DPDK]testpmd(forwarding) - OVS[DPDK] - VM[DPDK] |
286 | testpmd(termination).</para> | ||
235 | 287 | ||
236 | <mediaobject> | 288 | <figure> |
237 | <imageobject> | 289 | <title>Enea VNF Example Overview</title> |
238 | <imagedata align="center" | ||
239 | fileref="images/enea_vnf_demo_overview.png" scale="80" /> | ||
240 | </imageobject> | ||
241 | </mediaobject> | ||
242 | </figure> | ||
243 | 290 | ||
244 | <para><emphasis role="bold">How to setup the Enea VNF | 291 | <mediaobject> |
245 | Demo</emphasis></para> | 292 | <imageobject> |
293 | <imagedata align="center" | ||
294 | fileref="images/enea_vnf_demo_overview.png" scale="80" /> | ||
295 | </imageobject> | ||
296 | </mediaobject> | ||
297 | </figure> | ||
246 | 298 | ||
247 | <orderedlist> | 299 | <para><emphasis role="bold">How to setup the Enea VNF |
248 | <listitem> | 300 | Example</emphasis></para> |
249 | <para>Host interfaces must be bound to the DPDK (target_1 -> | ||
250 | Configuration -> OpenVSwitch -> Host Interfaces -> | ||
251 | Add):</para> | ||
252 | |||
253 | <figure> | ||
254 | <title>Adding OVS Host Interfaces</title> | ||
255 | |||
256 | <mediaobject> | ||
257 | <imageobject> | ||
258 | <imagedata align="center" | ||
259 | fileref="images/ovs_host_interface.png" scale="80" /> | ||
260 | </imageobject> | ||
261 | </mediaobject> | ||
262 | </figure> | ||
263 | </listitem> | ||
264 | 301 | ||
265 | <listitem> | 302 | <orderedlist> |
266 | <para>Select the network interface that will be used to connect to the | 303 | <listitem> |
267 | second target and configure it for the DPDK:</para> | 304 | <para>Bind the host interfaces to the DPDK by selecting the |
268 | 305 | target_1: <literal>Configuration</literal> -> | |
269 | <figure> | 306 | <literal>OpenVSwitch</literal> -> <literal>Host |
270 | <title>Configuring the host interface</title> | 307 | Interfaces</literal> -> <literal>Add</literal>:</para> |
271 | |||
272 | <mediaobject> | ||
273 | <imageobject> | ||
274 | <imagedata align="center" | ||
275 | fileref="images/secondtar_hostinterface.png" | ||
276 | scale="90" /> | ||
277 | </imageobject> | ||
278 | </mediaobject> | ||
279 | </figure> | ||
280 | </listitem> | ||
281 | 308 | ||
282 | <listitem> | 309 | <figure> |
283 | <para>Select the "Create" button to send the configuration to the | 310 | <title>Adding OVS Host Interfaces</title> |
284 | target. The same steps must also be performed on the target_2 | ||
285 | device.</para> | ||
286 | </listitem> | ||
287 | 311 | ||
288 | <listitem> | 312 | <mediaobject> |
289 | <para>Create an OpenVSwitch bridge (<literal>ovsbr0</literal>) on | 313 | <imageobject> |
290 | target_1 that uses one DPDK interface, by selecting the "Add" button | 314 | <imagedata align="center" |
291 | from the Bridges tab (target_1 -> Configuration -> | 315 | fileref="images/ovs_host_interface.png" scale="80" /> |
292 | OpenVSwitch-> Bridges):</para> | 316 | </imageobject> |
293 | 317 | </mediaobject> | |
294 | <figure> | 318 | </figure> |
295 | <title>OVS Bridge Table</title> | 319 | </listitem> |
296 | |||
297 | <mediaobject> | ||
298 | <imageobject> | ||
299 | <imagedata align="center" fileref="images/ovs_bridge_tab.png" | ||
300 | scale="75" /> | ||
301 | </imageobject> | ||
302 | </mediaobject> | ||
303 | </figure> | ||
304 | |||
305 | <figure> | ||
306 | <title>Adding the interface to the OVS Bridge</title> | ||
307 | |||
308 | <mediaobject> | ||
309 | <imageobject> | ||
310 | <imagedata align="center" fileref="images/ovs_bridge_two.png" | ||
311 | scale="90" /> | ||
312 | </imageobject> | ||
313 | </mediaobject> | ||
314 | </figure> | ||
315 | </listitem> | ||
316 | 320 | ||
317 | <listitem> | 321 | <listitem> |
318 | <para>Instantiate the TestPMD VNFs on target_1 (target_1 -> VNF | 322 | <para>Select the network interface that will be used to connect to |
319 | -> Instances -> Add).</para> | 323 | the second target and configure it for the DPDK:</para> |
320 | </listitem> | ||
321 | 324 | ||
322 | <listitem> | 325 | <figure> |
323 | <para>Configure the VNF that forwards traffic:</para> | 326 | <title>Configuring the host interface</title> |
324 | |||
325 | <figure> | ||
326 | <title>Configuring the fwdVNF</title> | ||
327 | |||
328 | <mediaobject> | ||
329 | <imageobject> | ||
330 | <imagedata align="center" fileref="images/traffic_forward.png" | ||
331 | scale="85" /> | ||
332 | </imageobject> | ||
333 | </mediaobject> | ||
334 | </figure> | ||
335 | </listitem> | ||
336 | 327 | ||
337 | <listitem> | 328 | <mediaobject> |
338 | <para>Configure the VNF that terminates traffic:</para> | 329 | <imageobject> |
339 | 330 | <imagedata align="center" | |
340 | <figure> | 331 | fileref="images/secondtar_hostinterface.png" |
341 | <title>Configuring the termVNF</title> | 332 | scale="90" /> |
342 | 333 | </imageobject> | |
343 | <mediaobject> | 334 | </mediaobject> |
344 | <imageobject> | 335 | </figure> |
345 | <imagedata align="center" fileref="images/traffic_terminate.png" | 336 | </listitem> |
346 | scale="85" /> | ||
347 | </imageobject> | ||
348 | </mediaobject> | ||
349 | </figure> | ||
350 | </listitem> | ||
351 | 337 | ||
352 | <listitem> | 338 | <listitem> |
353 | <para>Add OpenVSwitch flows to control this traffic:</para> | 339 | <para>Select the <literal>Create</literal> button to send the |
354 | 340 | configuration to the target. The same steps must also be performed | |
355 | <figure> | 341 | on the target_2.</para> |
356 | <title>Configuring the FWD flow</title> | 342 | </listitem> |
357 | |||
358 | <mediaobject> | ||
359 | <imageobject> | ||
360 | <imagedata align="center" fileref="images/flow_fwd.png" | ||
361 | scale="90" /> | ||
362 | </imageobject> | ||
363 | </mediaobject> | ||
364 | </figure> | ||
365 | |||
366 | <figure> | ||
367 | <title>Configuring the TERM flow</title> | ||
368 | |||
369 | <mediaobject> | ||
370 | <imageobject> | ||
371 | <imagedata align="center" fileref="images/flow_term.png" | ||
372 | scale="90" /> | ||
373 | </imageobject> | ||
374 | </mediaobject> | ||
375 | </figure> | ||
376 | </listitem> | ||
377 | 343 | ||
378 | <listitem> | 344 | <listitem> |
379 | <para>Start pktgen on target_2. Connect to the device by using SSH | 345 | <para>Create an OpenVSwitch bridge (<literal>ovsbr0</literal>) on |
380 | (target2 -> SSH -> user (root)) and perform the | 346 | target_1 that uses one DPDK interface, by selecting the |
381 | following:</para> | 347 | <literal>Add</literal> button from the Bridges tab and then |
348 | selcting: <literal>Configuration</literal> -> | ||
349 | <literal>OpenVSwitch</literal>-> | ||
350 | <literal>Bridges</literal>:</para> | ||
351 | |||
352 | <figure> | ||
353 | <title>OVS Bridge Table</title> | ||
354 | |||
355 | <mediaobject> | ||
356 | <imageobject> | ||
357 | <imagedata align="center" fileref="images/ovs_bridge_tab.png" | ||
358 | scale="75" /> | ||
359 | </imageobject> | ||
360 | </mediaobject> | ||
361 | </figure> | ||
362 | |||
363 | <figure> | ||
364 | <title>Adding the interface to the OVS Bridge</title> | ||
365 | |||
366 | <mediaobject> | ||
367 | <imageobject> | ||
368 | <imagedata align="center" fileref="images/ovs_bridge_two.png" | ||
369 | scale="90" /> | ||
370 | </imageobject> | ||
371 | </mediaobject> | ||
372 | </figure> | ||
373 | </listitem> | ||
374 | |||
375 | <listitem> | ||
376 | <para>Instantiate the TestPMD VNFs on target_1 by selecting: | ||
377 | <literal>VNF</literal> -> <literal>Instances</literal> -> | ||
378 | <literal>Add</literal>.</para> | ||
379 | </listitem> | ||
382 | 380 | ||
383 | <programlisting>killall ovsdb-server ovs-vswitchd | 381 | <listitem> |
382 | <para>Configure the VNF that forwards traffic:</para> | ||
383 | |||
384 | <figure> | ||
385 | <title>Configuring the fwdVNF</title> | ||
386 | |||
387 | <mediaobject> | ||
388 | <imageobject> | ||
389 | <imagedata align="center" fileref="images/traffic_forward.png" | ||
390 | scale="85" /> | ||
391 | </imageobject> | ||
392 | </mediaobject> | ||
393 | </figure> | ||
394 | </listitem> | ||
395 | |||
396 | <listitem> | ||
397 | <para>Configure the VNF that terminates traffic:</para> | ||
398 | |||
399 | <figure> | ||
400 | <title>Configuring the termVNF</title> | ||
401 | |||
402 | <mediaobject> | ||
403 | <imageobject> | ||
404 | <imagedata align="center" | ||
405 | fileref="images/traffic_terminate.png" scale="85" /> | ||
406 | </imageobject> | ||
407 | </mediaobject> | ||
408 | </figure> | ||
409 | </listitem> | ||
410 | |||
411 | <listitem> | ||
412 | <para>Add OpenVSwitch flows to control this traffic:</para> | ||
413 | |||
414 | <figure> | ||
415 | <title>Configuring the FWD flow</title> | ||
416 | |||
417 | <mediaobject> | ||
418 | <imageobject> | ||
419 | <imagedata align="center" fileref="images/flow_fwd.png" | ||
420 | scale="90" /> | ||
421 | </imageobject> | ||
422 | </mediaobject> | ||
423 | </figure> | ||
424 | |||
425 | <figure> | ||
426 | <title>Configuring the TERM flow</title> | ||
427 | |||
428 | <mediaobject> | ||
429 | <imageobject> | ||
430 | <imagedata align="center" fileref="images/flow_term.png" | ||
431 | scale="90" /> | ||
432 | </imageobject> | ||
433 | </mediaobject> | ||
434 | </figure> | ||
435 | </listitem> | ||
436 | |||
437 | <listitem> | ||
438 | <para>Start pktgen on target_2. Connect to the target by using: | ||
439 | <literal>SSH</literal> -> <literal>user</literal> (root) and | ||
440 | perform the following:</para> | ||
441 | |||
442 | <programlisting>killall ovsdb-server ovs-vswitchd | ||
384 | rm -rf /etc/openvswitch/* | 443 | rm -rf /etc/openvswitch/* |
385 | mkdir -p /var/run/openvswitch | 444 | mkdir -p /var/run/openvswitch |
386 | modprobe igb_uio | 445 | modprobe igb_uio |
@@ -389,210 +448,111 @@ cd /usr/share/apps/pktgen/ | |||
389 | ./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 -w 0000:05:00.3 -- \ | 448 | ./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 -w 0000:05:00.3 -- \ |
390 | -P -m "[1:2].0" | 449 | -P -m "[1:2].0" |
391 | Pktgen:/> start 0</programlisting> | 450 | Pktgen:/> start 0</programlisting> |
392 | </listitem> | 451 | </listitem> |
393 | 452 | ||
394 | <listitem> | 453 | <listitem> |
395 | <para>Connect to the forwarder VNF in order to check the traffic | 454 | <para>Connect to the forwarder VNF in order to check the traffic |
396 | statistics (target_1 -> SSH):</para> | 455 | statistics by selecting target_1: <literal>SSH</literal> -> |
456 | <literal>user</literal> (root):</para> | ||
397 | 457 | ||
398 | <programlisting>Virsh list | 458 | <programlisting>Virsh list |
399 | Virsh console 1 | 459 | Virsh console 1 |
400 | # Qemux86-64 login: root | 460 | # Qemux86-64 login: root |
401 | tail -f /opt/testpmd-out</programlisting> | 461 | tail -f /opt/testpmd-out</programlisting> |
402 | 462 | ||
403 | <figure> | 463 | <figure> |
404 | <title>Traffic Statistics</title> | 464 | <title>Traffic Statistics</title> |
405 | |||
406 | <mediaobject> | ||
407 | <imageobject> | ||
408 | <imagedata align="center" | ||
409 | fileref="images/connection_information.png" | ||
410 | scale="70" /> | ||
411 | </imageobject> | ||
412 | </mediaobject> | ||
413 | </figure> | ||
414 | </listitem> | ||
415 | </orderedlist> | ||
416 | </section> | ||
417 | |||
418 | <section id="clav_demo_sriov"> | ||
419 | <title>Clavister VNF demo using SR-IOV</title> | ||
420 | |||
421 | <para>In this use case, target 1 will run the iPerf server and iPerf | ||
422 | client VNFs using SR-IOV and target 2 will run the Clavister VNF using | ||
423 | SR-IOV with two virtual functions (vf1 and vf2):</para> | ||
424 | |||
425 | <figure> | ||
426 | <title>Demo Overview</title> | ||
427 | |||
428 | <mediaobject> | ||
429 | <imageobject> | ||
430 | <imagedata align="center" fileref="images/clav_VNF_demo_SR-IOV.png" | ||
431 | scale="60" /> | ||
432 | </imageobject> | ||
433 | </mediaobject> | ||
434 | </figure> | ||
435 | 465 | ||
436 | <orderedlist> | 466 | <mediaobject> |
437 | <listitem> | 467 | <imageobject> |
438 | <para>On target 2, create an SR-IOV configuration with 2 virtual | 468 | <imagedata align="center" |
439 | functions (target 2 -> Configuration -> OpenVSwitch -> Host | 469 | fileref="images/connection_information.png" |
440 | Interfaces -> Add):</para> | 470 | scale="70" /> |
441 | 471 | </imageobject> | |
442 | <figure> | 472 | </mediaobject> |
443 | <title>SR-IOV configuration with 2 virtual functions</title> | 473 | </figure> |
444 | 474 | </listitem> | |
445 | <mediaobject> | 475 | </orderedlist> |
446 | <imageobject> | 476 | </section> |
447 | <imagedata align="center" | ||
448 | fileref="images/sriov_configuration.png" scale="80" /> | ||
449 | </imageobject> | ||
450 | </mediaobject> | ||
451 | </figure> | ||
452 | </listitem> | ||
453 | 477 | ||
454 | <listitem> | 478 | <section id="vnf_pci"> |
455 | <para>Instantiate the Clavister VNF on target 2, by clicking VNF -> | 479 | <title>TestPMD VNF using PCI passthrough</title> |
456 | Instances -> Add.</para> | ||
457 | |||
458 | <para>Select "SrIovAdapterPool" for both Interface1 type and 2 type, | ||
459 | before clicking "Create":</para> | ||
460 | |||
461 | <figure> | ||
462 | <title>Instantiating the Clavister VNF on target 2</title> | ||
463 | |||
464 | <mediaobject> | ||
465 | <imageobject> | ||
466 | <imagedata align="center" fileref="images/srlov_adap_pool.png" | ||
467 | scale="70" /> | ||
468 | </imageobject> | ||
469 | </mediaobject> | ||
470 | </figure> | ||
471 | </listitem> | ||
472 | 480 | ||
473 | <listitem> | 481 | <para>In this use case, target 1 will run the Pktgen and target 2 will |
474 | <para>On target 1, create an SR-IOV interface as done in step | 482 | run the TestPMD VNF. Both will be using PCI passthrough:</para> |
475 | 1.</para> | ||
476 | </listitem> | ||
477 | 483 | ||
478 | <listitem> | 484 | <figure> |
479 | <para>Create the iPerf server on target 1. Select "SrIovAdapterPool" | 485 | <title>TestPMD VNF using PCI passthrough Overview</title> |
480 | as an Interface type:</para> | ||
481 | |||
482 | <figure> | ||
483 | <title>IPerf Server Interface Type</title> | ||
484 | |||
485 | <mediaobject> | ||
486 | <imageobject> | ||
487 | <imagedata align="center" | ||
488 | fileref="images/iperf_server_inttype.png" scale="70" /> | ||
489 | </imageobject> | ||
490 | </mediaobject> | ||
491 | </figure> | ||
492 | </listitem> | ||
493 | 486 | ||
494 | <listitem> | 487 | <mediaobject> |
495 | <para>Create the iPerf client on target 1. Select "SrIovAdapterPool" | 488 | <imageobject> |
496 | as an Interface type and tick the "Client mode IPerf" checkbox:</para> | 489 | <imagedata align="center" fileref="images/testPMD_VNF_PCI.png" |
497 | 490 | scale="65" /> | |
498 | <figure> | 491 | </imageobject> |
499 | <title>IPerf Client Interface Type</title> | 492 | </mediaobject> |
500 | 493 | </figure> | |
501 | <mediaobject> | ||
502 | <imageobject> | ||
503 | <imagedata align="center" | ||
504 | fileref="images/iperf_client_inttype.png" scale="70" /> | ||
505 | </imageobject> | ||
506 | </mediaobject> | ||
507 | </figure> | ||
508 | </listitem> | ||
509 | 494 | ||
510 | <listitem> | 495 | <orderedlist> |
511 | <para>In order to check that traffic is forwarded between the VNFs, | 496 | <listitem> |
512 | connect to the iPerf VNF client console (target 1 -> SSH - > | 497 | <para>Make sure that neither target 1 nor target 2 have any |
513 | user:root -> Connect) and run the following | 498 | configured host interfaces by selcting target: |
514 | commands:<programlisting>virsh list | 499 | <literal>Configuration</literal> -> |
515 | virsh console | 500 | <literal>OpenVSwitch</literal> -> <literal>Host |
516 | root@qemux86-64:~# iperf3 -c 192.168.10.10</programlisting></para> | 501 | Interfaces</literal>.</para> |
517 | </listitem> | 502 | </listitem> |
518 | </orderedlist> | ||
519 | </section> | ||
520 | 503 | ||
521 | <section id="vnf_pci"> | 504 | <listitem> |
522 | <title>TestPMD VNF using PCI passthrough</title> | 505 | <para>On target 1 start the Pktgen VNF. Select |
506 | <literal>PciPassthrough</literal> as the Interface type.</para> | ||
523 | 507 | ||
524 | <para>In this use case, target 1 will run the Pktgen and target 2 will run | 508 | <para>From the drop-down list, select the PCI interface |
525 | the TestPMD VNF. Both will be using PCI passthrough:</para> | 509 | corresponding to the NIC which is connected to target 2:</para> |
526 | 510 | ||
527 | <figure> | 511 | <figure> |
528 | <title>TestPMD VNF using PCI passthrough Overview</title> | 512 | <title>Selecting the Pktgen VNF Interface</title> |
529 | 513 | ||
530 | <mediaobject> | 514 | <mediaobject> |
531 | <imageobject> | 515 | <imageobject> |
532 | <imagedata align="center" fileref="images/testPMD_VNF_PCI.png" | 516 | <imagedata align="center" |
533 | scale="65" /> | 517 | fileref="images/pciPass_interface.png" scale="70" /> |
534 | </imageobject> | 518 | </imageobject> |
535 | </mediaobject> | 519 | </mediaobject> |
536 | </figure> | 520 | </figure> |
521 | </listitem> | ||
537 | 522 | ||
538 | <orderedlist> | 523 | <listitem> |
539 | <listitem> | 524 | <para>On target 2, start the TestPmdForwarder VNF. Select |
540 | <para>Make sure that neither target 1 nor target 2 have any configured | 525 | "PciPassthrough" as the Interface type. From the drop-down list, |
541 | host interfaces (target -> Configuration -> OpenVSwitch -> | 526 | select the PCI interface corresponding to the NIC which is connected |
542 | Host Interfaces).</para> | 527 | to target 1:</para> |
543 | </listitem> | ||
544 | 528 | ||
545 | <listitem> | 529 | <figure> |
546 | <para>On target 1 start the Pktgen VNF. Select "PciPassthrough" as the | 530 | <title>Selecting the TestPmdForwarder VNF Interface</title> |
547 | Interface type.</para> | ||
548 | |||
549 | <para>From the drop-down list, select the PCI interface corresponding | ||
550 | to the NIC which is connected to target 2:</para> | ||
551 | |||
552 | <figure> | ||
553 | <title>Selecting the Pktgen VNF Interface</title> | ||
554 | |||
555 | <mediaobject> | ||
556 | <imageobject> | ||
557 | <imagedata align="center" fileref="images/pciPass_interface.png" | ||
558 | scale="70" /> | ||
559 | </imageobject> | ||
560 | </mediaobject> | ||
561 | </figure> | ||
562 | </listitem> | ||
563 | 531 | ||
564 | <listitem> | 532 | <mediaobject> |
565 | <para>On target 2, start the TestPmdForwarder VNF. Select | 533 | <imageobject> |
566 | "PciPassthrough" as the Interface type. From the drop-down list, | 534 | <imagedata align="center" |
567 | select the PCI interface corresponding to the NIC which is connected | 535 | fileref="images/testpmd_fwdvnf_int.png" scale="70" /> |
568 | to target 1:</para> | 536 | </imageobject> |
569 | 537 | </mediaobject> | |
570 | <figure> | 538 | </figure> |
571 | <title>Selecting the TestPmdForwarder VNF Interface</title> | 539 | </listitem> |
572 | |||
573 | <mediaobject> | ||
574 | <imageobject> | ||
575 | <imagedata align="center" | ||
576 | fileref="images/testpmd_fwdvnf_int.png" scale="70" /> | ||
577 | </imageobject> | ||
578 | </mediaobject> | ||
579 | </figure> | ||
580 | </listitem> | ||
581 | 540 | ||
582 | <listitem> | 541 | <listitem> |
583 | <para>To check that traffic is being forwarded from target 2, SSH to | 542 | <para>To check that traffic is being forwarded from target 2, SSH to |
584 | the target and connect to the VNFs console:</para> | 543 | the target and connect to the VNFs console:</para> |
585 | 544 | ||
586 | <programlisting>Right click on target 2 and select SSH. | 545 | <programlisting>Right click on target 2 and select SSH. |
587 | Run: virsh list | 546 | Run: virsh list |
588 | Run: virsh console [VM NAME] | 547 | Run: virsh console [VM NAME] |
589 | Run: tail -f /opt/testpmd-out</programlisting> | 548 | Run: tail -f /opt/testpmd-out</programlisting> |
590 | </listitem> | 549 | </listitem> |
591 | </orderedlist> | 550 | </orderedlist> |
551 | </section> | ||
592 | </section> | 552 | </section> |
593 | 553 | ||
594 | <section id="vnf_fortigate"> | 554 | <section id="vnf_fortigate"> |
595 | <title>FortiGate VNF</title> | 555 | <title>FortiGate VNF Example</title> |
596 | 556 | ||
597 | <para>FortiGate virtual appliances <remark>is "appliances" the correct | 557 | <para>FortiGate virtual appliances <remark>is "appliances" the correct |
598 | word to use here?</remark> feature all of the security and networking | 558 | word to use here?</remark> feature all of the security and networking |
@@ -893,9 +853,10 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
893 | <orderedlist> | 853 | <orderedlist> |
894 | <listitem> | 854 | <listitem> |
895 | <para>Start the setup by preparing each interface for attachment to | 855 | <para>Start the setup by preparing each interface for attachment to |
896 | a bridge. Bind the physical network interfaces to the DPDK (target | 856 | a bridge. Bind the physical network interfaces to the DPDK by |
897 | -> Configuration -> OpenVSwitch -> Host Interfaces -> | 857 | selecting the target: <literal>Configuration</literal> -> |
898 | Add):</para> | 858 | <literal>OpenVSwitch</literal> -> <literal>Host Interfaces |
859 | </literal>-> <literal>Add</literal>:</para> | ||
899 | 860 | ||
900 | <figure> | 861 | <figure> |
901 | <title>Binding the physical network interface</title> | 862 | <title>Binding the physical network interface</title> |
@@ -925,9 +886,11 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
925 | 886 | ||
926 | <listitem> | 887 | <listitem> |
927 | <para>Create one OpenVSwitch bridge for each firewall network | 888 | <para>Create one OpenVSwitch bridge for each firewall network |
928 | connection (WAN, LAN1 and LAN2), by selecting the "Add" button from | 889 | connection (WAN, LAN1 and LAN2), by selecting the |
929 | Bridges tab (target -> Configuration -> OpenvSwitch-> | 890 | <literal>Add</literal> button from Bridges tab: |
930 | Bridges). A popup like the following should appear:</para> | 891 | <literal>Configuration</literal> -> |
892 | <literal>OpenvSwitch</literal>-> <literal>Bridges</literal>. A | ||
893 | popup like the following should appear:</para> | ||
931 | 894 | ||
932 | <figure> | 895 | <figure> |
933 | <title>Creating a bridge each Firewall Net. Connection</title> | 896 | <title>Creating a bridge each Firewall Net. Connection</title> |
@@ -963,12 +926,12 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
963 | 926 | ||
964 | <orderedlist> | 927 | <orderedlist> |
965 | <listitem> | 928 | <listitem> |
966 | <para>To on-board the Fortigate VNF click the VNF tab in the top | 929 | <para>To on-board the Fortigate VNF click the <literal>VNF</literal> |
967 | toolbar and select the Descriptors button.</para> | 930 | tab in the top toolbar: <literal>VNF</literal> -> |
968 | 931 | <literal>Descriptors</literal> -> <literal>On-board | |
969 | <para>Click on the "Descriptors(2)" -> "On-board(3)" -> | 932 | </literal>-> <literal>Browse</literal> options, and select the |
970 | "Browse(4)" options, and select the "Fortigate.zip" file, before | 933 | <literal>Fortigate.zip</literal> file, before clicking |
971 | clicking "Send":</para> | 934 | <literal>Send</literal>:</para> |
972 | 935 | ||
973 | <figure> | 936 | <figure> |
974 | <title>Selecting Descriptors</title> | 937 | <title>Selecting Descriptors</title> |
@@ -983,8 +946,9 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
983 | </listitem> | 946 | </listitem> |
984 | 947 | ||
985 | <listitem> | 948 | <listitem> |
986 | <para>Wait for the "Onboarding Status" popup to display the | 949 | <para>Wait for the <literal>Onboarding Status</literal> popup to |
987 | confirmation message (listed in green) and select "OK":</para> | 950 | display the confirmation message (listed in green) and select |
951 | <literal>OK</literal>:</para> | ||
988 | 952 | ||
989 | <figure> | 953 | <figure> |
990 | <title>Onboarding the new VNF</title> | 954 | <title>Onboarding the new VNF</title> |
@@ -1004,8 +968,9 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1004 | 968 | ||
1005 | <orderedlist> | 969 | <orderedlist> |
1006 | <listitem> | 970 | <listitem> |
1007 | <para>Select the target device, then from the top toolbar the select | 971 | <para>Select the target, then from the top toolbar the select: |
1008 | "VNF" -> "Instances" -> "Add":</para> | 972 | <literal>VNF</literal> -> <literal>Instances</literal> -> |
973 | <literal>Add</literal>:</para> | ||
1009 | 974 | ||
1010 | <figure> | 975 | <figure> |
1011 | <title>Adding Instances to Target</title> | 976 | <title>Adding Instances to Target</title> |
@@ -1193,8 +1158,9 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1193 | 1158 | ||
1194 | <orderedlist> | 1159 | <orderedlist> |
1195 | <listitem> | 1160 | <listitem> |
1196 | <para>SSH to the target device from the Lab Machine and attach to | 1161 | <para>Connect to the Fortigate VNF by using: <literal>SSH</literal> |
1197 | the VNF's console using the "virsh console" command shown | 1162 | -> <literal>user</literal> (root) and attach to the VNF's console |
1163 | using the <literal>virsh console</literal> command shown | ||
1198 | below:</para> | 1164 | below:</para> |
1199 | 1165 | ||
1200 | <figure> | 1166 | <figure> |
@@ -1210,11 +1176,12 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1210 | </listitem> | 1176 | </listitem> |
1211 | 1177 | ||
1212 | <listitem> | 1178 | <listitem> |
1213 | <para>To access Fortigate CLI, use the credential "admin" for the | 1179 | <para>To access Fortigate CLI, use the credential |
1214 | user, leaving the password blank, then press enter.</para> | 1180 | <literal>admin</literal> for the user, leaving the password blank, |
1181 | then press enter.</para> | ||
1215 | 1182 | ||
1216 | <para>Use the CLI command "get system interface" to get the dynamic | 1183 | <para>Use the CLI command <literal>get system interface</literal> to |
1217 | interfaces configuration.</para> | 1184 | get the dynamic interfaces configuration.</para> |
1218 | 1185 | ||
1219 | <figure> | 1186 | <figure> |
1220 | <title>Acessing and configuring Fortigate CLI</title> | 1187 | <title>Acessing and configuring Fortigate CLI</title> |
@@ -1621,8 +1588,10 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1621 | 1588 | ||
1622 | <orderedlist> | 1589 | <orderedlist> |
1623 | <listitem> | 1590 | <listitem> |
1624 | <para>Bind physical interface to DPDK (target_1 -> Configuration | 1591 | <para>Bind physical interface to DPDK by selecting the target_1: |
1625 | -> OpenVSwitch -> Host Interfaces -> Add):</para> | 1592 | <literal>Configuration</literal> -> |
1593 | <literal>OpenVSwitch</literal> -> <literal>Host | ||
1594 | Interfaces</literal> -> <literal>Add</literal>:</para> | ||
1626 | 1595 | ||
1627 | <figure> | 1596 | <figure> |
1628 | <title>Binding the Physical Interface</title> | 1597 | <title>Binding the Physical Interface</title> |
@@ -1652,9 +1621,11 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1652 | 1621 | ||
1653 | <listitem> | 1622 | <listitem> |
1654 | <para>Create one OpenVSwitch bridge for each SD-WAN network | 1623 | <para>Create one OpenVSwitch bridge for each SD-WAN network |
1655 | connection (VNF management, WAN and LAN) by selecting the "Add" | 1624 | connection (VNF management, WAN and LAN) by selecting the |
1656 | button from the Bridges tab (target -> Configuration -> | 1625 | <literal>Add</literal> button from the Bridges tab by selecting the |
1657 | OpenvSwitch-> Bridges). A popup like this should appear:</para> | 1626 | target: <literal>Configuration</literal> -> |
1627 | <literal>OpenvSwitch</literal>-> <literal>Bridges</literal>. A | ||
1628 | popup like this should appear:</para> | ||
1658 | 1629 | ||
1659 | <figure> | 1630 | <figure> |
1660 | <title>Creating an OpenVSwitch bridge for an SD-WAN network | 1631 | <title>Creating an OpenVSwitch bridge for an SD-WAN network |
@@ -1694,11 +1665,12 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1694 | 1665 | ||
1695 | <orderedlist> | 1666 | <orderedlist> |
1696 | <listitem> | 1667 | <listitem> |
1697 | <para>To on-board a VNF, select a target device on the map and click | 1668 | <para>To on-board a VNF, select target on the map and click the |
1698 | the VNF button in the top toolbar. Then, click the "Descriptors" | 1669 | <literal>VNF</literal> button in the top toolbar. Then, click the |
1699 | -> "On-board" -> "Browse" options, and select the | 1670 | <literal>Descriptors</literal> -> <literal>On-board</literal> |
1671 | -> <literal>Browse</literal> options, and select the | ||
1700 | <filename>Fortigate.zip</filename> file, before clicking | 1672 | <filename>Fortigate.zip</filename> file, before clicking |
1701 | "Send":</para> | 1673 | <literal>Send</literal>:</para> |
1702 | 1674 | ||
1703 | <figure> | 1675 | <figure> |
1704 | <title>On-boarding FortiGate VNF</title> | 1676 | <title>On-boarding FortiGate VNF</title> |
@@ -1713,8 +1685,9 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1713 | </listitem> | 1685 | </listitem> |
1714 | 1686 | ||
1715 | <listitem> | 1687 | <listitem> |
1716 | <para>Wait for the "Onboarding Status" popup to display the | 1688 | <para>Wait for the <literal>Onboarding Status</literal> popup to |
1717 | confirmation message and select "OK":</para> | 1689 | display the confirmation message and select |
1690 | <literal>OK</literal>:</para> | ||
1718 | 1691 | ||
1719 | <figure> | 1692 | <figure> |
1720 | <title>Successful Confirmation</title> | 1693 | <title>Successful Confirmation</title> |
@@ -1738,8 +1711,9 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1738 | 1711 | ||
1739 | <orderedlist> | 1712 | <orderedlist> |
1740 | <listitem> | 1713 | <listitem> |
1741 | <para>Select the target, then from the top toolbar click on "VNF" | 1714 | <para>Select the target, then from the top toolbar click on |
1742 | and choose the "Instances" -> "Add" options:</para> | 1715 | <literal>VNF</literal>-> <literal>Instances</literal> -> |
1716 | <literal>Add</literal> options:</para> | ||
1743 | 1717 | ||
1744 | <figure> | 1718 | <figure> |
1745 | <title>Adding an Instance</title> | 1719 | <title>Adding an Instance</title> |
@@ -1861,7 +1835,7 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1861 | VPN</emphasis></para> | 1835 | VPN</emphasis></para> |
1862 | 1836 | ||
1863 | <para>Once the full SD-WAN setup is in place a VPN connection needs to | 1837 | <para>Once the full SD-WAN setup is in place a VPN connection needs to |
1864 | established between the two devices. The Test Machines can be connected | 1838 | established between the two targets. The Test Machines can be connected |
1865 | to the LAN interface on each target.</para> | 1839 | to the LAN interface on each target.</para> |
1866 | 1840 | ||
1867 | <para>The connected Test Machine can be a laptop or a target that has | 1841 | <para>The connected Test Machine can be a laptop or a target that has |
@@ -1886,8 +1860,8 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1886 | </mediaobject> | 1860 | </mediaobject> |
1887 | </figure> | 1861 | </figure> |
1888 | 1862 | ||
1889 | <para>Test Machine-1 should be able to ping Test Machine-2 in this setup | 1863 | <para>Target 1 should be able to ping Test target 2 in this setup over |
1890 | over the WAN connection.</para> | 1864 | the WAN connection.</para> |
1891 | 1865 | ||
1892 | <para>In the figure above and this example, the FortiGate VNF management | 1866 | <para>In the figure above and this example, the FortiGate VNF management |
1893 | interface is accessible through a dedicated Mgmt interface. The Mgmt IP | 1867 | interface is accessible through a dedicated Mgmt interface. The Mgmt IP |
@@ -1907,9 +1881,9 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
1907 | 1881 | ||
1908 | <para>In the case of an NFV Access device installed on a network with | 1882 | <para>In the case of an NFV Access device installed on a network with |
1909 | limited access, In-band management can be a solution to manage the device | 1883 | limited access, In-band management can be a solution to manage the device |
1910 | and to pass data traffic (through only one physical interface). This demo | 1884 | and to pass data traffic (through only one physical interface). This |
1911 | use-case will show how to enable the In-band management on the NFV Access | 1885 | example use-case will show how to enable the In-band management on the NFV |
1912 | device and to access a VNF on the same physical interface.</para> | 1886 | Access device and to access a VNF on the same physical interface.</para> |
1913 | 1887 | ||
1914 | <figure> | 1888 | <figure> |
1915 | <title>NFV Access In-band management solution setup</title> | 1889 | <title>NFV Access In-band management solution setup</title> |
@@ -2202,4 +2176,350 @@ Run: tail -f /opt/testpmd-out</programlisting> | |||
2202 | LAN port, try a test ping to the internet e.g. "ping 8.8.8.8".</para> | 2176 | LAN port, try a test ping to the internet e.g. "ping 8.8.8.8".</para> |
2203 | </section> | 2177 | </section> |
2204 | </section> | 2178 | </section> |
2205 | </chapter> \ No newline at end of file | 2179 | |
2180 | <section id="vnf_chaining"> | ||
2181 | <title>VNF Chaining Example</title> | ||
2182 | |||
2183 | <section id="VNF_chain_intro"> | ||
2184 | <title>Introduction</title> | ||
2185 | |||
2186 | <para>The purpose of this chapter is to describe an example of how to | ||
2187 | setup and configure a branch-to-branch service comprised on two | ||
2188 | commercial VNFs (SD-WAN + Firewall), running in a service chain on top | ||
2189 | of Enea NFV Access virtualization platform and deployed through Enea | ||
2190 | uCPE Manager. In the example setup the following commercial VNFs are | ||
2191 | used: Juniper vSRX as SD-WAN VNF and Fortigate as | ||
2192 | Router/Firewall.</para> | ||
2193 | |||
2194 | <para>The setup requires two physical appliances (uCPEs), each of them | ||
2195 | having three DPDK-compatible NICs and one interface available for uCPE | ||
2196 | management (i.e. connected to Enea uCPE Manager). On each uCPE, one of | ||
2197 | the DPDK-compatible interfaces shall be connected back-to-back with one | ||
2198 | interface from the other uCPE device - this link is simulating | ||
2199 | WAN/uplink connection.</para> | ||
2200 | |||
2201 | <para>Optionally, one additional device (PC/laptop) can be connected on | ||
2202 | the LAN port of each branch for running LAN-to-LAN connectivity | ||
2203 | tests.</para> | ||
2204 | |||
2205 | <figure> | ||
2206 | <title>Example Setup</title> | ||
2207 | |||
2208 | <mediaobject> | ||
2209 | <imageobject> | ||
2210 | <imagedata align="center" fileref="images/example_setup.png" | ||
2211 | scale="90" /> | ||
2212 | </imageobject> | ||
2213 | </mediaobject> | ||
2214 | </figure> | ||
2215 | |||
2216 | <note><para>For simplicity, image does not present management-plane, which will be | ||
2217 | described in the Setup steps.</para></note> | ||
2218 | </section> | ||
2219 | |||
2220 | <section id="crateing_setup"> | ||
2221 | <title>Creating the setup</title> | ||
2222 | |||
2223 | <para>Both branches in the example have similar setups, therefore | ||
2224 | necessary step details are presented on only one branch. The second | ||
2225 | branch shall be configured in the same way, by changing corresponding | ||
2226 | VNFs configurations files.</para> | ||
2227 | |||
2228 | <orderedlist> | ||
2229 | <listitem> | ||
2230 | <para>Assign three physical interfaces to DPDK (for management, wan | ||
2231 | and lan). In the example, one of them gets IP through DHCP and it | ||
2232 | will be used exclusively for management plane.</para> | ||
2233 | </listitem> | ||
2234 | |||
2235 | <listitem> | ||
2236 | <para>Create the following OVS-DPDK bridges:</para> | ||
2237 | |||
2238 | <itemizedlist> | ||
2239 | <listitem> | ||
2240 | <para>vnf_mgmt_br : used by VNFs management ports.</para> | ||
2241 | </listitem> | ||
2242 | |||
2243 | <listitem> | ||
2244 | <para>wan_br : used by service uplink connection. In our case, | ||
2245 | Juniper vSRX will have its WAN virtual interface in this | ||
2246 | bridge.</para> | ||
2247 | </listitem> | ||
2248 | |||
2249 | <listitem> | ||
2250 | <para>sfc_br : used for creating the service chain. Each VNF | ||
2251 | will have a virtual interface in this bridge.</para> | ||
2252 | </listitem> | ||
2253 | |||
2254 | <listitem> | ||
2255 | <para>lan_br : used for LAN interface of the Fortigate | ||
2256 | FW.</para> | ||
2257 | </listitem> | ||
2258 | </itemizedlist> | ||
2259 | </listitem> | ||
2260 | |||
2261 | <listitem> | ||
2262 | <para>Add corresponding DPDK ports (see Step 1) to the management, | ||
2263 | wan and lan bridges (sfc_br does not have a physical port attached | ||
2264 | to it).</para> | ||
2265 | |||
2266 | <note> | ||
2267 | <para>This networking setup (Steps 1-3) can be modeled using | ||
2268 | Offline Configuration entry, so it is automatically provisioned on | ||
2269 | the uCPE, once it gets enrolled into the management system (uCPE | ||
2270 | Manager).</para> | ||
2271 | </note> | ||
2272 | </listitem> | ||
2273 | |||
2274 | <listitem> | ||
2275 | <para>Onboard Juniper vSRX using Onboarding Wizard:</para> | ||
2276 | |||
2277 | <itemizedlist> | ||
2278 | <listitem> | ||
2279 | <para>Flavor shall have at least 2 vCPUs and 4 GB RAM since vSRX | ||
2280 | is quite resource consuming. (We actually tested with 4 vCPUs/ 6 | ||
2281 | GB RAM).</para> | ||
2282 | </listitem> | ||
2283 | |||
2284 | <listitem> | ||
2285 | <para>Add three virtual interfaces: management, wan and | ||
2286 | lan.</para> | ||
2287 | </listitem> | ||
2288 | |||
2289 | <listitem> | ||
2290 | <para>Select ISO/cdrom on the Cloud-Init tab.</para> | ||
2291 | </listitem> | ||
2292 | </itemizedlist> | ||
2293 | </listitem> | ||
2294 | |||
2295 | <listitem> | ||
2296 | <para>Onboard Fortigate FW using Onboarding Wizard:</para> | ||
2297 | |||
2298 | <itemizedlist> | ||
2299 | <listitem> | ||
2300 | <para>Flavor can be quite light in resources, e.g. 1 vCPU and 2 | ||
2301 | GB RAM.</para> | ||
2302 | </listitem> | ||
2303 | |||
2304 | <listitem> | ||
2305 | <para>Add three virtual interfaces: management, wan and | ||
2306 | lan.</para> | ||
2307 | </listitem> | ||
2308 | |||
2309 | <listitem> | ||
2310 | <para>Select ConfigDrive/cdrom on the Cloud-Init tab.</para> | ||
2311 | </listitem> | ||
2312 | |||
2313 | <listitem> | ||
2314 | <para>Add <literal>license</literal> as Cloud-Init content on the Cloud-Init tab | ||
2315 | files.</para> | ||
2316 | </listitem> | ||
2317 | </itemizedlist> | ||
2318 | |||
2319 | <note> | ||
2320 | <para>Steps 4-5 shall be done only once, i.e. they will not be | ||
2321 | repeated for Site 2.</para> | ||
2322 | </note> | ||
2323 | </listitem> | ||
2324 | |||
2325 | <listitem> | ||
2326 | <para>Create vSRX instance:</para> | ||
2327 | |||
2328 | <itemizedlist> | ||
2329 | <listitem> | ||
2330 | <para>Use vSRX-Site1.iso as Cloud Init file.</para> | ||
2331 | </listitem> | ||
2332 | |||
2333 | <listitem> | ||
2334 | <para>Domain Update Script can be left empty for Atom C3000 | ||
2335 | architecture, while for XeonD please use | ||
2336 | vSRX-domain-update-script file.</para> | ||
2337 | </listitem> | ||
2338 | |||
2339 | <listitem> | ||
2340 | <para>Add virtual interfaces:</para> | ||
2341 | |||
2342 | <itemizedlist> | ||
2343 | <listitem> | ||
2344 | <para>Management interface added to vnf_mgmt_br.</para> | ||
2345 | </listitem> | ||
2346 | </itemizedlist> | ||
2347 | |||
2348 | <itemizedlist> | ||
2349 | <listitem> | ||
2350 | <para>Wan interface added to wan_br.</para> | ||
2351 | </listitem> | ||
2352 | </itemizedlist> | ||
2353 | |||
2354 | <itemizedlist> | ||
2355 | <listitem> | ||
2356 | <para>Lan interface added to sfc_br.</para> | ||
2357 | </listitem> | ||
2358 | </itemizedlist> | ||
2359 | </listitem> | ||
2360 | </itemizedlist> | ||
2361 | |||
2362 | <note> | ||
2363 | <para>login/password for vSRX VNF are root/vsrx1234.</para> | ||
2364 | </note> | ||
2365 | </listitem> | ||
2366 | |||
2367 | <listitem> | ||
2368 | <para>Create Fortigate FW instance</para> | ||
2369 | |||
2370 | <itemizedlist> | ||
2371 | <listitem> | ||
2372 | <para>Use FortiFW-Site1.conf as Cloud Init file.</para> | ||
2373 | </listitem> | ||
2374 | |||
2375 | <listitem> | ||
2376 | <para>Add .lic file (not part of the folder) as license | ||
2377 | file.</para> | ||
2378 | </listitem> | ||
2379 | |||
2380 | <listitem> | ||
2381 | <para>Add virtual interfaces:</para> | ||
2382 | |||
2383 | <itemizedlist> | ||
2384 | <listitem> | ||
2385 | <para>Management interface added to vnf_mgmt_br.</para> | ||
2386 | </listitem> | ||
2387 | </itemizedlist> | ||
2388 | |||
2389 | <itemizedlist> | ||
2390 | <listitem> | ||
2391 | <para>Wan interface added to sfc_br.</para> | ||
2392 | </listitem> | ||
2393 | </itemizedlist> | ||
2394 | |||
2395 | <itemizedlist> | ||
2396 | <listitem> | ||
2397 | <para>Lan interface added to lan_br.</para> | ||
2398 | </listitem> | ||
2399 | </itemizedlist> | ||
2400 | </listitem> | ||
2401 | </itemizedlist> | ||
2402 | |||
2403 | <note> | ||
2404 | <para>login/password for Juniper VNF are admin/<empty | ||
2405 | password>.</para> | ||
2406 | </note> | ||
2407 | </listitem> | ||
2408 | </orderedlist> | ||
2409 | |||
2410 | <para>At this stage service shall be up and running on Site1. Repeat | ||
2411 | necessary steps of Site2, by changing configuration files. After service | ||
2412 | is deployed on both branches, VPN tunnel is established and we can | ||
2413 | verify LAN to LAN visibility by connecting one device on each uCPE LAN | ||
2414 | port (see below).</para> | ||
2415 | </section> | ||
2416 | |||
2417 | <section id="test_setup"> | ||
2418 | <title>Testing the setup</title> | ||
2419 | |||
2420 | <para>Before testing LAN to LAN connectivity, one can run preliminary | ||
2421 | tests of service to ensure everything was set-up properly. For instance, | ||
2422 | by connecting to vSRX CLI (any site), one can test IKE security | ||
2423 | associations:</para> | ||
2424 | |||
2425 | <programlisting>root@Atom-C3000> show security ike security-associations | ||
2426 | Index State Initiator cookie Responder cookie Mode Remote Address | ||
2427 | 1588673 UP 2f2047b144ebfce4 0000000000000000 Aggressive 10.1.1.2 | ||
2428 | ... | ||
2429 | root@Atom-C3000> show security ike security-associations index 1588673 detail | ||
2430 | ...</programlisting> | ||
2431 | |||
2432 | <para>Also, from vSRX CLI, one can check that VPN tunnel was established | ||
2433 | and get statistics of the packets passing the tunnel:</para> | ||
2434 | |||
2435 | <programlisting>root@Atom-C3000> show security ipsec security-associations | ||
2436 | ... | ||
2437 | root@Atom-C3000> show security ipsec statistics index <xxxxx> | ||
2438 | ...</programlisting> | ||
2439 | |||
2440 | <para>From Fortigate Firewall CLI on Site 1, one can check connectivity | ||
2441 | to remote Fortigate FW (from Site 2):</para> | ||
2442 | |||
2443 | <programlisting>FGVM080000136187 # execute ping 192.168.168.2 | ||
2444 | PING 192.168.168.2 (192.168.168.2): 56 data bytes | ||
2445 | 64 bytes from 192.168.168.2: icmp_seq=0 ttl=255 time=0.0 ms | ||
2446 | 64 bytes from 192.168.168.2: icmp_seq=1 ttl=255 time=0.0 ms | ||
2447 | 64 bytes from 192.168.168.2: icmp_seq=2 ttl=255 time=0.0 ms | ||
2448 | ...</programlisting> | ||
2449 | |||
2450 | <para>As VNFs management ports were configured to get IPs through DHCP, | ||
2451 | one can use Web-based management UI to check and modify the | ||
2452 | configurations of both vSRX and Fortigate.</para> | ||
2453 | |||
2454 | <para>For example, in case of vSRX, from VNF CLI you can list the | ||
2455 | virtual interfaces as below:</para> | ||
2456 | |||
2457 | <programlisting>root@Atom-C3000> show interfaces terse | ||
2458 | ... | ||
2459 | fxp0.0 up up inet 172.24.15.92/22 | ||
2460 | gre up up | ||
2461 | ipip up up | ||
2462 | ... | ||
2463 | </programlisting> | ||
2464 | |||
2465 | <para>When using provided configurations, VNF management port of Juniper | ||
2466 | vSRX is always "fxp0.0".</para> | ||
2467 | |||
2468 | <para>In case of Fortigate, from VNF CLI you can list the virtual | ||
2469 | interfaces like :</para> | ||
2470 | |||
2471 | <programlisting>FGVM080000136187 # get system interface | ||
2472 | == [ port1 ] | ||
2473 | name: port1 mode: dhcp ip: 172.24.15.94 255.255.252.0 status: up netbios-forward: | ||
2474 | disable type: physical netflow-sampler: disable sflow-sampler: disable... | ||
2475 | ...</programlisting> | ||
2476 | |||
2477 | <para>When using provided configurations, VNF management port of | ||
2478 | Fortigate is always "port1".</para> | ||
2479 | |||
2480 | <note> | ||
2481 | <para>Please note that VNFs' management ports will get dynamically | ||
2482 | allocated IPs only if physical NIC used for management is configured | ||
2483 | to get its IP through DHCP (see Step 1 from above).</para> | ||
2484 | </note> | ||
2485 | |||
2486 | <para>If everything is working, we can check LAN-to-LAN connectivity | ||
2487 | (through VPN tunnel) by using two devices (PC/laptop) connected to the | ||
2488 | LAN ports of each uCPE. Optionally, these devices can be simulated by | ||
2489 | using Enea's sample VNF running on both uCPEs and connected to the | ||
2490 | lan_br on each side. However, instructions for onboarding and | ||
2491 | instantiating this VNF is not in the scope of this document.</para> | ||
2492 | |||
2493 | <para>Since Fortigate VNF, which is acting as router and firewall, is | ||
2494 | configured to be DHCP server for LAN network, device interface connected | ||
2495 | to uCPE LAN port has to be configured to get dinamically assigned IP. | ||
2496 | These IPs are in 172.0.0.0/24 network for Site1 and 172.10.10.0/24 | ||
2497 | network for Site2. Therefore, site-to-site connectivity can be checked | ||
2498 | like (from Site1):</para> | ||
2499 | |||
2500 | <programlisting>root@atom-c3000:~# ping 172.10.10.2 | ||
2501 | PING 172.10.10.1 (172.10.10.2): 56 data bytes | ||
2502 | ... | ||
2503 | </programlisting> | ||
2504 | </section> | ||
2505 | |||
2506 | <section id="limitation"> | ||
2507 | <title>Out-of-Scope/Limitations</title> | ||
2508 | <para>Below is a list of known limitations:</para> | ||
2509 | <itemizedlist> | ||
2510 | <listitem> | ||
2511 | <para>vSRX VNF has no trust-to-untrust and untrust-to-trust policies | ||
2512 | (only trust-to-vpn and vpn-to-trust were configured). Therefore, | ||
2513 | uCPEs were not configured for "direct Internet access" | ||
2514 | use-case.</para> | ||
2515 | </listitem> | ||
2516 | |||
2517 | <listitem> | ||
2518 | <para>Fortigate VNF has no "real" firewall policies set, i.e. all | ||
2519 | traffic from LAN is allowed to pass through WAN interface and | ||
2520 | vice-versa.</para> | ||
2521 | </listitem> | ||
2522 | </itemizedlist> | ||
2523 | </section> | ||
2524 | </section> | ||
2525 | </chapter> | ||
diff --git a/doc/book-enea-nfv-access-example-usecases/doc/images/example_setup.png b/doc/book-enea-nfv-access-example-usecases/doc/images/example_setup.png new file mode 100755 index 0000000..e6f6cf4 --- /dev/null +++ b/doc/book-enea-nfv-access-example-usecases/doc/images/example_setup.png | |||
Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-getting-started/doc/getting_started_nfv_access.xml b/doc/book-enea-nfv-access-getting-started/doc/getting_started_nfv_access.xml index 3fdedad..ccb49e6 100644 --- a/doc/book-enea-nfv-access-getting-started/doc/getting_started_nfv_access.xml +++ b/doc/book-enea-nfv-access-getting-started/doc/getting_started_nfv_access.xml | |||
@@ -6,9 +6,8 @@ | |||
6 | 6 | ||
7 | <para>Enea NFV Access is a virtualization and management platform for white | 7 | <para>Enea NFV Access is a virtualization and management platform for white |
8 | box uCPEs. It scales from ultra-low to high end CPEs, providing minimal | 8 | box uCPEs. It scales from ultra-low to high end CPEs, providing minimal |
9 | footprint and maximum networking performance. NFV Access can be deployed on | 9 | footprint and maximum networking performance. The NFV Access platform can be |
10 | large number of devices with various hardware configurations.</para> | 10 | deployed on a large number of devices with various hardware configurations.</para> |
11 | |||
12 | <section id="access_installer"> | 11 | <section id="access_installer"> |
13 | <title>Enea NFV Access Installer</title> | 12 | <title>Enea NFV Access Installer</title> |
14 | 13 | ||
@@ -277,7 +276,7 @@ of=/dev/sdb bs=4M conv=fsync</programlisting></para> | |||
277 | </listitem> | 276 | </listitem> |
278 | 277 | ||
279 | <listitem> | 278 | <listitem> |
280 | <para>To launch the installer, select <command>installer</command> | 279 | <para>To launch the installer, select the <command>installer</command> |
281 | option from the GRUB menu:</para> | 280 | option from the GRUB menu:</para> |
282 | 281 | ||
283 | <itemizedlist> | 282 | <itemizedlist> |
diff --git a/doc/book-enea-nfv-access-getting-started/doc/introduction.xml b/doc/book-enea-nfv-access-getting-started/doc/introduction.xml index c0496e7..1f5bb0b 100644 --- a/doc/book-enea-nfv-access-getting-started/doc/introduction.xml +++ b/doc/book-enea-nfv-access-getting-started/doc/introduction.xml | |||
@@ -98,8 +98,7 @@ | |||
98 | </listitem> | 98 | </listitem> |
99 | </itemizedlist> | 99 | </itemizedlist> |
100 | <para>For additional information about features provided in Enea NFV | 100 | <para>For additional information about features provided in Enea NFV |
101 | Access, refer to the <olink targetdoc= | 101 | Access, refer to the Enea NFV Access Reference Guide |
102 | "book_enea_nfv_access_reference_guide_intel">Enea NFV Access Reference Guide</olink> | ||
103 | provided with your release. For how to install and run Enea | 102 | provided with your release. For how to install and run Enea |
104 | NFV Access on supported devices, please refer to <xref | 103 | NFV Access on supported devices, please refer to <xref |
105 | linkend="plat-release-content"> | 104 | linkend="plat-release-content"> |