X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=docs%2FBUILD.dpdkstat.md;h=457fc0fa30bcafb9012db9c62767591cd58d88c0;hp=46eaae9254f8fb90c87f6a7fcf1863b2b0e514e5;hb=1159cb5d383c55a80a0db100b8f7aadcf44740a5;hpb=ad0a12907bf80b4f0deec217b8379dd08c490dbc diff --git a/docs/BUILD.dpdkstat.md b/docs/BUILD.dpdkstat.md index 46eaae92..457fc0fa 100644 --- a/docs/BUILD.dpdkstat.md +++ b/docs/BUILD.dpdkstat.md @@ -158,34 +158,6 @@ instruction set manually: * Run `ldconfig` to update the shared library cache. -### Static library - -To build static DPDK library for use with collectd: - - * To configure DPDK to build the combined static library `libdpdk.a` ensure - that `CONFIG_RTE_BUILD_SHARED_LIB` is set to “n” in `config/common_base` in - your DPDK as follows: - - # - # Compile to share library - # - CONFIG_RTE_BUILD_SHARED_LIB=n - - * Prepare the configuration for the appropriate target as specified at: - http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html. - - For example: - - make config T=x86_64-native-linuxapp-gcc - - * Build the target using `-fPIC`: - - make EXTRA_CFLAGS=-fPIC -j - - * Install DPDK to `/usr`: - - sudo make install prefix=/usr - ## Build collectd with DPDK **Note:** DPDK 16.04 is the minimum version and currently supported version of @@ -209,33 +181,32 @@ implications. See also: http://dpdk.org/doc/guides/prog_guide/multi_proc_support.html * Generate the build script as specified below. (i.e. run `build.sh`). - * Configure collectd with the DPDK shared library: - - ./configure --with-libdpdk=/usr + * Configure collectd with the DPDK shared library. If DPDK is installed in + custom installation path you can specify headers include path using + LIBDPDK_CPPFLAGS variable and libraries path with LIBDPDK_LDFLAGS. + Example: -### Build with the static DPDK library + ./configure -To configure collectd with the DPDK static library: + or for custom DPKD installation: - * Run *configure* with the following CFLAGS: + ./configure LIBDPDK_CPPFLAGS="-I/home/joe/include/dpdk" LIBDPDK_LDFLAGS="-L/home/joe/usr/lib" - ./configure --with-libdpdk=/usr CFLAGS=" -lpthread -Wl,--whole-archive -Wl,-ldpdk -Wl,-lm -Wl,-lrt -Wl,-lpcap -Wl,-ldl -Wl,--no-whole-archive" - - * Make sure that dpdk and dpdkstat are enabled in the *configure* output. + * Make sure that libdpdk and dpdkstat are enabled in the *configure* output. Expected output: Libraries: ... libdpdk . . . . . . . . yes - + Modules: ... dpdkstat . . . . . . .yes * Build collectd: - make -j && make -j install. + make -j && make -j install **Note:** As mentioned above, if you are building on Ubuntu 14.04 with GCC <= 4.8.X, you need to use: @@ -247,6 +218,12 @@ To configure collectd with the DPDK static library: * The same PCI device configuration should be passed to the primary process as the secondary process uses the same port indexes as the primary. * A blacklist / whitelist of NICs isn't supported yet. + * Plugin initialization time depends on read interval. It requires 5 read + cycles to set up internal buffers and states. During that time no statistics + are submitted. + * If number of DPDK ports is increased while plugin is running, internal + buffers are resized. That requires 3 read cycles and no port statistics + are submitted in that time. ## License