diff options
-rw-r--r-- | docs/release/userguide/feature.userguide.rst | 10 | ||||
-rw-r--r-- | src/collectd/collectd_sample_configs/dpdkevents.conf | 35 | ||||
-rw-r--r-- | src/dpdk/Makefile | 3 |
3 files changed, 43 insertions, 5 deletions
diff --git a/docs/release/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst index e814895d..53c19372 100644 --- a/docs/release/userguide/feature.userguide.rst +++ b/docs/release/userguide/feature.userguide.rst @@ -46,7 +46,7 @@ Barometer has enabled the following collectd plugins: * *mcelog plugin*: A read plugin that uses mcelog client protocol to check for memory Machine Check Exceptions and sends the stats for reported exceptions -* *RDT plugin*: A read plugin that provides the last level cache utilitzation and +* *RDT plugin*: A read plugin that provides the last level cache utilization and memory bandwidth utilization All the plugins above are available on the collectd master, except for the @@ -86,7 +86,7 @@ collectd capabilities and usage them as shown in the examples below. The collectd plugins in OPNFV are configured with reasonable defaults, but can - be overriden. + be overridden. Building all Barometer upstreamed plugins from scratch ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -190,7 +190,7 @@ https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod you will need to specify the specific paths to the header files and libraries using LIBDPDK_CPPFLAGS and LIBDPDK_LDFLAGS. You will also need to add the DPDK library symbols to the shared library path using ldconfig. Note that this - update to the shared library path is not persistant (i.e. it will not survive a + update to the shared library path is not persistent (i.e. it will not survive a reboot). .. note:: Plugin initialization time depends on read interval. It requires @@ -214,7 +214,7 @@ Building and installing collectd: .. code:: bash - $ git clone https://github.com/maryamtahhan/collectd.git + $ git clone https://github.com/collectd/collectd.git $ cd collectd $ ./build.sh $ ./configure --enable-syslog --enable-logfile --enable-debug @@ -259,7 +259,7 @@ https://github.com/collectd/collectd/blob/master/src/collectd.conf.pod you will need to specify the specific paths to the header files and libraries using LIBDPDK_CPPFLAGS and LIBDPDK_LDFLAGS. You will also need to add the DPDK library symbols to the shared library path using ldconfig. Note that this - update to the shared library path is not persistant (i.e. it will not survive a + update to the shared library path is not persistent (i.e. it will not survive a reboot). .. code:: bash diff --git a/src/collectd/collectd_sample_configs/dpdkevents.conf b/src/collectd/collectd_sample_configs/dpdkevents.conf new file mode 100644 index 00000000..fdb6f3db --- /dev/null +++ b/src/collectd/collectd_sample_configs/dpdkevents.conf @@ -0,0 +1,35 @@ +# Copyright 2017 OPNFV +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +<LoadPlugin dpdkevents> + Interval 1 +</LoadPlugin> + +<Plugin "dpdkevents"> + <EAL> +# Coremask "0x1" +# MemoryChannels "4" +# FilePrefix "rte" + </EAL> + <Event "link_status"> + SendEventsOnUpdate false + EnabledPortMask 0xffff + SendNotification true + </Event> + <Event "keep_alive"> + SendEventsOnUpdate false + LCoreMask "0xf" + KeepAliveShmName "/dpdk_keepalive_shm_name" + SendNotification true + </Event> +</Plugin> diff --git a/src/dpdk/Makefile b/src/dpdk/Makefile index b8524322..a23a6290 100644 --- a/src/dpdk/Makefile +++ b/src/dpdk/Makefile @@ -44,6 +44,7 @@ INSTALL_TARGET = force_make force_make: $(TAG_DONE_FLAG) $(AT)cd $(WORK_DIR) && git pull $(DPDK_URL) $(DPDK_TAG) $(AT)sed -i -e 's/CONFIG_RTE_BUILD_SHARED_LIB=./CONFIG_RTE_BUILD_SHARED_LIB=y/g' $(CONFIG_FILE_LINUXAPP) + $(AT)sed -i -e 's/CONFIG_RTE_EAL_PMD_PATH=.*/CONFIG_RTE_EAL_PMD_PATH=\"\/usr\/lib\/dpdk-pmd\/\"/g' $(CONFIG_FILE_LINUXAPP) $(AT)sed -i -e 's/CONFIG_RTE_LIBRTE_KNI=./CONFIG_RTE_LIBRTE_KNI=n/g' $(CONFIG_FILE_LINUXAPP) $(AT)cd $(WORK_DIR); make config T=$(DPDK_TARGET) -j; make -j $(AT)cd `dirname $(CONFIG_FILE_LINUXAPP)` && git checkout `basename $(CONFIG_FILE_LINUXAPP)` && cd - @@ -51,6 +52,8 @@ force_make: $(TAG_DONE_FLAG) install: $(INSTALL_TARGET) $(AT)cd $(WORK_DIR); sudo make -j install prefix=/usr; cd - + $(AT)sudo mkdir -p /usr/lib/dpdk-pmd + $(AT)find /usr/lib -type f -name 'librte_pmd*' | while read path; do sudo ln -fs $$path /usr/lib/dpdk-pmd/$$(echo $$path | grep -o 'librte_.*so'); done $(AT)sudo cp -a $(WORK_DIR)/build/kmod $(INSTALL_DIR)/lib/modules/$(KERNEL_VERSION) @echo "install done" |