From d68e80f3721a211fb0e316e9b16e1871436bc9e8 Mon Sep 17 00:00:00 2001 From: Adrian Calianu Date: Wed, 20 Dec 2017 12:47:41 +0100 Subject: book-enea-nfv-access-guide: update it according to review comments Signed-off-by: Adrian Calianu --- doc/book-enea-nfv-access-guide/doc/benchmarks.xml | 74 ++++++++++------------ .../doc/getting_started.xml | 31 +++++---- .../doc/hypervisor_virtualization.xml | 28 ++++---- 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 @@ - + @@ -58,7 +58,7 @@ Network - 3x10G ports + 2x10G ports @@ -89,8 +89,8 @@
Forward traffic in Docker - Benchmarking traffic forwarding using testpmd in a Docker - container. + Benchmarking traffic forwarding using the testpmd application in + a Docker container. Pktgen is used to generate UDP traffic that will reach testpmd, running in a Docker image. It will then be forwarded back to source on @@ -118,11 +118,10 @@ Start by following the steps below: - Boot the board using the following U-Boot commands: - setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ + Boot the NFV Access Linux using the following kernel + parameters in U-Boot: > setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \ rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ -nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' -run boot_board +nosoftlockup audit=0' Configure hugepages and set up the DPDK:echo 4 > /proc/sys/vm/nr_hugepages modprobe vfio-pci @@ -140,12 +139,12 @@ dpdk-devbind -b vfio-pci 0001:01:00.1Run Start by following the steps below: - Boot the board using the following U-Boot commands: + Boot the NFV Access Linux using the following kernel + parameters in U-Boot: - setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ + > setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \ rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ -nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' -run boot_board +nosoftlockup audit=0' It is expected that a NFV Access guest image is present on the target. @@ -439,12 +438,12 @@ startStart by following the steps below: - Boot the board using the following U-Boot commands: + Boot the NFV Access Linux using the following kernel + parameters in U-Boot: - setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ + setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \ rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ -nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' -run boot_board +nosoftlockup audit=0'Configure hugepages and set up the DPDK:echo 4 > /proc/sys/vm/nr_hugepages modprobe vfio-pci @@ -461,13 +460,12 @@ dpdk-devbind -b vfio-pci 0001:01:00.1Run Start by following the steps below: - SSD boot using the following grub.cfg - entry: + Boot the NFV Access Linux using the following kernel + parameters in U-Boot: - setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ + setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \ rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ -nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' -run boot_board +nosoftlockup audit=0' Set up the DPDK and configure the OVS bridge:# Clean up old OVS old config killall ovsdb-server ovs-vswitchd @@ -687,11 +685,10 @@ ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Import a Start with the steps below: - Boot the board using the following U-Boot commands: - setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ + Boot the NFV Access Linux using the following kernel + parameters in U-Boot: setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \ rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ -nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' -run boot_board +nosoftlockup audit=0' Configure hugepages and set up the DPDK:echo 4 > /proc/sys/vm/nr_hugepages modprobe vfio-pci @@ -708,11 +705,11 @@ dpdk-devbind -b vfio-pci 0001:01:00.1Run Start by following the steps below: - Boot the board using the following U-Boot commands: - setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ + Boot the NFV Access Linux using the following kernel + parameters in U-Boot: setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \ rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ -nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' -run boot_boardKill unnecessary services: killall ovsdb-server ovs-vswitchd +nosoftlockup audit=0'Kill unnecessary services: + killall ovsdb-server ovs-vswitchd rm -rf /etc/openvswitch/* rm -rf /var/run/openvswitch/* mkdir -p /var/run/openvswitchConfigure hugepages, set up the @@ -1089,11 +1086,10 @@ show port stats 0
Start by doing the following: - Boot the board using the following U-Boot commands: - setenv boot_board 'setenv userbootparams nohz_full=1-23 isolcpus=1-23 \ + Boot the NFV Access Linux using the following kernel + parameters in U-Boot: setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \ rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ -nosoftlockup audit=0 nmi_watchdog=0; setenv satapart 2; run bootsata' -run boot_boardConfigure hugepages and set up the +nosoftlockup audit=0'Configure hugepages and set up the DPDK:echo 4 > /proc/sys/vm/nr_hugepages modprobe vfio-pci ifconfig enP1p1s0f1 down @@ -1109,14 +1105,10 @@ dpdk-devbind -b vfio-pci 0001:01:00.1Run Start by doing the following: - SSD boot using the following grub.cfg - entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 \ -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable \ -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 \ -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt \ -intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB \ -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1Kill - Services:killall ovsdb-server ovs-vswitchd + Boot the NFV Access Linux using the following kernel + parameters in U-Boot: setenv bootargs 'nohz_full=1-23 isolcpus=1-23 \ +rcu-nocbs=1-23 rcu_nocb_poll clocksource=tsc tsc=reliable nohpet \ +nosoftlockup audit=0'Kill Services:killall ovsdb-server ovs-vswitchd rm -rf /etc/openvswitch/* mkdir -p /var/run/openvswitchConfigure hugepages, set up the DPDK:echo 20 > /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 @@ - + @@ -124,9 +124,10 @@ If the target is not connected on a specific network, Enea - provides DHCP and TFTP servers. Please see Docker Installer section, on how to - install these two servers on a development host. + provides DHCP and TFTP servers that can be used to setup a local + network. Please see Docker + Installer section, on how to install these two servers on a + development host. > setenv ethact <vnic0/vnic1> > setenv gatewayip <GatewayIP> @@ -199,23 +200,23 @@ href="../../s_docbuild/olinkdb/pardoc-common.xml" xmlns:xi="http://www.w3.org/2001/XInclude" xpointer="element(book_enea_nfv_access_release_info/1)" /> included - with this release. + with this release. - All tools are leveraged by a Docker image, which must be built - and run on a development host. DHCP and TFTP servers will be installed - and configured in order to facilitate a RAMDISK boot process on the - target. + All required tools are leveraged by the Docker image, which must + be built and run on a development host. DHCP and TFTP servers will be + installed and configured in order to facilitate a RAMDISK boot process + on the target.The example procedure below details how to build and run a provided Docker image. In this case, the host is directly connected to a target on eth1. For more details about the Docker installer, please see README file from the Docker - installer folder. + installer folder.Prior to using this example setup, on the target side, U-Boot needs to be configured with these values, before booting Linux. Note that the first eth port (vnic0) is connected to a - network: + network in this example:> setenv ethact vnic0 > setenv gatewayip 192.168.1.1 @@ -230,15 +231,13 @@ > mkdir -p ./images > cp <NFVAccessReleasePath>/Image $(pwd)/images/Image > cp <NFVAccessReleasePath>/enea-nfv-access-cn8304.ext4.gz.u-boot \ - $(pwd)/images/enea-nfv-access.ext4.gz.u-boot + $(pwd)/images/enea-nfv-access-cn8304.ext4.gz.u-boot > docker build . -t el_installer > docker run -it --net=host --privileged \ -v $(pwd)/dhcpd.conf:/etc/dhcp/dhcpd.conf \ -v $(pwd)/images/Image:/var/lib/tftpboot/Image \ --v $(pwd)/images/enea-nfv-access.ext4.gz.u-boot:/var/lib/tftpboot/ \ -enea-nfv-access.ext4.gz.u-boot - -el_installer eth1 +-v $(pwd)/images/eenea-nfv-access-cn8304.ext4.gz.u-boot:/var/lib/tftpboot/ \ +enea-nfv-access-cn8304.ext4.gz.u-boot el_installer eth1 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 @@ - + @@ -470,11 +470,12 @@ $ testpmd -c 0x7 -- -i --rxq=2 --txq=2 --nb-cores=2 ... vhost-user interface See the Open vSwitch chapter on how to create a - vhost-user interface using Open vSwitch. - Currently there is no Open vSwitch support for networks that are - managed by libvirt (e.g. NAT). Until further + vhost-user interface using Open vSwitch(OVS). + Currently there is no Open vSwitch(OVS) support for networks that + are managed by libvirt (e.g. NAT). Until further notice, only bridged networks are supported (those where the user - has to manually create the bridge). + has to manually create the bridge). In order to pass Open vSwitch + configuration the <qemu:commandline> is used. <qemu:commandline> <qemu:arg value='-chardev'/> @@ -578,7 +579,12 @@ $ dpdk-devbind.py --bind=vfio-pci 0001:01:00.1
Libvirt guest configuration examples -
+ + Currently used Libvirt version has some limitations for aarch64 + which are bypassed using the qemu:commandline option. + + + Guest configuration with vhost-user interface <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> @@ -640,9 +646,9 @@ $ dpdk-devbind.py --bind=vfio-pci 0001:01:00.1 bus=pcie.0,addr=0x2'/> </qemu:commandline> </domain> -
+ -
+ Guest configuration with PCI passthrough <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> @@ -699,9 +705,9 @@ $ dpdk-devbind.py --bind=vfio-pci 0001:01:00.1 <qemu:arg value='vfio-pci,host=0001:01:00.1'/> </qemu:commandline> </domain> -
+ -
+ Guest configuration with bridge interface <domain type='kvm'> @@ -762,7 +768,7 @@ $ dpdk-devbind.py --bind=vfio-pci 0001:01:00.1 </console> </devices> </domain> -
+
\ No newline at end of file -- cgit v1.2.3-54-g00ecf