summaryrefslogtreecommitdiffstats
path: root/doc/book-enea-nfv-access-guide
diff options
context:
space:
mode:
authorAdrian Calianu <adrian.calianu@enea.com>2017-12-20 12:47:41 +0100
committerAdrian Calianu <adrian.calianu@enea.com>2017-12-20 12:47:41 +0100
commitd68e80f3721a211fb0e316e9b16e1871436bc9e8 (patch)
tree30e1b09235ef6ebd67288243414c40b999e7f815 /doc/book-enea-nfv-access-guide
parentfbc9d2ef09ecb19b5d1bbb9b1f7a972579912b7d (diff)
downloadel_releases-nfv-access-d68e80f3721a211fb0e316e9b16e1871436bc9e8.tar.gz
book-enea-nfv-access-guide: update it according to review comments
Signed-off-by: Adrian Calianu <adrian.calianu@enea.com>
Diffstat (limited to 'doc/book-enea-nfv-access-guide')
-rw-r--r--doc/book-enea-nfv-access-guide/doc/benchmarks.xml74
-rw-r--r--doc/book-enea-nfv-access-guide/doc/getting_started.xml31
-rw-r--r--doc/book-enea-nfv-access-guide/doc/hypervisor_virtualization.xml28
3 files changed, 65 insertions, 68 deletions
diff --git a/doc/book-enea-nfv-access-guide/doc/benchmarks.xml b/doc/book-enea-nfv-access-guide/doc/benchmarks.xml
index c9f042e..34748b8 100644
--- a/doc/book-enea-nfv-access-guide/doc/benchmarks.xml
+++ b/doc/book-enea-nfv-access-guide/doc/benchmarks.xml
@@ -1,4 +1,4 @@
1<?xml version="1.0" encoding="ISO-8859-1"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 2<!DOCTYPE chapter 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<chapter id="benchmarks"> 4<chapter id="benchmarks">
@@ -58,7 +58,7 @@
58 <row> 58 <row>
59 <entry align="left">Network</entry> 59 <entry align="left">Network</entry>
60 60
61 <entry>3x10G ports</entry> 61 <entry>2x10G ports</entry>
62 </row> 62 </row>
63 63
64 <row> 64 <row>
@@ -89,8 +89,8 @@
89 <section> 89 <section>
90 <title>Forward traffic in Docker</title> 90 <title>Forward traffic in Docker</title>
91 91
92 <para>Benchmarking traffic forwarding using testpmd in a Docker 92 <para>Benchmarking traffic forwarding using the testpmd application in
93 container.</para> 93 a Docker container.</para>
94 94
95 <para>Pktgen is used to generate UDP traffic that will reach testpmd, 95 <para>Pktgen is used to generate UDP traffic that will reach testpmd,
96 running in a Docker image. It will then be forwarded back to source on 96 running in a Docker image. It will then be forwarded back to source on
@@ -118,11 +118,10 @@
118 118
119 <para>Start by following the steps below:</para> 119 <para>Start by following the steps below:</para>
120 120
121 <para>Boot the board using the following U-Boot commands: 121 <para>Boot the NFV Access Linux using the following kernel
122 <programlisting>setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ 122 parameters in U-Boot: <programlisting>&gt; setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \
123rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ 123rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \
124nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' 124nosoftlockup audit=0'</programlisting></para>
125run boot_board</programlisting></para>
126 125
127 <para>Configure hugepages and set up the DPDK:<programlisting>echo 4 &gt; /proc/sys/vm/nr_hugepages 126 <para>Configure hugepages and set up the DPDK:<programlisting>echo 4 &gt; /proc/sys/vm/nr_hugepages
128modprobe vfio-pci 127modprobe vfio-pci
@@ -140,12 +139,12 @@ dpdk-devbind -b vfio-pci 0001:01:00.1</programlisting>Run
140 139
141 <para>Start by following the steps below:</para> 140 <para>Start by following the steps below:</para>
142 141
143 <para>Boot the board using the following U-Boot commands:</para> 142 <para>Boot the NFV Access Linux using the following kernel
143 parameters in U-Boot:</para>
144 144
145 <programlisting>setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ 145 <programlisting>&gt; setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \
146rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ 146rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \
147nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' 147nosoftlockup audit=0'</programlisting>
148run boot_board</programlisting>
149 148
150 <para>It is expected that a NFV Access guest image is present on the 149 <para>It is expected that a NFV Access guest image is present on the
151 target.</para> 150 target.</para>
@@ -439,12 +438,12 @@ start</programlisting><table>
439 438
440 <para>Start by following the steps below:</para> 439 <para>Start by following the steps below:</para>
441 440
442 <para>Boot the board using the following U-Boot commands:</para> 441 <para>Boot the NFV Access Linux using the following kernel
442 parameters in U-Boot:</para>
443 443
444 <programlisting>setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ 444 <programlisting>setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \
445rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ 445rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \
446nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' 446nosoftlockup audit=0'</programlisting>
447run boot_board</programlisting>
448 447
449 <para>Configure hugepages and set up the DPDK:<programlisting>echo 4 &gt; /proc/sys/vm/nr_hugepages 448 <para>Configure hugepages and set up the DPDK:<programlisting>echo 4 &gt; /proc/sys/vm/nr_hugepages
450modprobe vfio-pci 449modprobe vfio-pci
@@ -461,13 +460,12 @@ dpdk-devbind -b vfio-pci 0001:01:00.1</programlisting>Run
461 460
462 <para>Start by following the steps below:</para> 461 <para>Start by following the steps below:</para>
463 462
464 <para>SSD boot using the following <literal>grub.cfg</literal> 463 <para>Boot the NFV Access Linux using the following kernel
465 entry:</para> 464 parameters in U-Boot:</para>
466 465
467 <programlisting>setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ 466 <programlisting>setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \
468rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ 467rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \
469nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' 468nosoftlockup audit=0'</programlisting>
470run boot_board</programlisting>
471 469
472 <para>Set up the DPDK and configure the OVS bridge:<programlisting># Clean up old OVS old config 470 <para>Set up the DPDK and configure the OVS bridge:<programlisting># Clean up old OVS old config
473killall ovsdb-server ovs-vswitchd 471killall ovsdb-server ovs-vswitchd
@@ -687,11 +685,10 @@ ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1</programlisting>Import a
687 685
688 <para>Start with the steps below:</para> 686 <para>Start with the steps below:</para>
689 687
690 <para>Boot the board using the following U-Boot commands: 688 <para>Boot the NFV Access Linux using the following kernel
691 <programlisting>setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ 689 parameters in U-Boot: <programlisting>setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \
692rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ 690rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \
693nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' 691nosoftlockup audit=0'</programlisting></para>
694run boot_board</programlisting></para>
695 692
696 <para>Configure hugepages and set up the DPDK:<programlisting>echo 4 &gt; /proc/sys/vm/nr_hugepages 693 <para>Configure hugepages and set up the DPDK:<programlisting>echo 4 &gt; /proc/sys/vm/nr_hugepages
697modprobe vfio-pci 694modprobe vfio-pci
@@ -708,11 +705,11 @@ dpdk-devbind -b vfio-pci 0001:01:00.1</programlisting>Run
708 705
709 <para>Start by following the steps below:</para> 706 <para>Start by following the steps below:</para>
710 707
711 <para>Boot the board using the following U-Boot commands: 708 <para>Boot the NFV Access Linux using the following kernel
712 <programlisting>setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ 709 parameters in U-Boot: <programlisting>setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \
713rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ 710rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \
714nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' 711nosoftlockup audit=0'</programlisting>Kill unnecessary services:
715run boot_board</programlisting>Kill unnecessary services: <programlisting>killall ovsdb-server ovs-vswitchd 712 <programlisting>killall ovsdb-server ovs-vswitchd
716rm -rf /etc/openvswitch/* 713rm -rf /etc/openvswitch/*
717rm -rf /var/run/openvswitch/* 714rm -rf /var/run/openvswitch/*
718mkdir -p /var/run/openvswitch</programlisting>Configure hugepages, set up the 715mkdir -p /var/run/openvswitch</programlisting>Configure hugepages, set up the
@@ -1089,11 +1086,10 @@ show port stats 0</programlisting><table>
1089 1086
1090 <para>Start by doing the following:</para> 1087 <para>Start by doing the following:</para>
1091 1088
1092 <para>Boot the board using the following U-Boot commands: 1089 <para>Boot the NFV Access Linux using the following kernel
1093 <programlisting>setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ 1090 parameters in U-Boot: <programlisting>setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \
1094rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ 1091rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \
1095nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' 1092nosoftlockup audit=0'</programlisting>Configure hugepages and set up the
1096run boot_board</programlisting>Configure hugepages and set up the
1097 DPDK:<programlisting>echo 4 &gt; /proc/sys/vm/nr_hugepages 1093 DPDK:<programlisting>echo 4 &gt; /proc/sys/vm/nr_hugepages
1098modprobe vfio-pci 1094modprobe vfio-pci
1099ifconfig enP1p1s0f1 down 1095ifconfig enP1p1s0f1 down
@@ -1109,14 +1105,10 @@ dpdk-devbind -b vfio-pci 0001:01:00.1</programlisting>Run
1109 1105
1110 <para>Start by doing the following:</para> 1106 <para>Start by doing the following:</para>
1111 1107
1112 <para>SSD boot using the following <literal>grub.cfg</literal> 1108 <para>Boot the NFV Access Linux using the following kernel
1113 entry: <programlisting>linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 \ 1109 parameters in U-Boot: <programlisting>setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \
1114isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable \ 1110rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \
1115clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 \ 1111nosoftlockup audit=0'</programlisting>Kill Services:<programlisting>killall ovsdb-server ovs-vswitchd
1116processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt \
1117intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB \
1118hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1</programlisting>Kill
1119 Services:<programlisting>killall ovsdb-server ovs-vswitchd
1120rm -rf /etc/openvswitch/* 1112rm -rf /etc/openvswitch/*
1121mkdir -p /var/run/openvswitch</programlisting>Configure hugepages, set up the 1113mkdir -p /var/run/openvswitch</programlisting>Configure hugepages, set up the
1122 DPDK:<programlisting>echo 20 &gt; /proc/sys/vm/nr_hugepages 1114 DPDK:<programlisting>echo 20 &gt; /proc/sys/vm/nr_hugepages
diff --git a/doc/book-enea-nfv-access-guide/doc/getting_started.xml b/doc/book-enea-nfv-access-guide/doc/getting_started.xml
index 74cad71..4e2b3a3 100644
--- a/doc/book-enea-nfv-access-guide/doc/getting_started.xml
+++ b/doc/book-enea-nfv-access-guide/doc/getting_started.xml
@@ -1,4 +1,4 @@
1<?xml version="1.0" encoding="ISO-8859-1"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 2<!DOCTYPE chapter 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<chapter id="plat-release-content"> 4<chapter id="plat-release-content">
@@ -124,9 +124,10 @@
124 124
125 <listitem> 125 <listitem>
126 <para>If the target is not connected on a specific network, Enea 126 <para>If the target is not connected on a specific network, Enea
127 provides DHCP and TFTP servers. Please see <link 127 provides DHCP and TFTP servers that can be used to setup a local
128 linkend="boot_docker">Docker Installer</link> section, on how to 128 network. Please see <link linkend="boot_docker">Docker
129 install these two servers on a development host.</para> 129 Installer</link> section, on how to install these two servers on a
130 development host.</para>
130 131
131 <programlisting>&gt; setenv ethact &lt;vnic0/vnic1&gt; 132 <programlisting>&gt; setenv ethact &lt;vnic0/vnic1&gt;
132&gt; setenv gatewayip &lt;GatewayIP&gt; 133&gt; setenv gatewayip &lt;GatewayIP&gt;
@@ -199,23 +200,23 @@
199 href="../../s_docbuild/olinkdb/pardoc-common.xml" 200 href="../../s_docbuild/olinkdb/pardoc-common.xml"
200 xmlns:xi="http://www.w3.org/2001/XInclude" 201 xmlns:xi="http://www.w3.org/2001/XInclude"
201 xpointer="element(book_enea_nfv_access_release_info/1)" /> included 202 xpointer="element(book_enea_nfv_access_release_info/1)" /> included
202 with this release. </para> 203 with this release.</para>
203 204
204 <para>All tools are leveraged by a Docker image, which must be built 205 <para>All required tools are leveraged by the Docker image, which must
205 and run on a development host. DHCP and TFTP servers will be installed 206 be built and run on a development host. DHCP and TFTP servers will be
206 and configured in order to facilitate a RAMDISK boot process on the 207 installed and configured in order to facilitate a RAMDISK boot process
207 target. </para> 208 on the target.</para>
208 209
209 <para>The example procedure below details how to build and run a 210 <para>The example procedure below details how to build and run a
210 provided Docker image. In this case, the host is directly connected to 211 provided Docker image. In this case, the host is directly connected to
211 a target on <literal>eth1</literal>. For more details about the Docker 212 a target on <literal>eth1</literal>. For more details about the Docker
212 installer, please see <filename>README</filename> file from the Docker 213 installer, please see <filename>README</filename> file from the Docker
213 installer folder. </para> 214 installer folder.</para>
214 215
215 <para>Prior to using this example setup, on the target side, U-Boot 216 <para>Prior to using this example setup, on the target side, U-Boot
216 needs to be configured with these values, before booting Linux. Note 217 needs to be configured with these values, before booting Linux. Note
217 that the first eth port (<literal>vnic0</literal>) is connected to a 218 that the first eth port (<literal>vnic0</literal>) is connected to a
218 network:</para> 219 network in this example:</para>
219 220
220 <programlisting>&gt; setenv ethact vnic0 221 <programlisting>&gt; setenv ethact vnic0
221&gt; setenv gatewayip 192.168.1.1 222&gt; setenv gatewayip 192.168.1.1
@@ -230,15 +231,13 @@
230&gt; mkdir -p ./images 231&gt; mkdir -p ./images
231&gt; cp &lt;NFVAccessReleasePath&gt;/Image $(pwd)/images/Image 232&gt; cp &lt;NFVAccessReleasePath&gt;/Image $(pwd)/images/Image
232&gt; cp &lt;NFVAccessReleasePath&gt;/enea-nfv-access-cn8304.ext4.gz.u-boot \ 233&gt; cp &lt;NFVAccessReleasePath&gt;/enea-nfv-access-cn8304.ext4.gz.u-boot \
233 $(pwd)/images/enea-nfv-access.ext4.gz.u-boot 234 $(pwd)/images/enea-nfv-access-cn8304.ext4.gz.u-boot
234&gt; docker build . -t el_installer 235&gt; docker build . -t el_installer
235&gt; docker run -it --net=host --privileged \ 236&gt; docker run -it --net=host --privileged \
236-v $(pwd)/dhcpd.conf:/etc/dhcp/dhcpd.conf \ 237-v $(pwd)/dhcpd.conf:/etc/dhcp/dhcpd.conf \
237-v $(pwd)/images/Image:/var/lib/tftpboot/Image \ 238-v $(pwd)/images/Image:/var/lib/tftpboot/Image \
238-v $(pwd)/images/enea-nfv-access.ext4.gz.u-boot:/var/lib/tftpboot/ \ 239-v $(pwd)/images/eenea-nfv-access-cn8304.ext4.gz.u-boot:/var/lib/tftpboot/ \
239enea-nfv-access.ext4.gz.u-boot 240enea-nfv-access-cn8304.ext4.gz.u-boot el_installer eth1</programlisting>
240
241el_installer eth1</programlisting>
242 </section> 241 </section>
243 </section> 242 </section>
244 </section> 243 </section>
diff --git a/doc/book-enea-nfv-access-guide/doc/hypervisor_virtualization.xml b/doc/book-enea-nfv-access-guide/doc/hypervisor_virtualization.xml
index 69057f3..3f14719 100644
--- a/doc/book-enea-nfv-access-guide/doc/hypervisor_virtualization.xml
+++ b/doc/book-enea-nfv-access-guide/doc/hypervisor_virtualization.xml
@@ -1,4 +1,4 @@
1<?xml version="1.0" encoding="ISO-8859-1"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 2<!DOCTYPE chapter 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<chapter id="hypervisor_virt"> 4<chapter id="hypervisor_virt">
@@ -470,11 +470,12 @@ $ testpmd -c 0x7 -- -i --rxq=2 --txq=2 --nb-cores=2 ...</programlisting>
470 <para><emphasis role="bold">vhost-user interface</emphasis></para> 470 <para><emphasis role="bold">vhost-user interface</emphasis></para>
471 471
472 <para>See the Open vSwitch chapter on how to create a 472 <para>See the Open vSwitch chapter on how to create a
473 <literal>vhost-user</literal> interface using Open vSwitch. 473 <literal>vhost-user</literal> interface using Open vSwitch(OVS).
474 Currently there is no Open vSwitch support for networks that are 474 Currently there is no Open vSwitch(OVS) support for networks that
475 managed by <literal>libvirt </literal>(e.g. NAT). Until further 475 are managed by <literal>libvirt </literal>(e.g. NAT). Until further
476 notice, only bridged networks are supported (those where the user 476 notice, only bridged networks are supported (those where the user
477 has to manually create the bridge).</para> 477 has to manually create the bridge). In order to pass Open vSwitch
478 configuration the &lt;qemu:commandline&gt; is used.</para>
478 479
479 <programlisting> &lt;qemu:commandline&gt; 480 <programlisting> &lt;qemu:commandline&gt;
480 &lt;qemu:arg value='-chardev'/&gt; 481 &lt;qemu:arg value='-chardev'/&gt;
@@ -578,7 +579,12 @@ $ dpdk-devbind.py --bind=vfio-pci 0001:01:00.1
578 <section id="libvirt-guest-config-ex"> 579 <section id="libvirt-guest-config-ex">
579 <title>Libvirt guest configuration examples</title> 580 <title>Libvirt guest configuration examples</title>
580 581
581 <section id="guest-config-vhost-user-interface"> 582 <note>
583 <para>Currently used Libvirt version has some limitations for aarch64
584 which are bypassed using the qemu:commandline option.</para>
585 </note>
586
587 <example>
582 <title>Guest configuration with vhost-user interface</title> 588 <title>Guest configuration with vhost-user interface</title>
583 589
584 <programlisting>&lt;domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'&gt; 590 <programlisting>&lt;domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'&gt;
@@ -640,9 +646,9 @@ $ dpdk-devbind.py --bind=vfio-pci 0001:01:00.1
640 bus=pcie.0,addr=0x2'/&gt; 646 bus=pcie.0,addr=0x2'/&gt;
641 &lt;/qemu:commandline&gt; 647 &lt;/qemu:commandline&gt;
642&lt;/domain&gt;</programlisting> 648&lt;/domain&gt;</programlisting>
643 </section> 649 </example>
644 650
645 <section id="guest-config-pci-passthrough"> 651 <example>
646 <title>Guest configuration with PCI passthrough</title> 652 <title>Guest configuration with PCI passthrough</title>
647 653
648 <programlisting>&lt;domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'&gt; 654 <programlisting>&lt;domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'&gt;
@@ -699,9 +705,9 @@ $ dpdk-devbind.py --bind=vfio-pci 0001:01:00.1
699 &lt;qemu:arg value='vfio-pci,host=0001:01:00.1'/&gt; 705 &lt;qemu:arg value='vfio-pci,host=0001:01:00.1'/&gt;
700 &lt;/qemu:commandline&gt; 706 &lt;/qemu:commandline&gt;
701&lt;/domain&gt;</programlisting> 707&lt;/domain&gt;</programlisting>
702 </section> 708 </example>
703 709
704 <section id="guest-config-bridge-interface"> 710 <example>
705 <title>Guest configuration with bridge interface</title> 711 <title>Guest configuration with bridge interface</title>
706 712
707 <programlisting>&lt;domain type='kvm'&gt; 713 <programlisting>&lt;domain type='kvm'&gt;
@@ -762,7 +768,7 @@ $ dpdk-devbind.py --bind=vfio-pci 0001:01:00.1
762 &lt;/console&gt; 768 &lt;/console&gt;
763 &lt;/devices&gt; 769 &lt;/devices&gt;
764&lt;/domain&gt;</programlisting> 770&lt;/domain&gt;</programlisting>
765 </section> 771 </example>
766 </section> 772 </section>
767 </section> 773 </section>
768</chapter> \ No newline at end of file 774</chapter> \ No newline at end of file