summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Borg <martin.borg@enea.com>2019-08-30 14:07:10 +0200
committerAdrian Dudau <Adrian.Dudau@enea.com>2019-09-02 14:40:22 +0200
commit802a6c3c0f26327f014e097dc205f0916b91a8a0 (patch)
tree899739de6ca11257ccc1c54a3e2e11119b57b664
parente68d90f767be7105cdba9538e341d0782f8aafbe (diff)
downloadel_releases-nfv-access-802a6c3c0f26327f014e097dc205f0916b91a8a0.tar.gz
Example Use-cases: Update Enea VNF example
- Replace bundle with VNF image and update onboarding/instantiation instructions - Add cloud-init configurations - Remove descriptions of how to navigate the uCPE manager GUI - Remove images that are incorrect Change-Id: I6e8d05ae37a360e6957648049b1469a439df6981 Signed-off-by: Martin Borg <martin.borg@enea.com>
-rw-r--r--doc/book-enea-nfv-access-example-usecases/doc/enea_vnf_examples.xml252
1 files changed, 141 insertions, 111 deletions
diff --git a/doc/book-enea-nfv-access-example-usecases/doc/enea_vnf_examples.xml b/doc/book-enea-nfv-access-example-usecases/doc/enea_vnf_examples.xml
index 8f11107..3cc5a18 100644
--- a/doc/book-enea-nfv-access-example-usecases/doc/enea_vnf_examples.xml
+++ b/doc/book-enea-nfv-access-example-usecases/doc/enea_vnf_examples.xml
@@ -1,30 +1,40 @@
1<?xml version="1.0" encoding="ISO-8859-1"?> 1<?xml version="1.0" encoding="ISO-8859-1"?>
2<chapter id="enea_vnf_examples"> 2<chapter id="enea_vnf_examples">
3 <title>Enea VNF Example Use-cases</title> 3 <title>Enea NFV Access VNF Example Use-cases</title>
4
5 <para>Enea NFV Access is a complete NFV Infrastructure (NFVI) platform
6 designed for deployment on white box uCPEs at the customer premise, and
7 optimized for common Virtual Customer Premises Equipment (vCPE) and SD-WAN
8 use cases.</para>
9 4
10 <section id="prere_enea_vnf"> 5 <section id="prere_enea_vnf">
11 <title>Prerequisites</title> 6 <title>Prerequisites</title>
12 7
13 <para>The following file(s) are needed for this example use-case: 8 <para>The following files are needed for this example use-case:</para>
14 <literal>enea-nfv-access-vnf-qemux86-64.qcow2</literal>. This image is 9
15 provided with your release.</para> 10 <remark>FIXME: These filenames may need to be updated</remark>
11
12 <itemizedlist>
13 <listitem>
14 <para><literal>enea-nfv-access-vnf-qemux86-64.wic.qcow2</literal></para>
15 </listitem>
16
17 <listitem>
18 <para><literal>enea-vnf-testpmd-fwd.cfg</literal></para>
19 </listitem>
20
21 <listitem>
22 <para><literal>enea-vnf-testpmd-term.cfg</literal></para>
23 </listitem>
24 </itemizedlist>
16 </section> 25 </section>
17 26
18 <section id="enea_vnf"> 27 <section id="enea_vnf">
19 <title>TestPMD VNF</title> 28 <title>TestPMD VNF</title>
20 29
21 <para>In this use-case, <literal>uCPE device 1</literal> will run pktgen 30 <para>In this use-case, uCPE device 1 runs the pktgen DPDK application to
22 (the DPDK application) and <literal>uCPE device 2</literal> will onboard 31 generate traffic and uCPE device 2 runs two Enea NFV Access VNFs. One VNF
23 and instantiate two VNFs. One VNF will run <literal>testpmd_fwd</literal>, 32 runs the TestPMD DPDK application forwarding traffic, and the other runs
24 forwarding traffic, and the other will run <literal>testpmd_term</literal> 33 the TestPMD in order to terminate traffic.</para>
25 which will terminate traffic.</para>
26 34
27 <figure> 35 <remark>FIXME: New image needed</remark>
36
37 <figure condition="hidden">
28 <title>Enea TestPMD VNF Overview</title> 38 <title>Enea TestPMD VNF Overview</title>
29 39
30 <mediaobject> 40 <mediaobject>
@@ -38,164 +48,183 @@
38 <section id="enea_vnf_setup"> 48 <section id="enea_vnf_setup">
39 <title>Use-case Setup</title> 49 <title>Use-case Setup</title>
40 50
41 <para><emphasis role="bold">Configuring Network Interfaces on uCPE 51 <para><emphasis role="bold">Network Configuration:</emphasis></para>
42 devices:</emphasis></para>
43 52
44 <orderedlist> 53 <orderedlist>
45 <listitem> 54 <listitem>
46 <para>Bind the host interfaces to the DPDK by selecting 55 <para>Select uCPE device 1, access <literal>Configuration</literal>,
47 <literal>uCPE device 1</literal> first, then accessing 56 add the network interface that will be used and configure it for
48 <literal>Configuration</literal> -&gt; 57 DPDK. Note the PCI address of the interface, it will be used later
49 <literal>OpenVSwitch</literal> -&gt; <literal>Host 58 to run the pktgen application.</para>
50 Interfaces</literal> -&gt; <literal>Add</literal>.</para>
51 </listitem> 59 </listitem>
52 60
53 <listitem> 61 <listitem>
54 <para>Select the network interface that will be used to connect to 62 <para>Select uCPE device 2, access <literal>Configuration</literal>,
55 the second uCPE device and configure it for the DPDK.</para> 63 add the network interface that will be used and configure it for
64 DPDK.</para>
56 </listitem> 65 </listitem>
57 66
58 <listitem> 67 <listitem>
59 <para>Select the <literal>Create</literal> button to send the 68 <para>Create an OVS bridge on uCPE device 2 and attach the DPDK
60 configuration to <literal>uCPE device 1</literal>.</para> 69 interface.</para>
61 </listitem> 70 </listitem>
71 </orderedlist>
62 72
73 <para><emphasis role="bold">Onboarding the VNF:</emphasis></para>
74
75 <para>Onboard the Enea NFV Access VNF by filling the required fields
76 with the following values:</para>
77
78 <itemizedlist spacing="compact">
63 <listitem> 79 <listitem>
64 <para>Repeat these same steps on <literal>uCPE device 80 <para><emphasis role="bold">VM Image File</emphasis>: Provide the
65 2</literal>.</para> 81 path to the Enea NFV Access VNF qcow2 image.</para>
66 </listitem> 82 </listitem>
67 83
68 <listitem> 84 <listitem>
69 <para>Click the <literal>Add</literal> button from the Bridges 85 <para><emphasis role="bold">Memory in MB</emphasis>: 2048</para>
70 tab.</para>
71 </listitem> 86 </listitem>
72 87
73 <listitem> 88 <listitem>
74 <para>Create an Open vSwitch bridge (<literal>ovsbr0</literal>) on 89 <para><emphasis role="bold">Num of CPUs</emphasis>: 2</para>
75 <literal>uCPE device 1</literal> that uses one DPDK interface, by
76 selecting <literal>uCPE device 1</literal>, then:
77 <literal>Configuration</literal> -&gt;<literal>OpenVSwitch</literal>
78 -&gt;<literal>Bridges</literal>.</para>
79 </listitem> 90 </listitem>
80 </orderedlist>
81 91
82 <para><emphasis role="bold">Onboarding the VNF:</emphasis></para> 92 <listitem>
93 <para><emphasis role="bold">Storage in GB</emphasis>: 10</para>
94 </listitem>
83 95
84 <orderedlist>
85 <listitem> 96 <listitem>
86 <para>Select <literal>VNF</literal> 97 <para><emphasis role="bold">Interfaces</emphasis>: Add 1
87 -&gt;<literal>Descriptor</literal> -&gt; 98 interface.</para>
88 <literal>On-board</literal>.</para>
89 </listitem> 99 </listitem>
90 100
91 <listitem> 101 <listitem>
92 <para>Select the <literal>VM Image</literal> radio button.</para> 102 <para><emphasis role="bold">Cloud-init Datasource</emphasis>:
103 NoCloud</para>
93 </listitem> 104 </listitem>
94 105
95 <listitem> 106 <listitem>
96 <para>Provide the path to the qcow image by selecting 107 <para><emphasis role="bold">Cloud-init Disk Type</emphasis>:
97 <literal>Browse </literal> from the <literal>VM image file</literal> 108 disk</para>
98 option.</para>
99 </listitem> 109 </listitem>
110 </itemizedlist>
100 111
112 <para><emphasis role="bold">Instantiating the VNFs:</emphasis></para>
113
114 <orderedlist>
101 <listitem> 115 <listitem>
102 <para>Fill the required fields below and press 116 <para>Instantiate the Enea NFV Access TestPMD forwarding VNF on uCPE
103 <literal>Onboard</literal>:</para> 117 Device 2 by filling the required fields with the following
118 values:</para>
104 119
105 <itemizedlist spacing="compact"> 120 <itemizedlist spacing="compact">
106 <listitem> 121 <listitem>
107 <para><emphasis role="bold">Memory in MB</emphasis>: 1024</para> 122 <para><emphasis role="bold">Name</emphasis>: testpmd_fwd</para>
108 </listitem> 123 </listitem>
109 124
110 <listitem> 125 <listitem>
111 <para><emphasis role="bold">Nr. of CPUs</emphasis>: 1</para> 126 <para><emphasis role="bold">VNF Type</emphasis>: Select Enea NFV
127 Access VNF.</para>
112 </listitem> 128 </listitem>
113 129
114 <listitem> 130 <listitem>
115 <para><emphasis role="bold">Storage in GB</emphasis>: 10</para> 131 <para><emphasis role="bold">uCPE Device</emphasis>: Select uCPE
132 device 2.</para>
116 </listitem> 133 </listitem>
117 </itemizedlist>
118 </listitem>
119 </orderedlist>
120 134
121 <para><emphasis role="bold">Instantiating two VNFs on uCPE device 135 <listitem>
122 2:</emphasis></para> 136 <para><emphasis role="bold">Cloud Init File</emphasis>: Provide
137 the path to the Enea VNF TestPMD forwarding cloud-init
138 file.</para>
139 </listitem>
123 140
124 <orderedlist> 141 <listitem>
125 <listitem> 142 <para><emphasis role="bold">Interfaces</emphasis>: Set the
126 <para>Select uCPE device 2, then access <literal>VNF</literal> -&gt; 143 interface type to <literal>DPDK</literal> and select the OVS
127 <literal>Instances</literal> -&gt; <literal>Add</literal>.</para> 144 bridge created above.</para>
145 </listitem>
146 </itemizedlist>
128 </listitem> 147 </listitem>
129 148
130 <listitem> 149 <listitem>
131 <para>Fill-in the required fields and click 150 <para>Instantiate the Enea NFV Access TestPMD termination VNF on
132 <literal>Create</literal>.</para> 151 uCPE Device 2 by filling the required fields with the following
133 </listitem> 152 values:</para>
134 153
135 <listitem> 154 <itemizedlist spacing="compact">
136 <para>Configure VNF 1 to forward traffic.</para> 155 <listitem>
137 </listitem> 156 <para><emphasis role="bold">Name</emphasis>: testpmd_term</para>
157 </listitem>
138 158
139 <listitem> 159 <listitem>
140 <para>Configure VNF 2 to terminate traffic.</para> 160 <para><emphasis role="bold">VNF Type</emphasis>: Select Enea NFV
141 </listitem> 161 Access VNF.</para>
162 </listitem>
142 163
143 <listitem> 164 <listitem>
144 <para>Add Open vSwitch flows to control this traffic:</para> 165 <para><emphasis role="bold">uCPE Device</emphasis>: Select uCPE
166 device 2.</para>
167 </listitem>
145 168
146 <figure> 169 <listitem>
147 <title>Configuring the FWD flow</title> 170 <para><emphasis role="bold">Cloud Init File</emphasis>: Provide
171 the path to the Enea VNF TestPMD termination cloud-init
172 file.</para>
173 </listitem>
148 174
149 <mediaobject> 175 <listitem>
150 <imageobject> 176 <para><emphasis role="bold">Interfaces</emphasis>: Set the
151 <imagedata align="center" fileref="images/flow_fwd.png" 177 interface type to <literal>DPDK</literal> and select the OVS
152 scale="90" /> 178 bridge created above.</para>
153 </imageobject> 179 </listitem>
154 </mediaobject> 180 </itemizedlist>
155 </figure> 181 </listitem>
182 </orderedlist>
156 183
157 <figure> 184 <para><emphasis role="bold">Creating OVS flow rules:</emphasis></para>
158 <title>Configuring the TERM flow</title>
159 185
160 <mediaobject> 186 <para>Select uCPE device 2, access <literal>Configuration</literal>,
161 <imageobject> 187 open the OVS bridge and add two flow rules:</para>
162 <imagedata align="center" fileref="images/flow_term.png"
163 scale="90" />
164 </imageobject>
165 </mediaobject>
166 </figure>
167 </listitem>
168 188
189 <itemizedlist>
169 <listitem> 190 <listitem>
170 <para>Start pktgen on uCPE device 1. Connect to the device by 191 <para>Source: DPDK interface, Target: testpmd_fwd</para>
171 selecting it first, then access <literal>SSH</literal> -&gt; 192 </listitem>
172 <literal>user</literal> (root) and perform the following:</para>
173
174 <programlisting>cd /usr/share/apps/pktgen/
175./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 -w 0000:05:00.3 -- \
176-P -m "[1:2].0"
177Pktgen:/&gt; start 0</programlisting>
178 193
179 <note> 194 <listitem>
180 <para>The PCI address &lt;0000:05:00.3&gt; used in this example 195 <para>Source: testpmd_fwd, Target: testpmd_term</para>
181 varies depending on the uCPE device. To determine the exact PCI
182 address used, look in the uCPE device specific Network
183 configuration.</para>
184 </note>
185 </listitem> 196 </listitem>
186 </orderedlist> 197 </itemizedlist>
187 </section> 198 </section>
188 199
189 <section id="test_ena_vnf"> 200 <section id="test_ena_vnf">
190 <title>Testing the Use-case</title> 201 <title>Testing the Use-case</title>
191 202
192 <para>Connect to the forwarder VNF in order to check the traffic 203 <orderedlist>
193 statistics, by selecting the uCPE device first, then accessing 204 <listitem>
194 <literal>SSH</literal> -&gt; <literal>user</literal> (root):</para> 205 <para>SSH to uCPE device 1 (Username: root) and start the pktgen
206 application:</para>
207
208 <programlisting>cd /usr/share/apps/pktgen/
209./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 -w 0000:01:00.0 -- \
210 -P -m "[1:2].0"
211
212Pktgen:/&gt; start 0</programlisting>
213
214 <note>
215 <para>Replace 0000:01:00.0 with the actual PCI address of the network
216 interface used on uCPE device 1.</para>
217 </note></listitem>
195 218
196 <programlisting>Virsh list 219 <listitem><para>SSH to uCPE device 2 and connect to the TestPMD forwarding VNF
197Virsh console 1 220 console:</para>
198# Qemux86-64 login: root 221
222 <programlisting>virsh list
223virsh console &lt;id of testpmd fwd&gt;</programlisting></listitem>
224
225 <listitem><para>Check the TestPMD traffic forwarding statistics:</para>
226
227 <programlisting># qemux86-64 login: root
199tail -f /var/log/testpmd-out</programlisting> 228tail -f /var/log/testpmd-out</programlisting>
200 229
201 <figure> 230 <figure>
@@ -207,7 +236,8 @@ tail -f /var/log/testpmd-out</programlisting>
207 fileref="images/connection_information.png" scale="70" /> 236 fileref="images/connection_information.png" scale="70" />
208 </imageobject> 237 </imageobject>
209 </mediaobject> 238 </mediaobject>
210 </figure> 239 </figure></listitem>
240 </orderedlist>
211 </section> 241 </section>
212 242
213 <section condition="hidden" id="vnf_pci"> 243 <section condition="hidden" id="vnf_pci">