Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/63253/?format=api
http://patches.dpdk.org/api/patches/63253/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20191122160359.11625-8-bruce.richardson@intel.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20191122160359.11625-8-bruce.richardson@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20191122160359.11625-8-bruce.richardson@intel.com", "date": "2019-11-22T16:03:58", "name": "[7/8] doc: update documentation on build and running FreeBSD apps", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "9dfb4598f6bf5db46d81a865d36b488c2a105bb6", "submitter": { "id": 20, "url": "http://patches.dpdk.org/api/people/20/?format=api", "name": "Bruce Richardson", "email": "bruce.richardson@intel.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20191122160359.11625-8-bruce.richardson@intel.com/mbox/", "series": [ { "id": 7590, "url": "http://patches.dpdk.org/api/series/7590/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=7590", "date": "2019-11-22T16:03:53", "name": "GSG Documentation updates", "version": 1, "mbox": "http://patches.dpdk.org/series/7590/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/63253/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/63253/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id EB436A04C3;\n\tFri, 22 Nov 2019 17:05:25 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 89E301BE9F;\n\tFri, 22 Nov 2019 17:04:30 +0100 (CET)", "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n by dpdk.org (Postfix) with ESMTP id ED9692BB1\n for <dev@dpdk.org>; Fri, 22 Nov 2019 17:04:18 +0100 (CET)", "from fmsmga006.fm.intel.com ([10.253.24.20])\n by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n 22 Nov 2019 08:04:18 -0800", "from silpixa00399126.ir.intel.com (HELO\n silpixa00399126.ger.corp.intel.com) ([10.237.223.2])\n by fmsmga006.fm.intel.com with ESMTP; 22 Nov 2019 08:04:17 -0800" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.69,230,1571727600\"; d=\"scan'208\";a=\"408931125\"", "From": "Bruce Richardson <bruce.richardson@intel.com>", "To": "john.mcnamara@intel.com", "Cc": "dev@dpdk.org,\n\tBruce Richardson <bruce.richardson@intel.com>", "Date": "Fri, 22 Nov 2019 16:03:58 +0000", "Message-Id": "<20191122160359.11625-8-bruce.richardson@intel.com>", "X-Mailer": "git-send-email 2.21.0", "In-Reply-To": "<20191122160359.11625-1-bruce.richardson@intel.com>", "References": "<20191122160359.11625-1-bruce.richardson@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[dpdk-dev] [PATCH 7/8] doc: update documentation on build and\n\trunning FreeBSD apps", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Update the documentation on building and running apps on FreeBSD, taking\naccount of having used meson for building. We can also update the section\non the command-line parameters, rather than claiming to be a complete list\nof parameters, it should describe how to get the complete list and only\ncover a few important ones.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n doc/guides/freebsd_gsg/build_sample_apps.rst | 118 +++++--------------\n 1 file changed, 27 insertions(+), 91 deletions(-)", "diff": "diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst\nindex 0c1b9cb79..2a68f5fc3 100644\n--- a/doc/guides/freebsd_gsg/build_sample_apps.rst\n+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst\n@@ -12,68 +12,37 @@ environment. It also provides a pointer to where sample applications are stored.\n Compiling a Sample Application\n ------------------------------\n \n-Once a DPDK target environment directory has been created (such as\n-``x86_64-native-freebsd-clang``), it contains all libraries and header files required\n-to build an application.\n+The DPDK example applications make use of the pkg-config file installed on\n+the system when DPDK is installed, and so can be built using GNU make.\n \n-When compiling an application in the FreeBSD environment on the DPDK,\n-the following variables must be exported:\n-\n-* ``RTE_SDK`` - Points to the DPDK installation directory.\n-\n-* ``RTE_TARGET`` - Points to the DPDK target environment directory.\n- For FreeBSD, this is the ``x86_64-native-freebsd-clang`` or\n- ``x86_64-native-freebsd-gcc`` directory.\n-\n-The following is an example of creating the ``helloworld`` application, which runs\n-in the DPDK FreeBSD environment. While the example demonstrates compiling\n-using gcc version 4.9, compiling with clang will be similar, except that the ``CC=``\n-parameter can probably be omitted. The ``helloworld`` example may be found in the\n-``${RTE_SDK}/examples`` directory.\n-\n-The directory contains the ``main.c`` file. This file, when combined with the\n-libraries in the DPDK target environment, calls the various functions to\n-initialize the DPDK environment, then launches an entry point (dispatch\n-application) for each core to be utilized. By default, the binary is generated\n-in the build directory.\n-\n-.. code-block:: console\n-\n- setenv RTE_SDK /home/user/DPDK\n- cd $(RTE_SDK)\n- cd examples/helloworld/\n- setenv RTE_SDK $HOME/DPDK\n- setenv RTE_TARGET x86_64-native-freebsd-gcc\n-\n- gmake CC=gcc49\n- CC main.o\n- LD helloworld\n- INSTALL-APP helloworld\n- INSTALL-MAP helloworld.map\n+.. note::\n \n- ls build/app\n- helloworld helloworld.map\n+ BSD make cannot be used to compile the DPDK example applications. GNU\n+ make can be installed using `pkg install gmake` if not already installed\n+ on the FreeBSD system.\n \n-.. note::\n+The following shows how to compile the helloworld example app, following\n+the installation of DPDK using `ninja install` as described previously::\n \n- In the above example, ``helloworld`` was in the directory structure of the\n- DPDK. However, it could have been located outside the directory\n- structure to keep the DPDK structure intact. In the following case,\n- the ``helloworld`` application is copied to a new directory as a new starting\n- point.\n+ $ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig\n \n-.. code-block:: console\n+ $ cd examples/helloworld/\n \n- setenv RTE_SDK /home/user/DPDK\n- cp -r $(RTE_SDK)/examples/helloworld my_rte_app\n- cd my_rte_app/\n- setenv RTE_TARGET x86_64-native-freebsd-gcc\n+ $ gmake\n+ cc -O3 -I/usr/local/include -include rte_config.h -march=native\n+ -D__BSD_VISIBLE main.c -o build/helloworld-shared\n+ -L/usr/local/lib -lrte_telemetry -lrte_bpf -lrte_flow_classify\n+ -lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec\n+ -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rib\n+ -lrte_rcu -lrte_rawdev -lrte_pdump -lrte_member -lrte_lpm\n+ -lrte_latencystats -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro\n+ -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev\n+ -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev\n+ -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline\n+ -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf\n+ -lrte_mempool -lrte_ring -lrte_eal -lrte_kvargs\n+ ln -sf helloworld-shared build/helloworld\n \n- gmake CC=gcc49\n- CC main.o\n- LD helloworld\n- INSTALL-APP helloworld\n- INSTALL-MAP helloworld.map\n \n .. _running_sample_app:\n \n@@ -88,29 +57,15 @@ Running a Sample Application\n Abstraction Layer (EAL) library, which provides some options that are generic\n to every DPDK application.\n \n-The following is the list of options that can be given to the EAL:\n-\n-.. code-block:: console\n-\n- ./rte-app -l CORELIST [-n NUM] [-b <domain:bus:devid.func>] \\\n- [-r NUM] [-v] [--proc-type <primary|secondary|auto>]\n-\n-.. note::\n-\n- EAL has a common interface between all operating systems and is based on the\n- Linux notation for PCI devices. For example, a FreeBSD device selector of\n- ``pci0:2:0:1`` is referred to as ``02:00.1`` in EAL.\n-\n-The EAL options for FreeBSD are as follows:\n+A large number of options can be given to the EAL when running an\n+application. A full list of options can be got by passing `--help` to a\n+DPDK application. Some of the EAL options for FreeBSD are as follows:\n \n * ``-c COREMASK`` or ``-l CORELIST``:\n A hexadecimal bit mask of the cores to run on. Note that core numbering\n can change between platforms and should be determined beforehand. The corelist\n is a list of cores to use instead of a core mask.\n \n-* ``-n NUM``:\n- Number of memory channels per processor socket.\n-\n * ``-b <domain:bus:devid.func>``:\n Blacklisting of ports; prevent EAL from using specified PCI device\n (multiple ``-b`` options are allowed).\n@@ -119,15 +74,9 @@ The EAL options for FreeBSD are as follows:\n Use the specified Ethernet device(s) only. Use comma-separate\n ``[domain:]bus:devid.func`` values. Cannot be used with ``-b`` option.\n \n-* ``-r NUM``:\n- Number of memory ranks.\n-\n * ``-v``:\n Display version information on startup.\n \n-* ``--proc-type``:\n- The type of process instance.\n-\n * ``-m MB``:\n Memory to allocate from hugepages, regardless of processor socket.\n \n@@ -147,19 +96,6 @@ Other options, specific to Linux and are not supported under FreeBSD are as foll\n \n The ``-c`` or ``-l`` option is mandatory; the others are optional.\n \n-Copy the DPDK application binary to your target, then run the application\n-as follows (assuming the platform has four memory channels, and that cores 0-3\n-are present and are to be used for running the application)::\n-\n- ./helloworld -l 0-3 -n 4\n-\n-.. note::\n-\n- The ``--proc-type`` and ``--file-prefix`` EAL options are used for running multiple\n- DPDK processes. See the \"Multi-process Sample Application\" chapter\n- in the *DPDK Sample Applications User Guide and the DPDK\n- Programmers Guide* for more details.\n-\n .. _running_non_root:\n \n Running DPDK Applications Without Root Privileges\n", "prefixes": [ "7/8" ] }{ "id": 63253, "url": "