X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Ffreebsd_gsg%2Finstall_from_ports.rst;h=d6ce847f6f83c542dead808da931e76a8524c11d;hb=d07befdf293308c9b1f789b3230c6d59bf966dac;hp=c946c33c2544d76c1f3dce655c79711f152ca413;hpb=3e7b87dddbbf9c6bc27fcb7bbce41618853ad678;p=dpdk.git diff --git a/doc/guides/freebsd_gsg/install_from_ports.rst b/doc/guides/freebsd_gsg/install_from_ports.rst index c946c33c25..d6ce847f6f 100644 --- a/doc/guides/freebsd_gsg/install_from_ports.rst +++ b/doc/guides/freebsd_gsg/install_from_ports.rst @@ -1,117 +1,91 @@ -.. BSD LICENSE - Copyright(c) 2010-2014 Intel Corporation. All rights reserved. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2010-2014 Intel Corporation. .. _install_from_ports: -Installing Intel® DPDK from the Ports Collection -================================================ +Installing DPDK from the Ports Collection +========================================= -The easiest way to get up and running with the Intel® DPDK on FreeBSD is to +The easiest way to get up and running with the DPDK on FreeBSD is to install it from the ports collection. Details of getting and using the ports -collection are documented in the FreeBSD Handbook at: - - https://www.freebsd.org/doc/handbook/ports-using.html +collection are documented in the +`FreeBSD Handbook `_. .. note:: - Testing has been performed using FreeBSD* 10.0-RELEASE (x86_64) and requires the + Testing has been performed using FreeBSD 10.0-RELEASE (x86_64) and requires the installation of the kernel sources, which should be included during the - installation of FreeBSD*. + installation of FreeBSD. -Installing the Intel® DPDK FreeBSD Port ---------------------------------------- +Installing the DPDK FreeBSD Port +-------------------------------- -On a system with the ports collection installed in /usr/ports, the Intel® DPDK +On a system with the ports collection installed in ``/usr/ports``, the DPDK can be installed using the commands: .. code-block:: console - root@host:~ # cd /usr/ports/net/dpdk + cd /usr/ports/net/dpdk - root@host:~ # make install + make install -After the installation of the Intel® DPDK port, instructions will be printed on -how to install the kernel modules required to use the Intel® DPDK. A more +After the installation of the DPDK port, instructions will be printed on +how to install the kernel modules required to use the DPDK. A more complete version of these instructions can be found in the sections :ref:`loading_contigmem` and :ref:`loading_nic_uio`. Normally, lines like -those below would be added to the file "/boot/loader.conf". +those below would be added to the file ``/boot/loader.conf``. .. code-block:: console - # reserve 2 x 1G blocks of contiguous memory using contigmem driver + # Reserve 2 x 1G blocks of contiguous memory using contigmem driver: hw.contigmem.num_buffers=2 hw.contigmem.buffer_size=1073741824 contigmem_load="YES" - # identify NIC devices for Intel® DPDK apps to use and load nic_uio driver + + # Identify NIC devices for DPDK apps to use and load nic_uio driver: hw.nic_uio.bdfs="2:0:0,2:0:1" nic_uio_load="YES" Compiling and Running the Example Applications ---------------------------------------------- -When the Intel® DPDK has been installed from the ports collection it installs -its example applications in "/usr/local/share/dpdk/examples" - also accessible via -symlink as "/usr/local/share/examples/dpdk". These examples can be compiled and +When the DPDK has been installed from the ports collection it installs +its example applications in ``/usr/local/share/dpdk/examples`` - also accessible via +symlink as ``/usr/local/share/examples/dpdk``. These examples can be compiled and run as described in :ref:`compiling_sample_apps`. In this case, the required environmental variables should be set as below: -* RTE_SDK=/usr/local/share/dpdk +* ``RTE_SDK=/usr/local/share/dpdk`` -* RTE_TARGET=x86_64-native-bsdapp-clang +* ``RTE_TARGET=x86_64-native-bsdapp-clang`` .. note:: - To install a copy of the Intel® DPDK compiled using gcc, please download the - official Intel® DPDK package from http://dpdk.org/ and install manually using - the instructions given in the next chapter, :ref:`building_from_source` + To install a copy of the DPDK compiled using gcc, please download the + official DPDK package from http://dpdk.org/ and install manually using + the instructions given in the next chapter, :ref:`building_from_source` An example application can therefore be copied to a user's home directory and compiled and run as below: .. code-block:: console - user@host:~$ export RTE_SDK=/usr/local/share/dpdk + export RTE_SDK=/usr/local/share/dpdk - user@host:~$ export RTE_TARGET=x86_64-native-bsdapp-clang + export RTE_TARGET=x86_64-native-bsdapp-clang - user@host:~$ cp -r /usr/local/share/dpdk/examples/helloworld . + cp -r /usr/local/share/dpdk/examples/helloworld . - user@host:~$ cd helloworld/ + cd helloworld/ - user@host:~/helloworld$ gmake + gmake CC main.o LD helloworld INSTALL-APP helloworld INSTALL-MAP helloworld.map - user@host:~/helloworld$ sudo ./build/helloworld -c F -n 2 + sudo ./build/helloworld -l 0-3 -n 2 + EAL: Contigmem driver has 2 buffers, each of size 1GB EAL: Sysctl reports 8 cpus EAL: Detected lcore 0 @@ -121,9 +95,10 @@ compiled and run as below: EAL: Support maximum 64 logical core(s) by configuration. EAL: Detected 4 lcore(s) EAL: Setting up physically contiguous memory... - EAL: Mapped memory segment 1 @ 0x802400000: physaddr:0x40000000, len 1073741824 - EAL: Mapped memory segment 2 @ 0x842400000: physaddr:0x100000000, len 1073741824 - EAL: WARNING: clock_gettime cannot use CLOCK_MONOTONIC_RAW and HPET is not available - clock timings may be less accurate. + EAL: Mapped memory segment 1 @ 0x802400000: len 1073741824 + EAL: Mapped memory segment 2 @ 0x842400000: len 1073741824 + EAL: WARNING: clock_gettime cannot use CLOCK_MONOTONIC_RAW and HPET + is not available - clock timings may be less accurate. EAL: TSC frequency is ~3569023 KHz EAL: PCI scan found 24 devices EAL: Master core 0 is ready (tid=0x802006400) @@ -153,10 +128,11 @@ compiled and run as below: .. note:: - To run an Intel® DPDK process as a non-root user, adjust the permissions on - the /dev/contigmem and /dev/uio device nodes as described in section - :ref:`running_non_root` + To run a DPDK process as a non-root user, adjust the permissions on + the ``/dev/contigmem`` and ``/dev/uio device`` nodes as described in section + :ref:`running_non_root` .. note:: - For an explanation of the command-line parameters that can be passed to an - Intel® DPDK application, see section :ref:`running_sample_app`. + + For an explanation of the command-line parameters that can be passed to an + DPDK application, see section :ref:`running_sample_app`.