summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiruna Paun <Miruna.Paun@enea.com>2017-06-30 13:50:29 +0200
committerMiruna Paun <Miruna.Paun@enea.com>2017-06-30 13:50:29 +0200
commit740932118710e9b7c7b45a74b0db2b389957bcb3 (patch)
treed09b588cc49f8acfc5e7ef637ac60b5774e3cee0
parent449f6960591c2b9e871a7e682c175754fe8cb3f8 (diff)
downloadel_releases-virtualization-740932118710e9b7c7b45a74b0db2b389957bcb3.tar.gz
Renaming all EL7 virt profile titles to "Enea NFV Access"
LXCR-7844 LXCR-7844 Redo the chapter structure for EL Virtualization Guide Signed-off-by: Miruna Paun <Miruna.Paun@enea.com>
-rw-r--r--doc/Makefile17
-rw-r--r--doc/book-enea-linux-virtualization-guide/doc/basic_configuration_guide.xml17
-rw-r--r--doc/book-enea-linux-virtualization-guide/doc/book.xml15
-rw-r--r--doc/book-enea-linux-virtualization-guide/doc/overview.xml18
-rw-r--r--doc/book-enea-linux-virtualization-guide/doc/workflow.xml24
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml14
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/book.xml30
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml8
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml118
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/eltf_params_template.xml (renamed from doc/book-enea-linux-release-info/doc/eltf_params_template.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated.xml (renamed from doc/book-enea-linux-virtualization-guide/doc/eltf_params_updated.xml)2
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated_template_how_to_use.txt (renamed from doc/book-enea-linux-virtualization-guide/doc/eltf_params_updated_template_how_to_use.txt)0
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml127
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml328
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/images/virtual_network_functions.pngbin0 -> 24106 bytes
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/ovs.xml161
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/platform_overview.xml165
-rw-r--r--doc/book-enea-nfv-access-platform-guide/doc/using_nfv_access_platform_sdks.xml203
-rw-r--r--doc/book-enea-nfv-access-platform-guide/swcomp.mk (renamed from doc/book-enea-linux-release-info/swcomp.mk)4
-rw-r--r--doc/book-enea-nfv-access-platform-open-source/doc/README (renamed from doc/book-enea-linux-open-source/doc/README)0
-rw-r--r--doc/book-enea-nfv-access-platform-open-source/doc/about.xml (renamed from doc/book-enea-linux-open-source/doc/about.xml)4
-rw-r--r--doc/book-enea-nfv-access-platform-open-source/doc/book.xml (renamed from doc/book-enea-linux-open-source/doc/book.xml)6
-rw-r--r--doc/book-enea-nfv-access-platform-open-source/doc/licenses.xml (renamed from doc/book-enea-linux-open-source/doc/licenses.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-open-source/swcomp.mk (renamed from doc/book-enea-linux-virtualization-guide/swcomp.mk)4
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/about_release.xml (renamed from doc/book-enea-linux-release-info/doc/about_release.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/book.xml (renamed from doc/book-enea-linux-release-info/doc/book.xml)4
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/build_boot_template.xml (renamed from doc/book-enea-linux-release-info/doc/build_boot_template.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_template.xml (renamed from doc/book-enea-linux-virtualization-guide/doc/eltf_params_template.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml (renamed from doc/book-enea-linux-release-info/doc/eltf_params_updated.xml)2
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated_template_how_to_use.txt (renamed from doc/book-enea-linux-release-info/doc/eltf_params_updated_template_how_to_use.txt)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/getting_enea_linux.xml (renamed from doc/book-enea-linux-release-info/doc/getting_enea_linux.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/jiraissues_override.xml (renamed from doc/book-enea-linux-release-info/doc/jiraissues_override.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/known_bugs_and_limitations.xml (renamed from doc/book-enea-linux-release-info/doc/known_bugs_and_limitations.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/main_changes.xml (renamed from doc/book-enea-linux-release-info/doc/main_changes.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/prerequisites.xml (renamed from doc/book-enea-linux-release-info/doc/prerequisites.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/doc/system_requirements.xml (renamed from doc/book-enea-linux-release-info/doc/system_requirements.xml)0
-rw-r--r--doc/book-enea-nfv-access-platform-release-info/swcomp.mk (renamed from doc/book-enea-linux-open-source/swcomp.mk)4
-rw-r--r--doc/manifest_conf.mk4
38 files changed, 1180 insertions, 99 deletions
diff --git a/doc/Makefile b/doc/Makefile
index f99ff90..50830de 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,3 +1,4 @@
1#2017-06-29 Converted EL7 virtualization profile to first version of ENFV Access Platform
1#2017-04-13 Created first version of virtualization profile 2#2017-04-13 Created first version of virtualization profile
2 3
3#Path to this subsystem's root directory 4#Path to this subsystem's root directory
@@ -20,16 +21,16 @@ TMPCLONEROOT_MANIFEST := $(TMPCLONEROOT)/manifest
20 21
21 22
22# ******************* AutoGenerated chapters from template and target READMEs ******* 23# ******************* AutoGenerated chapters from template and target READMEs *******
23BUILDBOOT_XML := book-enea-linux-release-info/doc/build_boot_generated.xml 24BUILDBOOT_XML := book-enea-nfv-access-platform-release-info/doc/build_boot_generated.xml
24BUILDBOOT_TEMPLATE := book-enea-linux-release-info/doc/build_boot_template.xml 25BUILDBOOT_TEMPLATE := book-enea-nfv-access-platform-release-info/doc/build_boot_template.xml
25 26
26PKGDIFF_GEN_XML := book-enea-linux-release-info/doc/pkgdiff_generated.xml 27PKGDIFF_GEN_XML := book-enea-nfv-access-platform-release-info/doc/pkgdiff_generated.xml
27JIRA_ISSUES_GEN_XML := book-enea-linux-release-info/doc/jiraissues_generated.xml 28JIRA_ISSUES_GEN_XML := book-enea-nfv-access-platform-release-info/doc/jiraissues_generated.xml
28 29
29MACHINE_LIST_XML := book-enea-linux-release-info/doc/machine_list_generated.xml 30MACHINE_LIST_XML := book-enea-nfv-access-platform-release-info/doc/machine_list_generated.xml
30 31
31ELTF_PARAMS_TEMPLATE := book-enea-linux-release-info/doc/eltf_params_template.xml 32ELTF_PARAMS_TEMPLATE := book-enea-nfv-access-platform-release-info/doc/eltf_params_template.xml
32ELTF_PARAMS_UPDATED := book-enea-linux-release-info/doc/eltf_params_updated.xml 33ELTF_PARAMS_UPDATED := book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml
33 34
34 35
35 36
@@ -47,7 +48,7 @@ DOCBOOK_TO_BOOKDIR ?= yes
47DOCBOOK_CLEANTMP ?= yes 48DOCBOOK_CLEANTMP ?= yes
48 49
49#Components (books) in this subsystem. Now use all books found here 50#Components (books) in this subsystem. Now use all books found here
50# COMPONENTS := book-enea-linux-release-info book-enea-linux-open-source 51# COMPONENTS := book-enea-nfv-access-platform-release-info book-enea-linux-open-source
51# COMPONENTS += book-enea-linux-eclipse-open-source (as of 13.04.2017 this is not needed) 52# COMPONENTS += book-enea-linux-eclipse-open-source (as of 13.04.2017 this is not needed)
52COMPONENTS := $(shell ls -d book-enea* ) 53COMPONENTS := $(shell ls -d book-enea* )
53 54
diff --git a/doc/book-enea-linux-virtualization-guide/doc/basic_configuration_guide.xml b/doc/book-enea-linux-virtualization-guide/doc/basic_configuration_guide.xml
deleted file mode 100644
index e28f7b1..0000000
--- a/doc/book-enea-linux-virtualization-guide/doc/basic_configuration_guide.xml
+++ /dev/null
@@ -1,17 +0,0 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="basic-configuration">
5 <title>Basic Configuration</title>
6
7 <para>To properly make use of the all the features offered in this release,
8 a basic configuration must be done beforehand, to ensure all required
9 settings are in working order. Below you will find details on how to
10 proceed.</para>
11
12 <para>:<remark>INFO: The programlisting below is a parameters in
13 eltf_params_updated.xml with ID: "eltf-prereq-apt-get-command-host". If
14 multiple hosts are supported, store the commands for each host in the same
15 programlisting with empty lines between each - the comment with the FULL
16 HOST name and version is essential.</remark></para>
17</chapter> \ No newline at end of file
diff --git a/doc/book-enea-linux-virtualization-guide/doc/book.xml b/doc/book-enea-linux-virtualization-guide/doc/book.xml
deleted file mode 100644
index 226a064..0000000
--- a/doc/book-enea-linux-virtualization-guide/doc/book.xml
+++ /dev/null
@@ -1,15 +0,0 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4]>
5<book id="book_enea_linux_virtualization_guide">
6 <title><trademark class="registered">Enea</trademark> Linux Virtualization Guide</title>
7 <subtitle>Release Version
8 <xi:include href="eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)"
9 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
10 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
11 <xi:include href="overview.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
12 <xi:include href="basic_configuration_guide.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
13 <xi:include href="workflow.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
14 <xi:include href="../../s_docbuild/template/docsrc_common/contacting_enea_enea_linux.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
15</book>
diff --git a/doc/book-enea-linux-virtualization-guide/doc/overview.xml b/doc/book-enea-linux-virtualization-guide/doc/overview.xml
deleted file mode 100644
index 7fd4cdf..0000000
--- a/doc/book-enea-linux-virtualization-guide/doc/overview.xml
+++ /dev/null
@@ -1,18 +0,0 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="overview">
5 <title>Overview</title>
6
7 <para>The Virtualization Guide available with this release of Enea Linux,
8 seeks to provide further information that will help all intended users make
9 the most out of the virtualization features.<remark>INFO <emphasis
10 role="bold">eltf_params_updated.xml</emphasis> contains many parameters in
11 the book, also in the open source books, and MUST be created FROM <emphasis
12 role="bold">eltf_params_template.xml</emphasis>. The parameters are
13 automatically used in the books, via xi:include statements, similar to how
14 parameters from pardoc-distro.xml are included in the book. Read the file
15 <emphasis role="bold">eltf_params_updated_template_how_to_use.txt</emphasis>
16 for important details about formats and how to do! The idea is that ELTF
17 will auto-create/update it.</remark></para>
18</chapter> \ No newline at end of file
diff --git a/doc/book-enea-linux-virtualization-guide/doc/workflow.xml b/doc/book-enea-linux-virtualization-guide/doc/workflow.xml
deleted file mode 100644
index ece8ac8..0000000
--- a/doc/book-enea-linux-virtualization-guide/doc/workflow.xml
+++ /dev/null
@@ -1,24 +0,0 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="workflow">
5 <title>Workflow</title>
6
7 <para>Enea Linux is available as both pre-built binary images and source
8 code. Both serve a specific purpose and each have their advantages. However,
9 using the pre-built binary images allows for getting up and running faster.
10 Please refer to the sections below for details on how to get Enea Linux as
11 pre-built binary images or source code.</para>
12
13 <section id="relinfo-getting-pre-built-images">
14 <title>Getting Pre-built Binaries</title>
15
16 <para>Enea Linux pre-built binaries are available for download on <ulink
17 url="https://portal.enea.com/login/?redirect_to=https%3A%2F%2Fportal.enea.com%2F">Enea
18 Download Portal</ulink>. Log in using the credentials provided. Using the
19 menu, browse to the <emphasis role="bold">Linux</emphasis> section. You
20 will now have access to the <emphasis role="bold">Files</emphasis> section
21 and the <emphasis role="bold">Online Documentation</emphasis>
22 section.</para>
23 </section>
24</chapter> \ No newline at end of file
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml b/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml
new file mode 100644
index 0000000..0db4fa4
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="workflow">
5 <title>Benchmarks</title>
6
7 <para></para>
8
9 <section id="relinfo-getting-pre-built-images">
10 <title></title>
11
12 <para></para>
13 </section>
14</chapter> \ No newline at end of file
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/book.xml b/doc/book-enea-nfv-access-platform-guide/doc/book.xml
new file mode 100644
index 0000000..9b0cc4a
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/book.xml
@@ -0,0 +1,30 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4]>
5<book id="book_enea_nfv_access_platform_guide">
6 <title><trademark class="registered">Enea</trademark> NFV Access Platform Guide</title>
7 <subtitle>Release Version
8 <xi:include href="eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)"
9 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
10 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml"
11 xmlns:xi="http://www.w3.org/2001/XInclude" />
12 <xi:include href="platform_overview.xml"
13 xmlns:xi="http://www.w3.org/2001/XInclude" />
14 <xi:include href="getting_started.xml"
15 xmlns:xi="http://www.w3.org/2001/XInclude" />
16 <xi:include href="hypervisor_virtualization.xml"
17 xmlns:xi="http://www.w3.org/2001/XInclude" />
18 <xi:include href="container_virtualization.xml"
19 xmlns:xi="http://www.w3.org/2001/XInclude" />
20 <xi:include href="ovs.xml"
21 xmlns:xi="http://www.w3.org/2001/XInclude" />
22 <xi:include href="dpdk.xml"
23 xmlns:xi="http://www.w3.org/2001/XInclude" />
24 <xi:include href="benchmarks.xml"
25 xmlns:xi="http://www.w3.org/2001/XInclude" />
26 <xi:include href="using_nfv_access_platform_sdks.xml"
27 xmlns:xi="http://www.w3.org/2001/XInclude" />
28 <xi:include href="../../s_docbuild/template/docsrc_common/contacting_enea_enea_linux.xml"
29 xmlns:xi="http://www.w3.org/2001/XInclude" />
30</book>
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml b/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml
new file mode 100644
index 0000000..6f74061
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml
@@ -0,0 +1,8 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter condition="hidden" id="workflow">
5 <title>Container Virtualization</title>
6
7 <para></para>
8</chapter> \ No newline at end of file
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml b/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml
new file mode 100644
index 0000000..91b36d3
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml
@@ -0,0 +1,118 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="dpdk">
5 <title>Data Plane Development Kit</title>
6
7 <para>The Intel Data Plane Development Kit (DPDK) is a set of user-space
8 libraries and drivers that provides a programming framework for high-speed
9 packet processing applications. The DPDK includes a number of Poll Mode
10 Drivers that enable direct packet transfer between the physical NIC and
11 user-space without using interrupts, bypassing the Linux kernel network
12 stack entirely.</para>
13
14 <para>In order to take advantage of DPDK, Linux <ulink
15 url="https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt">huge
16 pages</ulink> must be enabled in the system. The allocation of huge pages
17 should preferably be done at boot time by passing parameters on the kernel
18 command line. Add the following to the kernel boot parameters:</para>
19
20 <programlisting>default_hugepagesz=1GB hugepagesz=1GB hugepages=8 hugepagesz=2M hugepages=2048</programlisting>
21
22 <para>For DPDK documentation, see <ulink
23 url="http://dpdk.org/doc/guides-17.02/index.html">http://dpdk.org/doc/guides-17.02/index.html</ulink></para>
24
25 <section id="pktgen">
26 <title>Pktgen</title>
27
28 <para>In addition to DPDK, Enea NFV Access Platform includes Pktgen, a
29 software traffic generator that is powered by the DPDK packet processing
30 framework. Pktgen can act as a transmitter or receiver and is capable of
31 generating 10Gbit wire rate traffic with 64 byte frames.</para>
32
33 <para>Pktgen is installed in <literal>/usr/share/apps/pktgen/</literal>
34 and needs to be executed from this directory.</para>
35
36 <para>For Pktgen documentation, see <ulink
37 url="http://pktgen-dpdk.readthedocs.io">http://pktgen-dpdk.readthedocs.io</ulink></para>
38 </section>
39
40 <section id="dpdk-setup">
41 <title>DPDK setup instructions</title>
42
43 <para>The following setup instructions apply to both host and
44 guest.</para>
45
46 <orderedlist>
47 <listitem>
48 <para>To make the hugepage memory available for DPDK, it must be
49 mounted:</para>
50
51 <programlisting>mkdir /mnt/huge
52mount -t hugetlbfs nodev /mnt/huge</programlisting>
53 </listitem>
54
55 <listitem>
56 <para>Load the DPDK igb_uio kernel module:</para>
57
58 <programlisting>modprobe igb_uio</programlisting>
59 </listitem>
60
61 <listitem>
62 <para>Bind the device to the igb_uio driver:</para>
63
64 <para><programlisting>dpdk-devbind --bind=igb_uio &lt;PCI device number&gt;</programlisting>The
65 DPDK provides the dpdk-devbind tool to help binding/unbinding devices
66 from specific drivers. See <ulink
67 url="http://dpdk.org/doc/guides-17.02/tools/devbind.html">http://dpdk.org/doc/guides-17.02/tools/devbind.html</ulink>
68 for more information.</para>
69 </listitem>
70 </orderedlist>
71
72 <para>To print the current status of all known network
73 interfaces:<programlisting>dpdk-devbind --status</programlisting></para>
74
75 <para>At this point the system is ready to run DPDK applications.</para>
76 </section>
77
78 <section id="dpdk-example-test-setup">
79 <title>DPDK example test setup</title>
80
81 <para>This is a simple DPDK test setup using two boards connected
82 back-to-back. One board generates traffic using the Pktgen application,
83 and the other board runs the DPDK testpmd example to forward packets back
84 on the same interface.</para>
85
86 <programlisting>Pktgen [DPDK] - Board 1 PHY &lt;--&gt; Board 2 PHY - [DPDK] testpmd</programlisting>
87
88 <orderedlist>
89 <listitem>
90 <para>Setup DPDK on both boards, following the instructions in
91 [FIXME]:</para>
92 </listitem>
93
94 <listitem>
95 <para>On board 1, start the Pktgen application:</para>
96
97 <programlisting>cd /usr/share/apps/pktgen/./pktgen -c 0x7 -n 4 --socket-mem 1024 -- -P -m "[1:2].0"</programlisting>
98
99 <para>In the Pktgen console, run:</para>
100
101 <programlisting>start 0</programlisting>
102
103 <para>The Pktgen output will display the traffic configuration and
104 statistics.</para>
105 </listitem>
106
107 <listitem>
108 <para>On board 2, start the testpmd application:</para>
109
110 <programlisting>testpmd -c 0x7 -n 4 -- --txd=512 --rxd=512 --port-topology=chained</programlisting>
111
112 <para>For more information, refer to the testpmd application user
113 guide: <ulink
114 url="http://dpdk.org/doc/guides-17.02/testpmd_app_ug/index.html">http://dpdk.org/doc/guides-17.02/testpmd_app_ug/index.html</ulink>.</para>
115 </listitem>
116 </orderedlist>
117 </section>
118</chapter> \ No newline at end of file
diff --git a/doc/book-enea-linux-release-info/doc/eltf_params_template.xml b/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_template.xml
index 278ad71..278ad71 100644
--- a/doc/book-enea-linux-release-info/doc/eltf_params_template.xml
+++ b/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_template.xml
diff --git a/doc/book-enea-linux-virtualization-guide/doc/eltf_params_updated.xml b/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated.xml
index a55234f..31a251d 100644
--- a/doc/book-enea-linux-virtualization-guide/doc/eltf_params_updated.xml
+++ b/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated.xml
@@ -42,7 +42,7 @@ export PATH=~/bin:$PATH</programlisting></para>
42 correct also compared to the "previous" REL VER in pardoc-distro.xml 42 correct also compared to the "previous" REL VER in pardoc-distro.xml
43 "prev_baseline".</bridgehead> 43 "prev_baseline".</bridgehead>
44 44
45 <para id="EneaLinux_REL_VER"><phrase>6</phrase></para> 45 <para id="EneaLinux_REL_VER"><phrase>1.0</phrase></para>
46 46
47 <para id="Yocto_VER"><phrase>2.1</phrase></para> 47 <para id="Yocto_VER"><phrase>2.1</phrase></para>
48 48
diff --git a/doc/book-enea-linux-virtualization-guide/doc/eltf_params_updated_template_how_to_use.txt b/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated_template_how_to_use.txt
index 7f1d3cb..7f1d3cb 100644
--- a/doc/book-enea-linux-virtualization-guide/doc/eltf_params_updated_template_how_to_use.txt
+++ b/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated_template_how_to_use.txt
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml b/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml
new file mode 100644
index 0000000..b534e20
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml
@@ -0,0 +1,127 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="plat-release-content">
5 <title>Getting Started with ENFV Access Platform</title>
6
7 <section id="release-content">
8 <title>NFV Access Platform Release content</title>
9
10 <para>The NFV Access Platform 1.0 Release contains along with other items,
11 documentation, pre-built kernels and images, a bootloader and a
12 SDK.</para>
13
14 <para>The directories structure is detailed below:</para>
15
16 <programlisting>-- documentation/
17 /* NFV Access Platform documentation */
18-- inteld1521/
19 /* artifacts for the host side */
20 -- deb/
21 /* deb packages */
22 -- images/
23 -- enea-image-virtualization-host
24 /* precompiled artifacts for the Host release image */
25 -- various artifacts
26 -- enea-image-virtualization-host-sdk
27 /* precompiled artifacts for the Host SDK image.
28 The SDK image contains userspace tools and kernel
29 configurations necessary for developing, debugging
30 and profiling applications and kernel modules */
31 -- various artifacts
32 -- sdk
33 /* NFV Access Platform SDK for the host */
34 -- enea-glibc-x86_64-enea-image-virtualization-host-sdk /
35 -corei7-64-toolchain-7.0.sh
36 /* self-extracting archive installing
37 cross-compilation toolchain for the host */
38-- qemux86-64
39 /* artifacts for the guest side */
40 -- deb/
41 /* deb packages */
42 -- images/
43 -- enea-image-virtualization-guest
44 /* precompiled artifacts for the Guest image */
45 -- various artifacts
46 -- sdk
47 /* NFV Access Platform SDK for the guest */
48 -- enea-glibc-x86_64-enea-image-virtualization-guest-sdk /
49 -core2-64-toolchain-7.0.sh
50 /* self-extracting archive installing cross-compilation
51 toolchain for the guest (QEMU x86-64) */
52</programlisting>
53
54 <para>For each combination of image and target, the following set of
55 artifacts is available:</para>
56
57 <programlisting>-- bzImage
58 /* kernel image */
59-- bzImage-&lt;target&gt;.bin
60 /* kernel image, same as above */
61-- config-&lt;target&gt;.config
62 /* kernel configuration file */
63-- core-image-minimal-initramfs-&lt;target&gt;.cpio.gz
64 /* cpio archive of the initramfs */
65-- core-image-minimal-initramfs-&lt;target&gt;.qemuboot.conf
66 /* qemu config file for the initramfs image */
67-- &lt;image-name&gt;-&lt;target&gt;.ext4
68 /* EXT4 image of the rootfs */
69-- &lt;image-name&gt;-&lt;target&gt;.hddimg
70 /* msdos filesystem containing syslinux, kernel, initrd and rootfs image */
71-- &lt;image-name&gt;-&lt;target&gt;.iso
72 /* CD .iso image */
73-- &lt;image-name&gt;-&lt;target&gt;.qemuboot.conf
74 /* qemu config file for the image */
75-- &lt;image-name&gt;-&lt;target&gt;.tar.gz
76 /* tar archive of the image */
77-- &lt;image-name&gt;-&lt;target&gt;.wic
78 /* Wic image */
79-- microcode.cpio
80 /* kernel microcode data */
81-- modules-&lt;target&gt;.tgz
82 /* external kernel modules */
83-- ovmf.*.qcow2
84 /* ovmf firmware for uefi support in qemu */
85-- rmc.db
86 /* Central RMC Database */
87-- systemd-bootx64.efi
88 /* systemd-boot EFI file */</programlisting>
89 </section>
90
91 <section id="docs">
92 <title>Included Documention</title>
93
94 <para>Enea NFV Access is provided with the following set of
95 documents:</para>
96
97 <itemizedlist>
98 <listitem>
99 <para>Enea NFV Access Guide &ndash; A document describing the Enea NFV
100 Access release content and how to use it, as well as benchmark
101 results.</para>
102 </listitem>
103
104 <listitem>
105 <para>Enea NFV Access Open Source Report &ndash; A document containing
106 the open source and license information pertaining to packages
107 provided with Enea NFV Access 1.0.</para>
108 </listitem>
109
110 <listitem>
111 <para>Enea NFV Access Test Report &ndash; The document that summarizes
112 the test results for the Enea NFV Access release.</para>
113 </listitem>
114
115 <listitem>
116 <para>Enea NFV Access Security Report &ndash; The document that lists
117 all security fixes included in the Enea NFV Access 1.0 release.</para>
118 </listitem>
119 </itemizedlist>
120 </section>
121
122 <section id="prebuilt-artifacts">
123 <title>How to use Prebuilt Artifacts</title>
124
125 <para></para>
126 </section>
127</chapter> \ No newline at end of file
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml b/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml
new file mode 100644
index 0000000..092b52f
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml
@@ -0,0 +1,328 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="hypervisor_virt">
5 <title>Hypervisor Virtualization</title>
6
7 <para>The KVM, Kernel-based Virtual Machine, is a virtualization
8 infrastructure for the Linux kernel which turns it into a hypervisor. KVM
9 requires a processor with a hardware virtualization extension.</para>
10
11 <para>KVM uses QEMU, an open source machine emulator and virtualizer, to
12 virtualize a complete system. With KVM it is possible to run multiple guests
13 of a variety of operating systems, each with a complete set of virtualized
14 hardware.</para>
15
16 <section id="launch_virt_machine">
17 <title>Launching a Virtual Machine</title>
18
19 <para>QEMU can make use of KVM when running a target architecture that is
20 the same as the host architecture. For instance, when running
21 qemu-system-x86_64 on an x86-64 compatible processor (containing
22 virtualization extensions Intel VT or AMD-V), you can take advantage of
23 the KVM acceleration, giving you benefit for your host and your guest
24 system.</para>
25
26 <para>Enea Linux includes an optimizied version of QEMU with KVM-only
27 support. To use KVM pass<command> --enable-kvm</command> to QEMU.</para>
28
29 <para>The following is an example of starting a guest:</para>
30
31 <programlisting>taskset -c 0,1 qemu-system-x86_64 \
32-cpu host -M q35 -smp cores=2,sockets=1 \
33-vcpu 0,affinity=0 -vcpu 1,affinity=1 \
34-enable-kvm -nographic \
35-kernel bzImage \
36-drive file=enea-image-virtualization-guest-qemux86-64.ext4,if=virtio,format=raw \
37-append 'root=/dev/vda console=ttyS0,115200' \
38-m 4096 \
39-object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \
40-numa node,memdev=mem -mem-prealloc</programlisting>
41 </section>
42
43 <section id="qemu_boot">
44 <title>Main QEMU boot options</title>
45
46 <para>Below are detailed all the pertinent boot options for the QEMU
47 emulator:</para>
48
49 <itemizedlist>
50 <listitem>
51 <para>SMP - at least 2 cores should be enabled in order to isolate
52 application(s) running in virtual machine(s) on specific cores for
53 better performance.</para>
54
55 <programlisting>-smp cores=2,threads=1,sockets=1 \</programlisting>
56 </listitem>
57
58 <listitem>
59 <para>CPU affinity - associate virtual CPUs with physical CPUs and
60 optionally assign a default real time priority to the virtual CPU
61 process in the host kernel. This option allows you to start qemu vCPUs
62 on isolated physical CPUs.</para>
63
64 <programlisting>-vcpu 0,affinity=0 \</programlisting>
65 </listitem>
66
67 <listitem>
68 <para>Hugepages - KVM guests can be deployed with huge page memory
69 support in order to reduce memory consumption and improve performance,
70 by reducing CPU cache usage. By using huge pages for a KVM guest, less
71 memory is used for page tables and TLB (Translation Lookaside Buffer)
72 misses are reduced, thereby significantly increasing performance,
73 especially for memory-intensive situations.</para>
74
75 <programlisting>-object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \</programlisting>
76 </listitem>
77
78 <listitem>
79 <para>Memory preallocation - preallocate huge pages at startup time
80 can improve performance but it may affect the qemu boot time.</para>
81
82 <programlisting>-mem-prealloc \</programlisting>
83 </listitem>
84
85 <listitem>
86 <para>Enable realtime characteristics - run qemu with realtime
87 features. While that mildly implies that "-realtime" alone might do
88 something, it's just an identifier for options that are partially
89 realtime. If you're running in a realtime or low latency environment,
90 you don't want your pages to be swapped out and mlock does that, thus
91 mlock=on. If you want VM density, then you may want swappable VMs,
92 thus mlock=off.</para>
93
94 <programlisting>-realtime mlock=on \</programlisting>
95 </listitem>
96 </itemizedlist>
97
98 <para>If the hardware does not have an IOMMU (known as "Intel VT-d" on
99 Intel-based machines and "AMD I/O Virtualization Technology" on AMD-based
100 machines), it will not be possible to assign devices in KVM.
101 Virtualization Technology features (VT-d, VT-x, etc.) must be enabled from
102 BIOS on the host target before starting a virtual machine.</para>
103 </section>
104
105 <section id="net_in_guest">
106 <title>Networking in guest</title>
107
108 <section id="vhost-user-support">
109 <title>Using vhost-user support</title>
110
111 <para>The goal of vhost-user is to implement a Virtio transport, staying
112 as close as possible to the vhost paradigm of using shared memory,
113 ioeventfds and irqfds. A UNIX domain socket based mechanism allows the
114 set up of resources used by a number of Vrings shared between two
115 userspace processes, which will be placed in shared memory.</para>
116
117 <para>To run QEMU with the vhost-user backend, you have to provide the
118 named UNIX domain socket which needs to be already opened by the
119 backend:</para>
120
121 <programlisting>-object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \
122-chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 \
123-netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce \
124-device virtio-net-pci,netdev=mynet1,mac=52:54:00:00:00:01 \</programlisting>
125
126 <para>The vHost User standard uses a client-server model. The server
127 creates and manages the vHost User sockets and the client connects to
128 the sockets created by the server. It is recommended to use QEMU as
129 server so the vhost-user client can be restarted without affecting the
130 server, otherwise if the server side dies all clients need to be
131 restarted.</para>
132
133 <para>Using vhost-user in QEMU as server will offer the flexibility to
134 stop and start the virtual machine with no impact on virtual switch from
135 the host (vhost-user-client).</para>
136
137 <programlisting>-chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1,server \</programlisting>
138 </section>
139
140 <section id="tap-interface">
141 <title>Using TAP Interfaces</title>
142
143 <para>QEMU can use TAP interfaces to provide full networking capability
144 for the guest OS:</para>
145
146 <programlisting>-netdev tap,id=net0,ifname=tap0,script=no,downscript=no \
147-device virtio-net-pci,netdev=net0,mac=22:EA:FB:A8:25:AE \</programlisting>
148 </section>
149
150 <section id="vfio-passthrough">
151 <title>VFIO passthrough VF (SR-IOV) to guest</title>
152
153 <para>KVM hypervisor support for attaching PCI devices on the host
154 system to guests. PCI passthrough allows guests to have exclusive access
155 to PCI devices for a range of tasks. PCI passthrough allows PCI devices
156 to appear and behave as if they were physically attached to the guest
157 operating system.</para>
158
159 <para>Preparing an Intel system for PCI passthrough:</para>
160
161 <itemizedlist>
162 <listitem>
163 <para>Enable the Intel VT-d extensions in BIOS</para>
164 </listitem>
165
166 <listitem>
167 <para>Activate Intel VT-d in the kernel by using
168 <literal>intel_iommu=on</literal> as a kernel boot parameter</para>
169 </listitem>
170
171 <listitem>
172 <para>Allow unsafe interrupts in case the system doesn't support
173 interrupt remapping. This can be done using
174 <literal>vfio_iommu_type1.allow_unsafe_interrupts=1</literal> as a
175 boot kernel parameter.</para>
176 </listitem>
177 </itemizedlist>
178
179 <para>Create guest with direct passthrough via VFIO framework like
180 so:</para>
181
182 <programlisting>-device vfio-pci,host=0000:03:10.2 \</programlisting>
183
184 <para>On the host, one or more VirtualFunctions (VFs) must be created in
185 order to be allocated for a guest network to access, before starting
186 QEMU:</para>
187
188 <programlisting>$ echo 2 &gt; /sys/class/net/eno3/device/sriov_numvfs
189$ modprobe vfio_pci
190$ dpdk-devbind.py --bind=vfio-pci 0000:03:10.2</programlisting>
191 </section>
192
193 <section id="multiqueue">
194 <title>Multi-queue</title>
195
196 <section id="qemu-multiqueue-support">
197 <title>QEMU multi queue support configuration</title>
198
199 <programlisting>-chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 \
200-netdev type=vhost-user,id=net0,chardev=char0,queues=2 \
201-device virtio-net-pci,netdev=net0,mac=22:EA:FB:A8:25:AE,mq=on,vectors=6
202where vectors is calculated as: 2 + 2 * queues number.</programlisting>
203 </section>
204
205 <section id="inside-guest">
206 <title>Inside guest</title>
207
208 <para>Linux kernel virtio-net driver (one queue is enabled by
209 default):</para>
210
211 <programlisting>$ ethtool -L combined 2 eth0
212DPDK Virtio PMD
213$ testpmd -c 0x7 -- -i --rxq=2 --txq=2 --nb-cores=2 ...</programlisting>
214
215 <para>For QEMU documentation please see: <ulink
216 url="https://qemu.weilnetz.de/doc/qemu-doc.html">https://qemu.weilnetz.de/doc/qemu-doc.html</ulink>.</para>
217 </section>
218 </section>
219 </section>
220
221 <section id="libvirt">
222 <title>Libvirt</title>
223
224 <para>One way to manage guests in Enea NFV Access is by using
225 <literal>libvirt</literal>. Libvirt is used in conjunction with a daemon
226 (<literal>libvirtd</literal>) and a command line utility (virsh) to manage
227 virtualized environments.</para>
228
229 <para>The libvirt library is a hypervisor-independent virtualization API
230 and toolkit that is able to interact with the virtualization capabilities
231 of a range of operating systems. Libvirt provides a common, generic and
232 stable layer to securely manage domains on a node. As nodes may be
233 remotely located, libvirt provides all methods required to provision,
234 create, modify, monitor, control, migrate and stop the domains, within the
235 limits of hypervisor support for these operations.</para>
236
237 <para>The libvirt daemon runs on the Enea NFV Access host. All tools built
238 on libvirt API connect to the daemon to request the desired operation, and
239 to collect information about the configuration and resources of the host
240 system and guests. <literal>virsh</literal> is a command line interface
241 tool for managing guests and the hypervisor. The virsh tool is built on
242 the libvirt management API.</para>
243
244 <para><emphasis role="bold">Major functionality provided by
245 libvirt</emphasis></para>
246
247 <para>The following is a summary from the libvirt <ulink
248 url="http://wiki.libvirt.org/page/FAQ#What_is_libvirt.3F">home
249 page</ulink> describing the major libvirt features:</para>
250
251 <itemizedlist>
252 <listitem>
253 <para><emphasis role="bold">VM management:</emphasis> Various domain
254 lifecycle operations such as start, stop, pause, save, restore, and
255 migrate. Hotplug operations for many device types including disk and
256 network interfaces, memory, and cpus.</para>
257 </listitem>
258
259 <listitem>
260 <para><emphasis role="bold">Remote machine support:</emphasis> All
261 libvirt functionality is accessible on any machine running the libvirt
262 daemon, including remote machines. A variety of network transports are
263 supported for connecting remotely, with the simplest being
264 <literal>SSH</literal>, which requires no extra explicit
265 configuration. For more information, see: <ulink
266 url="http://libvirt.org/remote.html">http://libvirt.org/remote.html</ulink>.</para>
267 </listitem>
268
269 <listitem>
270 <para><emphasis role="bold">Network interface management:</emphasis>
271 Any host running the libvirt daemon can be used to manage physical and
272 logical network interfaces. Enumerate existing interfaces, as well as
273 configure (and create) interfaces, bridges, vlans, and bond devices.
274 For more details see: <ulink
275 url="https://fedorahosted.org/netcf/">https://fedorahosted.org/netcf/</ulink>.</para>
276 </listitem>
277
278 <listitem>
279 <para><emphasis role="bold">Virtual NAT and Route based
280 networking:</emphasis> Any host running the libvirt daemon can manage
281 and create virtual networks. Libvirt virtual networks use firewall
282 rules to act as a router, providing VMs transparent access to the host
283 machines network. For more information, see: <ulink
284 url="http://libvirt.org/archnetwork.html">http://libvirt.org/archnetwork.html</ulink>.</para>
285 </listitem>
286
287 <listitem>
288 <para><emphasis role="bold">Storage management:</emphasis> Any host
289 running the libvirt daemon can be used to manage various types of
290 storage: create file images of various formats (raw, qcow2, etc.),
291 mount NFS shares, enumerate existing LVM volume groups, create new LVM
292 volume groups and logical volumes, partition raw disk devices, mount
293 iSCSI shares, and much more. For more details, see: <ulink
294 url="http://libvirt.org/storage.html">http://libvirt.org/storage.html</ulink>.</para>
295 </listitem>
296
297 <listitem>
298 <para><emphasis role="bold">Libvirt Configuration:</emphasis> A
299 properly running libvirt requires that the following elements be in
300 place:</para>
301
302 <itemizedlist>
303 <listitem>
304 <para>Configuration files, located in the directory
305 <literal>/etc/libvirt</literal>. They include the daemon's
306 configuration file <literal>libvirtd.conf</literal>, and
307 hypervisor-specific configuration files, like
308 <literal>qemu.conf</literal> for the QEMU.</para>
309 </listitem>
310
311 <listitem>
312 <para>A running libvirtd daemon. The daemon is started
313 automatically in Enea NFV Access host.</para>
314 </listitem>
315
316 <listitem>
317 <para>Configuration files for the libvirt domains, or guests, to
318 be managed by the KVM host. The specifics for guest domains shall
319 be defined in an XML file of a format specified at <ulink
320 url="http://libvirt.org/formatdomain.html">http://libvirt.org/formatdomain.html</ulink>.
321 XML formats for other structures are specified at <ulink type=""
322 url="http://libvirt.org/format.html">http://libvirt.org/format.html</ulink>.</para>
323 </listitem>
324 </itemizedlist>
325 </listitem>
326 </itemizedlist>
327 </section>
328</chapter> \ No newline at end of file
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/images/virtual_network_functions.png b/doc/book-enea-nfv-access-platform-guide/doc/images/virtual_network_functions.png
new file mode 100644
index 0000000..4011de8
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/images/virtual_network_functions.png
Binary files differ
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/ovs.xml b/doc/book-enea-nfv-access-platform-guide/doc/ovs.xml
new file mode 100644
index 0000000..3400975
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/ovs.xml
@@ -0,0 +1,161 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="ovs">
5 <title>Open Virtual Switch</title>
6
7 <para>Open vSwitch (OVS) is an open-source multilayer virtual switch
8 designed to be used in virtualized environments to forward traffic between
9 different VMs on the same host, and also between VMs and the physical
10 network.</para>
11
12 <para>Native OVS forwarding is handled by two major components: a user-space
13 daemon called <literal>ovs-vswitchd</literal> and a
14 <literal>fastpath</literal> kernel module used to accelerate the data path.
15 The fastpath kernel module will handle packets received on the NIC by simply
16 consulting a flow table with corresponding action rules (e.g to forward the
17 packet or modify its headers). If no matching entry is found in the flow
18 table, the packet is copied to the user-space and sent to the ovs-vswitchd
19 deamon which determines how it should be handled ("slowpath").</para>
20
21 <para>The packet is then passed back to the kernel module together with the
22 desired action and the flow table is updated, so that subsequent packets in
23 the same flow can be handled in fastpath without any user-space interaction.
24 In this way, OVS eliminates a lot of the context switching between
25 kernel-space and user-space, but the throughput is still limited by the
26 capacity of the Linux kernel stack.</para>
27
28 <section id="ovs-dpdk">
29 <title>OVS-DPDK</title>
30
31 <para>To improve performance, OVS supports integration with Intel DPDK
32 libraries to operate entirely in user-space (OVS-DPDK). DPDK Poll Mode
33 Drivers (PMDs) enable direct transfers of packets between the physical NIC
34 and user-space, thereby eliminating the overhead of interrupt handling and
35 Linux kernel network stack processing. OVS-DPDK provides DPDK-backed
36 vhost-user ports as the primary way to connect guests to this datapath.
37 The vhost-user interfaces are transparent to the guest.</para>
38 </section>
39
40 <section id="ovs-commands">
41 <title>OVS commands</title>
42
43 <para>OVS provides a rich set of command line management tools, most
44 importantly:</para>
45
46 <itemizedlist>
47 <listitem>
48 <para>ovs-vsctl: Used to manage and inspect switch configurations,
49 e.g. to create bridges and to add/remove ports.</para>
50 </listitem>
51
52 <listitem>
53 <para>ovs-ofctl: Used to configure and monitor flows.</para>
54 </listitem>
55 </itemizedlist>
56
57 <para>For more information about Open vSwitch, see <ulink
58 url="http://openvswitch.org">http://openvswitch.org</ulink>.</para>
59 </section>
60
61 <section id="config-ovs-dpdk">
62 <title>Configuring OVS-DPDK for improved performance</title>
63
64 <section id="dpdk-lcore-mask">
65 <title>dpdk-lcore-mask</title>
66
67 <para>Specifies the CPU core affinity for DPDK lcore threads. The lcore
68 threads are used for DPDK library tasks. For performance it is best to
69 set this to a single core on the system, and it should not overlap the
70 pmd-cpu-mask, as seen in the example below.</para>
71
72 <para>Example: To use core 1:</para>
73
74 <programlisting>ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x1</programlisting>
75 </section>
76
77 <section id="pmd-cpu-mask">
78 <title>pmd-cpu-mask</title>
79
80 <para>The DPDK PMD threads polling for incoming packets are CPU bound
81 and should be pinned to isolated cores for optimal performance.</para>
82
83 <para>If OVS-DPDK receives traffic on multiple ports, for example when
84 DPDK and vhost-user ports are used for bi-directional traffic, the
85 performance can be significantly improved by creating multiple PMD
86 threads and affinitizing them to separate cores in order to share the
87 workload, by each being responsible for an individual port. The cores
88 should not be hyperthreads on the same CPU.</para>
89
90 <para>The PMD core affinity is specified by setting an appropriate core
91 mask. Example: using cores 2 and 3:</para>
92
93 <programlisting>ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc</programlisting>
94 </section>
95 </section>
96
97 <section id="setup-ovs-dpdk">
98 <title>How to set up OVS-DPDK</title>
99
100 <para>The DPDK must be configured prior to setting up OVS-DPDK. See
101 [FIXME] for DPDK setup instructions, then follow these steps:</para>
102
103 <orderedlist>
104 <listitem>
105 <para>Clean up the environment:</para>
106
107 <programlisting>killall ovsdb-server ovs-vswitchd
108rm -f /var/run/openvswitch/vhost-user*
109rm -f /etc/openvswitch/conf.db</programlisting>
110 </listitem>
111
112 <listitem>
113 <para>Start the ovsdb-server:</para>
114
115 <programlisting>export DB_SOCK=/var/run/openvswitch/db.sock
116ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema
117ovsdb-server --remote=punix:$DB_SOCK /
118--remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach</programlisting>
119 </listitem>
120
121 <listitem>
122 <para>Start ovs-vswitchd with DPDK support enabled:</para>
123
124 <programlisting>ovs-vsctl --no-wait init
125ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x1
126ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc
127ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
128ovs-vswitchd unix:$DB_SOCK --pidfile --detach /
129--log-file=/var/log/openvswitch/ovs-vswitchd.log</programlisting>
130 </listitem>
131
132 <listitem>
133 <para>Create the OVS bridge and attach ports:</para>
134
135 <programlisting>ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev
136ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 type=dpdk /
137:dpdk-devargs=&lt;PCI device&gt;</programlisting>
138 </listitem>
139
140 <listitem>
141 <para>Add DPDK vhost-user ports:</para>
142
143 <programlisting>ovs-vsctl add-port ovsbr0 vhost-user1 -- set Interface vhost-user1 type=dpdkvhostuser</programlisting>
144
145 <para>This command creates a socket at
146 <literal>/var/run/openvswitch/vhost-user1</literal>, which can be
147 provided to the VM on the QEMU command line. See [FIXME] for
148 details.</para>
149 </listitem>
150
151 <listitem>
152 <para>Define flows:</para>
153
154 <programlisting>ovs-ofctl del-flows ovsbr0
155ovs-ofctl show ovsbr0
156ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2
157ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1</programlisting>
158 </listitem>
159 </orderedlist>
160 </section>
161</chapter> \ No newline at end of file
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/platform_overview.xml b/doc/book-enea-nfv-access-platform-guide/doc/platform_overview.xml
new file mode 100644
index 0000000..945e25b
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/platform_overview.xml
@@ -0,0 +1,165 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="platform_overview">
5 <title>Platform Overview</title>
6
7 <para>The NFV Access Platform Guide available with this release of Enea
8 Linux, seeks to provide further information that will help all intended
9 users make the most out of the virtualization features.</para>
10
11 <section id="description">
12 <title>NFV Access Platform Description</title>
13
14 <para>Enea NFV Access is a lightweight virtualization software platform
15 designed for deployment on edge devices at customer premises. Streamlined
16 for high networking performance and minimal footprints for both platform
17 and VNFs, it enables very high compute density.</para>
18
19 <para>ENFV Access also provides a foundation for vCPE agility and
20 innovation, reducing cost and complexity for computing at the network
21 edge. It supports multiple architectures and scales from small white box
22 edge devices up to high-end network servers. Thanks to the streamlined
23 footprint, Enea NFV Access can be deployed on systems as small as single
24 2-core ARM devices. It scales up to clustered 24 core x86 Xeon servers and
25 beyond, allowing multiple VNFs on the same machine, and eliminating the
26 need to use different virtualization software for different hardware
27 platforms, saving costs through single source provisioning.</para>
28
29 <para>Optimized virtual networking performance provides low virtualized
30 networking latency, high virtualized networking throughput (10 Gb wire
31 speed), and low processing overhead. It allows high compute density on
32 white box hardware, maintaining performance when moving functionality from
33 application specific appliances to software on standard hardware. The
34 optimized boot speed minimizes the time from reboot to active services,
35 improving availability.</para>
36
37 <para>Enea NFV Access provides virtualization using both containers and
38 virtual machines. Containers provide lightweight virtualization for a
39 smaller VNF footprint and a very short time interval from start to enabled
40 network services. VMs provide virtualization with secure VNF sandboxing
41 and is the preferred virtualization method for OPNFV compliance. Enea NFV
42 Access allows combinations of containers and VMs for highest possible user
43 adaptability.</para>
44
45 <para>Flexible interfaces for VNF lifecycle management and service
46 function chaining, are important to allow a smooth transition from
47 traditional network appliances to virtualized network functions in
48 existing networks, as they plug into a variety of interfaces. Enea NFV
49 Access supports VNF lifecycle management and service function chaining
50 through OpenStack, NETCONF, REST, CLI and Docker. It integrates a powerful
51 device management framework that enables full FCAPS functionality for
52 powerful management of the platform.</para>
53
54 <para>Building on open source, Enea NFV Access prevents vendor lock-in
55 thanks to its completely open standards and interfaces. Unlike proprietary
56 platforms that either do not allow decoupling of software from hardware,
57 or prevent NVF portability, Enea NFV Access includes optimized components
58 with open interfaces to allow full portability and
59 interoperability.</para>
60 </section>
61
62 <section id="platform_components">
63 <title>NFV Access Platform Components</title>
64
65 <para>Enea NFV Access is built on highly optimized open source and
66 value-adding components that provide standard interfaces but with boosted
67 performance.</para>
68
69 <mediaobject>
70 <imageobject>
71 <imagedata align="center"
72 fileref="images/virtual_network_functions.png" />
73 </imageobject>
74 </mediaobject>
75
76 <para>The Access Platform includes the following key components:</para>
77
78 <itemizedlist>
79 <listitem>
80 <para>Linux Kernel &ndash; Optimized Linux kernel with the focus on
81 vCPE systems characteristics.</para>
82 </listitem>
83
84 <listitem>
85 <para>KVM &ndash; Virtualization with virtual machines. KVM is the
86 standard virtualization engine for Linux based systems.</para>
87 </listitem>
88
89 <listitem>
90 <para>Docker &ndash; Docker provides a lightweight configuration using
91 containers. Docker is the standard platform for container
92 virtualization.</para>
93 </listitem>
94
95 <listitem>
96 <para>Virtual switching &ndash; Optimized OVS-DPDK provides high
97 throughput and low latency.</para>
98 </listitem>
99
100 <listitem>
101 <para>Edge Link &ndash; Edge Link provides interfaces to orchestration
102 for centralized VNF lifecycle management and service function
103 chaining:</para>
104
105 <orderedlist>
106 <listitem>
107 <para>NETCONF</para>
108 </listitem>
109
110 <listitem>
111 <para>OpenStack</para>
112 </listitem>
113
114 <listitem>
115 <para>Docker</para>
116 </listitem>
117
118 <listitem>
119 <para>REST</para>
120 </listitem>
121
122 <listitem>
123 <para>CLI</para>
124 </listitem>
125 </orderedlist>
126 </listitem>
127
128 <listitem>
129 <para>APT packet management &ndash; Feature rich repository of
130 prebuilt open source packages for extending and adapting the platform
131 using APT Package Management.</para>
132 </listitem>
133
134 <listitem>
135 <para>CLI based VNF management &ndash; CLI access over virsh and
136 libvirt.</para>
137 </listitem>
138
139 <listitem>
140 <para>FCAPS framework &ndash; The device management framework for
141 managing the platform is capable of providing full FCAPS functionality
142 to orchestration or network management systems.</para>
143 </listitem>
144
145 <listitem>
146 <para>Data plane &ndash; High performance data plane that includes the
147 following optimized data plane drivers:</para>
148
149 <orderedlist>
150 <listitem>
151 <para>DPDK</para>
152 </listitem>
153
154 <listitem>
155 <para>OpenFastPath (OFP)</para>
156 </listitem>
157
158 <listitem>
159 <para>ODP</para>
160 </listitem>
161 </orderedlist>
162 </listitem>
163 </itemizedlist>
164 </section>
165</chapter> \ No newline at end of file
diff --git a/doc/book-enea-nfv-access-platform-guide/doc/using_nfv_access_platform_sdks.xml b/doc/book-enea-nfv-access-platform-guide/doc/using_nfv_access_platform_sdks.xml
new file mode 100644
index 0000000..9f0f3f5
--- /dev/null
+++ b/doc/book-enea-nfv-access-platform-guide/doc/using_nfv_access_platform_sdks.xml
@@ -0,0 +1,203 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="workflow">
5 <title>Using NFV Access Platform SDKs</title>
6
7 <para>Enea NFV Access Platform comes with two different toolchains, one for
8 developing applications for the host and one for applications running in the
9 guest VM. Each is wrapped together with an environment-setup script into a
10 shell archive and is available under the Download section on
11 portal.enea.com. They have self explanatory names.</para>
12
13 <itemizedlist>
14 <listitem>
15 <para><literal>inteld1521/sdk/enea-glibc-x86_64-enea-image-virtualization-host-sdk-corei7-64-toolchain-7.0.sh</literal>
16 - for host applications.</para>
17 </listitem>
18
19 <listitem>
20 <para><literal>qemux86-64/sdk/enea-glibc-x86_64-enea-image-virtualization-guest-sdk-core2-64-toolchain-7.0.sh</literal>
21 - for guest applications.</para>
22 </listitem>
23 </itemizedlist>
24
25 <section id="install-crosscomp">
26 <title>Installing the Cross-Compilation Toolchain</title>
27
28 <para>Before cross-compiling applications for your target, you need to
29 install the corresponding toolchain on your workstation. To do that,
30 simply run the installer and follow the steps included with it:</para>
31
32 <orderedlist>
33 <listitem>
34 <para><programlisting>$ ./enea-glibc-x86_64-enea-image-virtualization-guest-sdk-core2-64-toolchain-7.0.sh</programlisting>When
35 prompted, select to install the toolchain in the desired directory,
36 referred to as <literal>&lt;sdkdir&gt;</literal>. </para>
37
38 <para>A default path where the toolchain will be installed will be
39 shown in the prompt. The installer unpacks the environment setup
40 script in <literal>&lt;sdkdir&gt;</literal> and the toolchain under
41 <literal>&lt;sdkdir&gt;/sysroots</literal>.</para>
42
43 <note>
44 <para>Choose a unique directory for each toolchain. Installing a
45 second toolchain of any type in the same directory as a previously
46 installed one will break the <literal>$PATH</literal> variable of
47 the first one.</para>
48 </note>
49 </listitem>
50
51 <listitem>
52 <para>Setup the toolchain environment for your target by sourcing the
53 environment-setup script. Example: <programlisting>$ source &lt;sdkdir&gt;/environment-setup-core2-64-enea-linux</programlisting></para>
54 </listitem>
55 </orderedlist>
56 </section>
57
58 <section id="crosscomp-apps">
59 <title>Cross-Compiling Applications from Command Line</title>
60
61 <para>Once the environment-setup script is sourced, you can make your
62 applications as per usual and get them compiled for your target. Below you
63 see how to cross-compile from command line.</para>
64
65 <orderedlist>
66 <listitem>
67 <para>Create a Makefile for your application. Example: a simple
68 Makefile and application:</para>
69
70 <programlisting>helloworld:helloworld.o
71 $(CC) -o helloworld helloworld.o
72clean:
73 rm -f *.o helloworld
74#include &lt;stdio.h&gt;
75int main(void) {
76 printf("Hello World\n");
77 return 0;
78}</programlisting>
79 </listitem>
80
81 <listitem>
82 <para>Run <command>make</command> to cross-compile your application
83 according to the environment set up:</para>
84
85 <programlisting>$ make</programlisting>
86 </listitem>
87
88 <listitem>
89 <para>Deploy the helloworld program to your target and run it:</para>
90
91 <programlisting># ./helloworld
92hello world</programlisting>
93 </listitem>
94 </orderedlist>
95 </section>
96
97 <section id="crosscomp-kern-mod">
98 <title>Cross-Compiling Kernel Modules</title>
99
100 <para>Before cross-compiling kernle modules, you need to make sure the
101 installed toolchain includes the kernel source tree, which should be
102 available at:
103 <literal>&lt;sdkdir&gt;/sysroots/&lt;targetarch&gt;-enea-linux/usr/src/kernel</literal>.</para>
104
105 <para>Once the environment-setup script is sourced, you can make your
106 kernel modules as usual and get them compiled for your target. Below you
107 see how to cross-compile a kernel module.</para>
108
109 <orderedlist>
110 <listitem>
111 <para>Create a Makefile for the kernel module. Example: a simple
112 Makefile and kernel module:</para>
113
114 <programlisting>obj-m := hello.o
115PWD := $(shell pwd)
116
117KERNEL_SRC := &lt;full path to kernel source tree&gt;
118
119all: scripts
120 $(MAKE) -C $(KERNEL_SRC) M=$(PWD) LDFLAGS="" modules
121scripts:
122 $(MAKE) -C $(KERNEL_SRC) scripts
123clean:
124 $(MAKE) -C $(KERNEL_SRC) M=$(PWD) LDFLAGS="" clean
125#include &lt;linux/module.h&gt; /* Needed by all modules */
126#include &lt;linux/kernel.h&gt; /* Needed for KERN_INFO */
127#include &lt;linux/init.h&gt; /* Needed for the macros */
128
129static int __init hello_start(void)
130{
131 printk(KERN_INFO "Loading hello module...\n");
132 printk(KERN_INFO "Hello, world\n");
133 return 0;
134}
135
136static void __exit hello_end(void)
137{
138 printk(KERN_INFO "Goodbye, world\n");
139}
140
141module_init(hello_start);
142module_exit(hello_end);
143
144MODULE_LICENSE("GPL");</programlisting>
145 </listitem>
146
147 <listitem>
148 <para>Run <command>make</command> to cross-compile your kernel module
149 according to the environment set up:</para>
150
151 <programlisting>$ make</programlisting>
152 </listitem>
153
154 <listitem>
155 <para>Deploy the kernel module <literal>hello.ko</literal> to your
156 target and install/remove it:</para>
157
158 <programlisting># insmod hello.ko
159# rmmod hello.ko
160# dmesg
161[...] Loading hello module...
162[...] Hello, world
163[...] Goodbye, world</programlisting>
164 </listitem>
165 </orderedlist>
166 </section>
167
168 <section id="deploy-artifacts">
169 <title>Deploying your artifacts</title>
170
171 <orderedlist>
172 <listitem>
173 <para>Deploying on host</para>
174
175 <para>You can use <literal>ssh</literal> to deploy your artifacts on
176 the host target. For this you will need a network connection to the
177 target and to use <literal>scp</literal> to copy to the desired
178 location.</para>
179 </listitem>
180
181 <listitem>
182 <para>Deploying on guest</para>
183
184 <para>You can deploy your artifacts onto the guest VM running on the
185 target in two steps:</para>
186
187 <itemizedlist>
188 <listitem>
189 <para>Deploy the artifacts onto the target by using the method
190 described above or any other method.</para>
191 </listitem>
192
193 <listitem>
194 <para>On the target, copy the artifacts to the guest rootfs. For
195 this, you will need to shut down the guest VM, mount the file
196 system on the target, copy your files onto it, unmount it and then
197 restart the guest VM as usual.</para>
198 </listitem>
199 </itemizedlist>
200 </listitem>
201 </orderedlist>
202 </section>
203</chapter> \ No newline at end of file
diff --git a/doc/book-enea-linux-release-info/swcomp.mk b/doc/book-enea-nfv-access-platform-guide/swcomp.mk
index 6e86ff1..4572144 100644
--- a/doc/book-enea-linux-release-info/swcomp.mk
+++ b/doc/book-enea-nfv-access-platform-guide/swcomp.mk
@@ -5,6 +5,6 @@ BOOK_VER ?= $(REL_VER)-dev
5 5
6DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) 6DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print)
7 7
8BOOKPACKAGES := book-enea-linux-release-info 8BOOKPACKAGES := book-enea-nfv-access-platform-guide
9BOOKDESC_$(BOOKPACKAGES) := "Enea Linux $(PROD_VER) Release Information" 9BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access Platform $(PROD_VER) Guide"
10BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) 10BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS)
diff --git a/doc/book-enea-linux-open-source/doc/README b/doc/book-enea-nfv-access-platform-open-source/doc/README
index c40a2d9..c40a2d9 100644
--- a/doc/book-enea-linux-open-source/doc/README
+++ b/doc/book-enea-nfv-access-platform-open-source/doc/README
diff --git a/doc/book-enea-linux-open-source/doc/about.xml b/doc/book-enea-nfv-access-platform-open-source/doc/about.xml
index d4b6437..79c8375 100644
--- a/doc/book-enea-linux-open-source/doc/about.xml
+++ b/doc/book-enea-nfv-access-platform-open-source/doc/about.xml
@@ -5,8 +5,8 @@
5 <title>About this Report</title> 5 <title>About this Report</title>
6 6
7 <para>This document contains the open source and license information 7 <para>This document contains the open source and license information
8 pertaining to packages provided with Enea Linux <xi:include 8 pertaining to packages provided with Enea NFV Access Platform <xi:include
9 href="../../book-enea-linux-release-info/doc/eltf_params_updated.xml" 9 href="../../book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml"
10 xmlns:xi="http://www.w3.org/2001/XInclude" 10 xmlns:xi="http://www.w3.org/2001/XInclude"
11 xpointer="element(EneaLinux_REL_VER/1)" />.</para> 11 xpointer="element(EneaLinux_REL_VER/1)" />.</para>
12</chapter> \ No newline at end of file 12</chapter> \ No newline at end of file
diff --git a/doc/book-enea-linux-open-source/doc/book.xml b/doc/book-enea-nfv-access-platform-open-source/doc/book.xml
index 1fd8217..460e242 100644
--- a/doc/book-enea-linux-open-source/doc/book.xml
+++ b/doc/book-enea-nfv-access-platform-open-source/doc/book.xml
@@ -3,10 +3,10 @@
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ 3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4<!ENTITY % local.common.attrib "xml:base CDATA #IMPLIED"> 4<!ENTITY % local.common.attrib "xml:base CDATA #IMPLIED">
5]> 5]>
6<book id="book_enea_linux_open_source"> 6<book id="book-enea-nfv-access-platform-open-source">
7 <title><trademark class="registered">Enea</trademark> Linux Open Source Report</title> 7 <title><trademark class="registered">Enea</trademark> NFV Access Platform Open Source Report</title>
8 <subtitle>Release Version 8 <subtitle>Release Version
9 <xi:include href="../../book-enea-linux-release-info/doc/eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)" 9 <xi:include href="../../book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)"
10 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> 10 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
11 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 11 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
12 <xi:include href="about.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 12 <xi:include href="about.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
diff --git a/doc/book-enea-linux-open-source/doc/licenses.xml b/doc/book-enea-nfv-access-platform-open-source/doc/licenses.xml
index 07d0809..07d0809 100644
--- a/doc/book-enea-linux-open-source/doc/licenses.xml
+++ b/doc/book-enea-nfv-access-platform-open-source/doc/licenses.xml
diff --git a/doc/book-enea-linux-virtualization-guide/swcomp.mk b/doc/book-enea-nfv-access-platform-open-source/swcomp.mk
index 8206490..6324da1 100644
--- a/doc/book-enea-linux-virtualization-guide/swcomp.mk
+++ b/doc/book-enea-nfv-access-platform-open-source/swcomp.mk
@@ -5,6 +5,6 @@ BOOK_VER ?= $(REL_VER)-dev
5 5
6DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) 6DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print)
7 7
8BOOKPACKAGES := book-enea-linux-virtualization-guide 8BOOKPACKAGES := book-enea-nfv-access-platform-open-source
9BOOKDESC_$(BOOKPACKAGES) := "Enea Linux $(PROD_VER) Virtualization Guide" 9BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access Platform Open Source Report"
10BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) 10BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS)
diff --git a/doc/book-enea-linux-release-info/doc/about_release.xml b/doc/book-enea-nfv-access-platform-release-info/doc/about_release.xml
index 01679f8..01679f8 100644
--- a/doc/book-enea-linux-release-info/doc/about_release.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/about_release.xml
diff --git a/doc/book-enea-linux-release-info/doc/book.xml b/doc/book-enea-nfv-access-platform-release-info/doc/book.xml
index 91af443..a0adf73 100644
--- a/doc/book-enea-linux-release-info/doc/book.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/book.xml
@@ -2,8 +2,8 @@
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ 3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4]> 4]>
5<book id="book_enea_linux_release_info"> 5<book id="book_enea_nfv_access_platform_release_info">
6 <title><trademark class="registered">Enea</trademark> Linux Release Information</title> 6 <title><trademark class="registered">Enea</trademark> NFV Access Platform Release Information</title>
7 <subtitle>Release Version 7 <subtitle>Release Version
8 <xi:include href="eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)" 8 <xi:include href="eltf_params_updated.xml" xpointer="element(EneaLinux_REL_VER/1)"
9 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle> 9 xmlns:xi="http://www.w3.org/2001/XInclude" /></subtitle>
diff --git a/doc/book-enea-linux-release-info/doc/build_boot_template.xml b/doc/book-enea-nfv-access-platform-release-info/doc/build_boot_template.xml
index e39dd81..e39dd81 100644
--- a/doc/book-enea-linux-release-info/doc/build_boot_template.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/build_boot_template.xml
diff --git a/doc/book-enea-linux-virtualization-guide/doc/eltf_params_template.xml b/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_template.xml
index 278ad71..278ad71 100644
--- a/doc/book-enea-linux-virtualization-guide/doc/eltf_params_template.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_template.xml
diff --git a/doc/book-enea-linux-release-info/doc/eltf_params_updated.xml b/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml
index 294e6c4..40507bb 100644
--- a/doc/book-enea-linux-release-info/doc/eltf_params_updated.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml
@@ -42,7 +42,7 @@ export PATH=~/bin:$PATH</programlisting></para>
42 correct also compared to the "previous" REL VER in pardoc-distro.xml 42 correct also compared to the "previous" REL VER in pardoc-distro.xml
43 "prev_baseline".</bridgehead> 43 "prev_baseline".</bridgehead>
44 44
45 <para id="EneaLinux_REL_VER"><phrase>6</phrase></para> 45 <para id="EneaLinux_REL_VER"><phrase>1.0</phrase></para>
46 46
47 <para id="Yocto_VER"><phrase>2.1</phrase></para> 47 <para id="Yocto_VER"><phrase>2.1</phrase></para>
48 48
diff --git a/doc/book-enea-linux-release-info/doc/eltf_params_updated_template_how_to_use.txt b/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated_template_how_to_use.txt
index a75acfc..a75acfc 100644
--- a/doc/book-enea-linux-release-info/doc/eltf_params_updated_template_how_to_use.txt
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated_template_how_to_use.txt
diff --git a/doc/book-enea-linux-release-info/doc/getting_enea_linux.xml b/doc/book-enea-nfv-access-platform-release-info/doc/getting_enea_linux.xml
index 075ade5..075ade5 100644
--- a/doc/book-enea-linux-release-info/doc/getting_enea_linux.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/getting_enea_linux.xml
diff --git a/doc/book-enea-linux-release-info/doc/jiraissues_override.xml b/doc/book-enea-nfv-access-platform-release-info/doc/jiraissues_override.xml
index 7282d0f..7282d0f 100644
--- a/doc/book-enea-linux-release-info/doc/jiraissues_override.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/jiraissues_override.xml
diff --git a/doc/book-enea-linux-release-info/doc/known_bugs_and_limitations.xml b/doc/book-enea-nfv-access-platform-release-info/doc/known_bugs_and_limitations.xml
index 173046b..173046b 100644
--- a/doc/book-enea-linux-release-info/doc/known_bugs_and_limitations.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/known_bugs_and_limitations.xml
diff --git a/doc/book-enea-linux-release-info/doc/main_changes.xml b/doc/book-enea-nfv-access-platform-release-info/doc/main_changes.xml
index 115acb5..115acb5 100644
--- a/doc/book-enea-linux-release-info/doc/main_changes.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/main_changes.xml
diff --git a/doc/book-enea-linux-release-info/doc/prerequisites.xml b/doc/book-enea-nfv-access-platform-release-info/doc/prerequisites.xml
index 9c5aa95..9c5aa95 100644
--- a/doc/book-enea-linux-release-info/doc/prerequisites.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/prerequisites.xml
diff --git a/doc/book-enea-linux-release-info/doc/system_requirements.xml b/doc/book-enea-nfv-access-platform-release-info/doc/system_requirements.xml
index e94d012..e94d012 100644
--- a/doc/book-enea-linux-release-info/doc/system_requirements.xml
+++ b/doc/book-enea-nfv-access-platform-release-info/doc/system_requirements.xml
diff --git a/doc/book-enea-linux-open-source/swcomp.mk b/doc/book-enea-nfv-access-platform-release-info/swcomp.mk
index d978b48..c246cb2 100644
--- a/doc/book-enea-linux-open-source/swcomp.mk
+++ b/doc/book-enea-nfv-access-platform-release-info/swcomp.mk
@@ -5,6 +5,6 @@ BOOK_VER ?= $(REL_VER)-dev
5 5
6DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) 6DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print)
7 7
8BOOKPACKAGES := book-enea-linux-open-source 8BOOKPACKAGES := book-enea-nfv-access-platform-release-info
9BOOKDESC_$(BOOKPACKAGES) := "Enea Linux Open Source Report" 9BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access Platform $(PROD_VER) Release Information"
10BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) 10BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS)
diff --git a/doc/manifest_conf.mk b/doc/manifest_conf.mk
index 2da4a7a..92e395c 100644
--- a/doc/manifest_conf.mk
+++ b/doc/manifest_conf.mk
@@ -3,6 +3,6 @@
3# The values are shown in the release info 3# The values are shown in the release info
4# The manifest is used to fetch information into the release info from the distro files 4# The manifest is used to fetch information into the release info from the distro files
5#MANIFESTHASH ?= 0d0f06384afa65eaae4b170e234ee5a813edf44d 5#MANIFESTHASH ?= 0d0f06384afa65eaae4b170e234ee5a813edf44d
6#change the above value later to refs/tags/ELnnn (?) 6 #change the above value later to refs/tags/ELnnn (?)
7MANIFESTURL := git@git.enea.com:linux/manifests/el_manifests-virtualization.git 7MANIFESTURL := git@git.enea.com:linux/manifests/el_manifests-virtualization.git
8PROFILE_NAME := Virtualization 8PROFILE_NAME := Enea NFV Access Platform