X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=docs%2FBUILD.dpdkstat.md;h=55ee06bcac431ce6cc51def4ccd4cf9f4bedfd75;hb=19a024b9e2711c6480abe0b7d61af70dbba2242f;hp=b502edd2d3b462a7bdfd53db090bf27d18fe2de9;hpb=7f8a8111b26ffaed85a4a48ba874614df3a07f1b;p=collectd.git diff --git a/docs/BUILD.dpdkstat.md b/docs/BUILD.dpdkstat.md index b502edd2..55ee06bc 100644 --- a/docs/BUILD.dpdkstat.md +++ b/docs/BUILD.dpdkstat.md @@ -1,7 +1,14 @@ # The dpdkstat plugin **Data Plane Development Kit** (DPDK) is a set of drivers and libraries for fast -packet processing. +packet processing. Please note that this plugin is a polling based plugin rather +than an events based plugin (using it will drive up core utilization on a system). + +**PLEASE DO NOT USE THIS PLUGIN FOR OVS-DPDK**. dpdkstat is really for DPDK +applications that have no other way of exposing stats. For OVS or OVS-with-DPDK the +Open vSwitch plugins available in collectd Version 5.8.0 should be used for +collecting stats and events. In addition the OVS plugin is events based rather +than polling based and will have a smaller footprint on the system. ## Summary @@ -51,8 +58,8 @@ instruction set manually: mount -t hugetlbfs nodev /mnt/huge echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages - * To configure the DPDK build for the combined shared library modify - `config/common_base` in your DPDK as follows + * To configure the DPDK build for the combined shared library and enable autoload + of pmd drivers modify `config/common_base` in your DPDK as follows # # Compile to share library @@ -60,6 +67,10 @@ instruction set manually: -CONFIG_RTE_BUILD_SHARED_LIB=n +CONFIG_RTE_BUILD_SHARED_LIB=y + # Default driver path (or "" to disable) + -CONFIG_RTE_EAL_PMD_PATH="" + +CONFIG_RTE_EAL_PMD_PATH="/usr/lib/dpdk-pmd/" + * Prepare the configuration for the appropriate target as specified at: http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html. @@ -75,6 +86,14 @@ instruction set manually: sudo make install prefix=/usr + * Create dpdk-pmd folder + + mkdir -p /usr/lib/dpdk-pmd + + * Create symlinks to pmd drivers + + find /usr/lib -type f -name 'librte_pmd*' | while read path ; do ln -s $path /usr/lib/dpdk-pmd/`echo $path | grep -o 'librte_.*so'` ; done + **Note 1:** You must run make install as the configuration of collectd with DPDK expects DPDK to be installed somewhere. @@ -84,6 +103,9 @@ instruction set manually: **Note 3:** If you are not root then use sudo to make install DPDK to the appropriate location. + **Note 4:** You **MUST** create symlink to a NIC driver lib. This way collectd + will be able to work with device bound to dpdk. + * Check that the DPDK library has been installed in `/usr/lib` or `/lib`: ls /usr/lib | grep dpdk